comfy-tool 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/@types/components/global.d.ts +3 -0
  2. package/@types/components/index.d.ts +4 -3
  3. package/@types/components/layout/Column/Column.d.ts +9 -0
  4. package/@types/components/layout/Column/index.d.ts +14 -0
  5. package/@types/components/layout/{Expended.vue.d.ts → Expanded/Expanded.d.ts} +16 -13
  6. package/@types/components/layout/Expanded/index.d.ts +38 -0
  7. package/@types/components/layout/Row/Row.d.ts +9 -0
  8. package/@types/components/layout/Row/index.d.ts +14 -0
  9. package/@types/components/utils/layer/Component.d.ts +24 -14
  10. package/@types/components/utils/layer/index.d.ts +1 -1
  11. package/@types/components/utils/layer/layer.d.ts +13 -20
  12. package/@types/constants/library.d.ts +3 -0
  13. package/@types/demo/App.vue.d.ts +3 -0
  14. package/@types/demo/components/AppDialog.vue.d.ts +23 -0
  15. package/@types/demo/components/Child.vue.d.ts +5 -0
  16. package/@types/demo/components/Child2.vue.d.ts +5 -0
  17. package/@types/demo/components/Dialog.vue.d.ts +20 -0
  18. package/@types/demo/components/TestWorld.vue.d.ts +5 -0
  19. package/@types/demo/hooks/use-layer.d.ts +24 -0
  20. package/@types/demo/hooks/use-test-layer.d.ts +6 -0
  21. package/@types/globals.d.ts +13 -33
  22. package/@types/index.d.ts +2 -3
  23. package/@types/plugins/PopupCreator.d.ts +2 -1
  24. package/@types/shims-vue.d.ts +2 -1
  25. package/@types/utils/app/component.d.ts +1 -1
  26. package/@types/utils/app/installer.d.ts +8 -0
  27. package/@types/utils/tools.d.ts +11 -0
  28. package/@types/utils/ui/index.d.ts +3 -0
  29. package/@types/utils/util/array.d.ts +1 -0
  30. package/@types/utils/util/basic.d.ts +2 -6
  31. package/@types/utils/util/date.d.ts +1 -1
  32. package/@types/utils/util/{formate.d.ts → format.d.ts} +1 -0
  33. package/@types/utils/util/function.d.ts +1 -1
  34. package/@types/utils/util/index.d.ts +5 -10
  35. package/@types/utils/util/url.d.ts +21 -2
  36. package/README.md +124 -40
  37. package/dist/index.css +1 -1
  38. package/dist/index.min.js +1 -1
  39. package/es/index.mjs +397 -792
  40. package/es/utils.mjs +484 -0
  41. package/lib/index.js +1 -1
  42. package/lib/utils.js +1 -0
  43. package/package.json +29 -14
  44. package/web-types.json +1 -0
  45. package/@types/components/layout/Column.vue.d.ts +0 -26
  46. package/@types/components/layout/Row.vue.d.ts +0 -26
@@ -1,3 +1,17 @@
1
+ /**
2
+ * 安全地解码URI字符串
3
+ *
4
+ * @param uri - 需要解码的URI字符串
5
+ * @returns 解码后的URI字符串,如果解码失败则返回原始字符串
6
+ */
7
+ export declare function decodeURISafe(uri: string): string;
8
+ /**
9
+ * 安全地解码URI Component字符串
10
+ *
11
+ * @param uri - 需要解码的URI字符串
12
+ * @returns 解码后的URI字符串,如果解码失败则返回原始字符串
13
+ */
14
+ export declare function decodeURIComponentSafe(uri: string): string;
1
15
  /**
2
16
  * 获取唯一参数
3
17
  *
@@ -22,7 +36,13 @@ export declare function queryParse<T = any>(urlSearch: string, options?: {
22
36
  repeat?: boolean;
23
37
  allParam?: boolean;
24
38
  }): T | null;
25
- export declare function queryStringify(obj: any, options?: GetArguments<typeof _stringify>[1]): string;
39
+ /**
40
+ * 将对象转换为query字符串格式
41
+ * @param obj - 需要转换为查询字符串的对象
42
+ * @param options - 可选的字符串化选项配置
43
+ * @returns 返回格式化后的查询字符串
44
+ */
45
+ export declare function queryStringify(obj: any, options?: StringifyOptions): string;
26
46
  /**
27
47
  * 为Url拼接query参数(hash模式参数只会添加到#后面)
28
48
  *
@@ -40,5 +60,4 @@ export declare function parseUrl(url: string): readonly [string, string, string]
40
60
  interface StringifyOptions {
41
61
  sort?: (a: string, b: string) => number;
42
62
  }
43
- declare function _stringify(obj: Record<string, string | number | boolean | Array<string | number | boolean>>, options?: StringifyOptions): string;
44
63
  export {};
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/comfy-tool.svg)](https://www.npmjs.com/package/comfy-tool)
4
4
  [![License](https://img.shields.io/npm/l/comfy-tool.svg)](LICENSE)
5
5
 
6
- > 一个Vue项目的辅助工具库
6
+ > 一个Vue项目的辅助工具库及常用工具函数
7
7
 
8
8
  ## ✨ 特性
9
9
 
@@ -35,27 +35,35 @@ pnpm add comfy-tool
35
35
 
36
36
  ## 🚀 快速开始
37
37
  - 导入
38
- ```js
39
- // ESM
40
- import 'comfy-tool/dist/index.css';
41
- import { useComfyTool } from 'comfy-tool';
42
-
43
- // CommonJS
44
- require('comfy-tool/dist/index.css');
45
- const { useComfyTool } = require("comfy-tool");
46
- ```
38
+ - ESM
39
+ ```js
40
+ import 'comfy-tool/style.css';
41
+ import { useComfyTool } from 'comfy-tool';
42
+ ```
43
+ 只导入工具函数(无需安装直接使用)
44
+ ```js
45
+ import * as ComfyTool from 'comfy-tool/utils';
46
+ // 或 导入单个工具函数,如:对象合并merge
47
+ import { merge } from 'comfy-tool/utils';
48
+ ```
49
+ - CommonJS
50
+ ```js
51
+
52
+ require('comfy-tool/style.css');
53
+ const { useComfyTool } = require("comfy-tool");
54
+ ```
47
55
 
48
56
  - 安装组件
49
57
  - 方式一:
50
- ```js
51
- const app = createApp(App);
52
- useComfyTool(app)
53
- ```
58
+ ```js
59
+ const app = createApp(App);
60
+ useComfyTool(app)
61
+ ```
54
62
  - 方式二:
55
- ```js
56
- import ComfyTool from 'comfy-tool';
57
- createApp(App).use(ComfyTool);
58
- ```
63
+ ```js
64
+ import ComfyTool from 'comfy-tool';
65
+ createApp(App).use(ComfyTool);
66
+ ```
59
67
 
60
68
  ## ⚡ 功能预览
61
69
 
@@ -86,22 +94,22 @@ export const Util = {
86
94
  ```
87
95
 
88
96
  ## 扩展组件 (以Element-Plus为例)
89
- ### 1. `<expended>`
97
+ ### 1. `<expanded>`
90
98
  自动填充剩余空间,与 `flexbox` 的 `flex:1` 一样
91
99
  ```html
92
100
  <el-row style="width:240px">
93
101
  <el-col :span="6">60px</el-col>
94
102
  <el-col :span="8">80px</el-col>
95
- <expended>100px</expended>
103
+ <expanded>100px</expanded>
96
104
  </el-row>
97
105
  ```
98
106
  用 `flex="-"` 可以定义尺寸,不然设置了width、height都会无效。
99
107
  ```html
100
108
  <!-- 使用 flex="-" 可以定义尺寸 -->
101
109
  <el-row style="width:240px">
102
- <expended flex="-" :width="60">60px</expended>
103
- <expended>90px</expended>
104
- <expended>90px</expended>
110
+ <expanded flex="-" :width="60">60px</expanded>
111
+ <expanded>90px</expanded>
112
+ <expanded>90px</expanded>
105
113
  </el-row>
106
114
  ```
107
115
  ...待续
@@ -153,9 +161,9 @@ export const Util = {
153
161
  // 这是传给Dialog的属性
154
162
  baseContentProps:{
155
163
  title:'弹层标题',
156
- // Q:为什么要用vant的Dialog做示例呢?
164
+ // Q:为什么要用vant的Dialog做示例,而不用ElDialog呢?
157
165
  // A:Layer工具是操作弹层组件的开/关,是由show属性来控制的
158
- // 而element-plus的ElDialog控制开/关的属性确是modelValue,需要二次封装暴露出一个show属性才能正常使用
166
+ // 而element-plus的ElDialog控制开/关的属性却是modelValue,需要二次封装暴露出一个show属性才能正常使用
159
167
  // 个人习惯将控制组件显示/隐藏都用show属性,对vant的API设计更加青睐
160
168
  show:true
161
169
  // element-plus的ElDialog控制开/关的属性是modelValue
@@ -177,15 +185,58 @@ export const Util = {
177
185
  })
178
186
  }
179
187
  ```
188
+ <div style="color:#39f">封装示例</div>
189
+
190
+ ```ts
191
+ // appLayer.ts
192
+ import { Util } from "@/utils";
193
+ import { ElDialog } from "element-plus";
194
+ import AppDialog from "@/components/public/common/AppDialog.vue";
195
+ import { Layer } from "comfy-tool";
196
+ import type { LayerComponent, LayerComponentProps, LayerInstance as _LayerInstance, LayerOptions } from "comfy-tool";
197
+ import type { DialogProps } from "element-plus";
198
+ export type LayerInstance<T, C extends LayerComponent> = _LayerInstance<T, C, typeof ElDialog>;
199
+ function _Layer<T, C extends LayerComponent=any>(options:{
200
+ content:C,
201
+ contentProps:LayerComponentProps<C>
202
+ }&RequiredOf<LayerOptions<T, C, typeof AppDialog>, 'content'>&Partial<DialogProps>){
203
+ return Layer<T, C, typeof AppDialog>({
204
+ ...options,
205
+ baseContent: AppDialog,
206
+ baseContentProps: {
207
+ ...Util.pickEx(options, ['content', 'contentProps', 'baseContent', 'baseContentProps']),
208
+ show: true,
209
+ ...options.baseContentProps,
210
+ }
211
+ })
212
+ }
213
+ _Layer.create = function <T, C extends LayerComponent=any>(options:Partial<{
214
+ content:C,
215
+ contentProps:LayerComponentProps<C>
216
+ }&LayerOptions<T, C, typeof AppDialog>&DialogProps>){
217
+ return Layer.create<T, C, typeof AppDialog>({
218
+ ...options,
219
+ baseContent: AppDialog,
220
+ baseContentProps: {
221
+ ...Util.pickEx(options, ['content', 'contentProps', 'baseContent', 'baseContentProps']),
222
+ show: true,
223
+ ...options.baseContentProps,
224
+ }
225
+ } as any)
226
+ }
227
+ _Layer.close = Layer.close
228
+ export const AppLayer = _Layer;
229
+ ```
230
+
180
231
  在业务中你需要对函数进行封装,可以达到以下使用效果
181
232
  ```ts
182
233
  // 假设已经封装好了
183
- import myLayer from '@/utils/myLayer';
234
+ import AppLayer from '@/utils/appLayer';
184
235
  import HelloWorld from '@/components/HelloWorld.vue'
185
236
 
186
237
  // 常用示例
187
238
  // 示例一
188
- myLayer({
239
+ AppLayer<string>({
189
240
  content:HelloWorld,
190
241
  contentProps:{
191
242
  taskId:'123'
@@ -198,7 +249,7 @@ export const Util = {
198
249
 
199
250
  // 示例二
200
251
  // 先创建实例
201
- const $layer1 = myLayer.create({
252
+ const $layer1 = AppLayer.create<string>({
202
253
  content:HelloWorld,
203
254
  onConfirm(res, close){
204
255
  console.log(res); // 这是HelloWorld组件中回传的数据
@@ -216,7 +267,7 @@ export const Util = {
216
267
  回调的形式与promise的形式的区别。(只能使用一种回调,都写的话只在回调生效)
217
268
  ```ts
218
269
  // 较完整示例
219
- myLayer({
270
+ AppLayer<string>({
220
271
  // 业务组件
221
272
  content:HelloWorld,
222
273
  // 传给HelloWorld的属性
@@ -224,7 +275,7 @@ export const Util = {
224
275
  content:'Hello World'
225
276
  },
226
277
  // 回调的形式可以控制弹层关闭,默认也会自动关闭,return true 则不会自动关闭
227
- onConfirm(res, close){
278
+ onConfirm(res, close){ // res:string
228
279
  console.log(res); // 这是HelloWorld组件中回传的数据
229
280
  setTimeout(()=>{
230
281
  close();// 手动关闭弹层
@@ -240,6 +291,47 @@ export const Util = {
240
291
  console.log(action);
241
292
  })
242
293
  ```
294
+
295
+ - 继续封装成Hooks
296
+ ```ts
297
+ // use-hello-world-Layer.ts
298
+ let $layer:LayerInstance<string, typeof HelloWorld, typeof ElDialog>;
299
+ // 单独实例
300
+ export function useHelloWorldLayer(){
301
+ function open(props: {title:string}={title:'测试'}){
302
+ if (!$layer) {
303
+ $layer = AppLayer.create<string>({
304
+ content: HelloWorld
305
+ })
306
+ }
307
+
308
+ return new Promise<string>((resolve, reject) => {
309
+ $layer.open({
310
+ contentProps: props,
311
+ onConfirm(data){ // type:string
312
+ console.log('confirm:',data)
313
+ resolve()
314
+ },
315
+ onClose(action){
316
+ console.log('close:',action)
317
+ reject()
318
+ }
319
+ })
320
+ }).then(res => {
321
+ console.log('res:',res)
322
+ })
323
+ }
324
+ function close(){
325
+ $layer?.close()
326
+ }
327
+ return { open, close }
328
+ }
329
+ ```
330
+ 使用
331
+ ```ts
332
+ const HelloWorldLayer = useHelloWorldLayer();
333
+ HelloWorldLayer.open({title:'Hello World'});
334
+ ```
243
335
  ...
244
336
  ## 扩展指令
245
337
  ...
@@ -284,13 +376,5 @@ export const Util = {
284
376
  |...|||
285
377
  ### 2.内外边距
286
378
  优先级遵循 `u-m-l/r/t/b-*` > `u-m-x/y-*` > `u-m-*`
287
- ### 3.文字字体
288
- ...
289
- ### 4.容器尺寸/类型
290
- ...
291
- ### 5.定位
292
- ...
293
- ### 6.动画
294
- ...
295
- ### 7.其他
296
- ...
379
+
380
+ 只打算做部分常用的css扩展,所以不是一个全面的样式库
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.layoututil_column{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.layoututil_column.reverse{flex-direction:column-reverse}.layoututil_column>div{width:100%;box-sizing:border-box}.layoututil_column .layoutpage_common>div:last-child{z-index:9}.layoututil_column .main-content{flex:1;overflow:hidden}.layoututil_column .main-content>div{height:100%;overflow:auto;box-sizing:border-box}.layoututil_row{height:100%;box-sizing:border-box;display:flex;flex-direction:row}.layoututil_row.reverse{flex-direction:row-reverse}.layoututil_row>div{width:100%;box-sizing:border-box}.layoututil_row .main-content{flex:1;overflow:hidden}.layoututil_row .main-content>div{height:100%;overflow-y:auto}.layoututil_expended{box-sizing:border-box}.layoututil_expended>div{box-sizing:border-box}.layoututil_expended:not(.u-flex-wrap):not(.u-flex-nowrap)>div{width:100%}.u-disabled{opacity:var(--app-disabled-opacity, .5)}.u-disabled:active{opacity:var(--app-active-opacity, .6)}.u-zoom{zoom:1!important}.u-zoom-0-1{zoom:.1!important}.u-zoom-1-1{zoom:1.1!important}.u-zoom-0-2{zoom:.2!important}.u-zoom-1-2{zoom:1.2!important}.u-zoom-0-3{zoom:.3!important}.u-zoom-1-3{zoom:1.3!important}.u-zoom-0-4{zoom:.4!important}.u-zoom-1-4{zoom:1.4!important}.u-zoom-0-5{zoom:.5!important}.u-zoom-1-5{zoom:1.5!important}.u-zoom-0-6{zoom:.6!important}.u-zoom-1-6{zoom:1.6!important}.u-zoom-0-7{zoom:.7!important}.u-zoom-1-7{zoom:1.7!important}.u-zoom-0-8{zoom:.8!important}.u-zoom-1-8{zoom:1.8!important}.u-box-b,.u-display-b,.u-box-block,.u-display-block{display:block!important}.u-box-i,.u-display-i{display:inline!important}.u-box-i-block,.u-display-i-block{display:inline-block!important}.u-box-i-flex,.u-display-i-flex{display:inline-flex!important}.u-flex{display:flex!important}.u-flex-row{display:flex!important;flex-direction:row!important}.u-flex-row-r{display:flex!important;flex-direction:row-reverse!important}.u-flex-col{display:flex!important;flex-direction:column!important}.u-flex-col-r{display:flex!important;flex-direction:column-reverse!important}.u-flex-wrap{display:flex;flex-wrap:wrap!important}.u-flex-nowrap{display:flex;flex-wrap:nowrap!important}.u-flex-1{flex:1!important}.u-flex-2{flex:2!important}.u-flex-3{flex:3!important}.u-flex-4{flex:4!important}.u-flex-5{flex:5!important}.u-flex-sh-0{flex-shrink:0!important}.u-flex-auto{flex:unset!important}.u-flex-none{flex:none!important}.u-flex-max{flex:unset!important;width:100%!important}.u-flex-center{display:flex!important;justify-content:center!important;align-items:center!important}.u-flex-h-center,.u-flex-h-c{justify-content:center!important}.u-flex-h-left,.u-flex-h-l{justify-content:flex-start!important}.u-flex-h-right,.u-flex-h-r{justify-content:flex-end!important}.u-flex-h-between,.u-flex-h-b{justify-content:space-between!important}.u-flex-h-around,.u-flex-h-a{justify-content:space-around!important}.u-flex-h-stretch,.u-flex-h-s{justify-content:stretch!important}.u-flex-v-top,.u-flex-v-t{align-items:flex-start!important}.u-flex-v-center,.u-flex-v-c{align-items:center!important}.u-flex-v-bottom,.u-flex-v-b{align-items:flex-end!important}.u-flex-v-stretch,.u-flex-v-s{align-items:stretch!important}.u-flex-self-start{align-self:start!important}.u-flex-self-center{align-self:center!important}.u-flex-self-end{align-self:end!important}.u-position--r{position:relative!important}.u-position--f{position:fixed!important}.u-position--a{position:absolute!important}.u-position--s{position:sticky!important}.u-position--static{position:static!important}.u-position-in-t,.u-position-in-top{top:0;left:0;right:0}.u-position-in-b,.u-position-in-bottom{bottom:0;left:0;right:0}.u-position-in-t-l{top:0;left:0}.u-position-in-t-r{top:0;right:0}.u-position-in-b-l{bottom:0;left:0}.u-position-in-b-r{bottom:0;right:0}.u-position-in-l,.u-position-in-left{left:0;transform:translateY(-50%);top:50%}.u-position-in-r,.u-position-in-right{right:0;transform:translate(-50%);top:50%}.u-position-center{transform:translate(-50%,-50%);left:50%;top:50%}.u-position-center-x{transform:translate(-50%);left:50%}.u-position-center-y{transform:translateY(-50%);top:50%}.u-zindex-bottom{z-index:-1}.u-zindex-1{z-index:1!important}.u-zindex-2{z-index:2!important}.u-zindex-3{z-index:3!important}.u-zindex-4{z-index:4!important}.u-zindex-5{z-index:5!important}.u-zindex-6{z-index:6!important}.u-zindex-7{z-index:7!important}.u-zindex-8{z-index:8!important}.u-zindex-9{z-index:9!important}.u-box-size-max{width:100%!important;height:100%!important}.u-height-max,.u-h-max{height:100%!important}.u-height-auto,.u-h-auto{height:auto!important}.u-height-content,.u-h-content{height:fit-content!important}.u-width-max,.u-w-max{width:100%!important}.u-width-auto,.u-w-auto{width:auto!important}.u-width-content,.u-w-content{width:fit-content!important}.u-width-5,.u-w-5{width:5px!important}.u-width-10,.u-w-10{width:10px!important}.u-width-15,.u-w-15{width:15px!important}.u-width-20,.u-w-20{width:20px!important}.u-width-25,.u-w-25{width:25px!important}.u-width-30,.u-w-30{width:30px!important}.u-width-35,.u-w-35{width:35px!important}.u-width-40,.u-w-40{width:40px!important}.u-width-45,.u-w-45{width:45px!important}.u-width-50,.u-w-50{width:50px!important}.u-size-ratio-1-1{aspect-ratio:1/1!important}.u-size-ratio-2-1{aspect-ratio:2/1!important}.u-size-ratio-4-3{aspect-ratio:4/3!important}.u-size-ratio-3-4{aspect-ratio:3/4!important}.u-size-ratio-16-9{aspect-ratio:16/9!important}.u-size-ratio-9-16{aspect-ratio:9/16!important}.u-font-s-8{font-size:8px!important}.u-font-s-9{font-size:9px!important}.u-font-s-10{font-size:10px!important}.u-font-s-11{font-size:11px!important}.u-font-s-12{font-size:12px!important}.u-font-s-13{font-size:13px!important}.u-font-s-14{font-size:14px!important}.u-font-s-15{font-size:15px!important}.u-font-s-16{font-size:16px!important}.u-font-s-17{font-size:17px!important}.u-font-s-18{font-size:18px!important}.u-font-s-19{font-size:19px!important}.u-font-s-20{font-size:20px!important}.u-font-s-21{font-size:21px!important}.u-font-s-22{font-size:22px!important}.u-font-s-23{font-size:23px!important}.u-font-s-24{font-size:24px!important}.u-font-s-25{font-size:25px!important}.u-font-s-26{font-size:26px!important}.u-font-s-27{font-size:27px!important}.u-font-s-28{font-size:28px!important}.u-font-s-29{font-size:29px!important}.u-font-s-30{font-size:30px!important}.u-font-s-31{font-size:31px!important}.u-font-s-32{font-size:32px!important}.u-font-s-33{font-size:33px!important}.u-font-s-34{font-size:34px!important}.u-font-s-35{font-size:35px!important}.u-font-s-36{font-size:36px!important}.u-font-w-300{font-weight:300}.u-font-w-400{font-weight:400}.u-font-w-500{font-weight:500}.u-font-w-600{font-weight:600}.u-font-w-700{font-weight:700}.u-font-w-800{font-weight:800}.u-font-w-900{font-weight:900}.u-font-w-l{font-weight:lighter!important}.u-font-w-n{font-weight:400!important}.u-font-w-b{font-weight:700!important}.u-font-w-B{font-weight:bolder!important}.u-font-style-i{font-style:italic}.u-font-style-n{font-style:normal}.u-font-style-o{font-style:oblique}.u-text-a-c{text-align:center!important}.u-text-a-l{text-align:left!important}.u-text-a-r{text-align:right!important}.u-text-i-24{text-indent:24px!important}.u-text-i-26{text-indent:26px!important}.u-text-i-28{text-indent:28px!important}.u-text-i-32{text-indent:32px!important}.u-text-i-36{text-indent:36px!important}.u-text-i-40{text-indent:40px!important}.u-line-h-0{line-height:0!important}.u-line-h-1{line-height:1!important}.u-line-h-1-1{line-height:1.1!important}.u-line-h-1-2{line-height:1.2!important}.u-line-h-1-3{line-height:1.3!important}.u-line-h-1-4{line-height:1.4!important}.u-line-h-1-5{line-height:1.5!important}.u-line-h-2{line-height:2!important}.u-line-h-2-1{line-height:2.1!important}.u-line-h-2-2{line-height:2.2!important}.u-line-h-2-3{line-height:2.3!important}.u-line-h-2-4{line-height:2.4!important}.u-line-h-2-5{line-height:2.5!important}.u-line-h-3{line-height:3!important}.u-line-h-3-1{line-height:3.1!important}.u-line-h-3-2{line-height:3.2!important}.u-line-h-3-3{line-height:3.3!important}.u-line-h-3-4{line-height:3.4!important}.u-line-h-3-5{line-height:3.5!important}.u-m-0{margin:0!important}.u-m-1{margin:1px!important}.u-m-2{margin:2px!important}.u-m-3{margin:3px!important}.u-m-4{margin:4px!important}.u-m-5{margin:5px!important}.u-m-6{margin:6px!important}.u-m-7{margin:7px!important}.u-m-8{margin:8px!important}.u-m-9{margin:9px!important}.u-m-10{margin:10px!important}.u-m-11{margin:11px!important}.u-m-12{margin:12px!important}.u-m-13{margin:13px!important}.u-m-14{margin:14px!important}.u-m-15{margin:15px!important}.u-m-16{margin:16px!important}.u-m-17{margin:17px!important}.u-m-18{margin:18px!important}.u-m-19{margin:19px!important}.u-m-20{margin:20px!important}.u-m-21{margin:21px!important}.u-m-22{margin:22px!important}.u-m-23{margin:23px!important}.u-m-24{margin:24px!important}.u-m-25{margin:25px!important}.u-m-26{margin:26px!important}.u-m-27{margin:27px!important}.u-m-28{margin:28px!important}.u-m-29{margin:29px!important}.u-m-30{margin:30px!important}.u-m-x-0{margin-left:0!important;margin-right:0!important}.u-m-y-0{margin-top:0!important;margin-bottom:0!important}.u-m-x-1{margin-left:1px!important;margin-right:1px!important}.u-m-y-1{margin-top:1px!important;margin-bottom:1px!important}.u-m-x-2{margin-left:2px!important;margin-right:2px!important}.u-m-y-2{margin-top:2px!important;margin-bottom:2px!important}.u-m-x-3{margin-left:3px!important;margin-right:3px!important}.u-m-y-3{margin-top:3px!important;margin-bottom:3px!important}.u-m-x-4{margin-left:4px!important;margin-right:4px!important}.u-m-y-4{margin-top:4px!important;margin-bottom:4px!important}.u-m-x-5{margin-left:5px!important;margin-right:5px!important}.u-m-y-5{margin-top:5px!important;margin-bottom:5px!important}.u-m-x-6{margin-left:6px!important;margin-right:6px!important}.u-m-y-6{margin-top:6px!important;margin-bottom:6px!important}.u-m-x-7{margin-left:7px!important;margin-right:7px!important}.u-m-y-7{margin-top:7px!important;margin-bottom:7px!important}.u-m-x-8{margin-left:8px!important;margin-right:8px!important}.u-m-y-8{margin-top:8px!important;margin-bottom:8px!important}.u-m-x-9{margin-left:9px!important;margin-right:9px!important}.u-m-y-9{margin-top:9px!important;margin-bottom:9px!important}.u-m-x-10{margin-left:10px!important;margin-right:10px!important}.u-m-y-10{margin-top:10px!important;margin-bottom:10px!important}.u-m-x-11{margin-left:11px!important;margin-right:11px!important}.u-m-y-11{margin-top:11px!important;margin-bottom:11px!important}.u-m-x-12{margin-left:12px!important;margin-right:12px!important}.u-m-y-12{margin-top:12px!important;margin-bottom:12px!important}.u-m-x-13{margin-left:13px!important;margin-right:13px!important}.u-m-y-13{margin-top:13px!important;margin-bottom:13px!important}.u-m-x-14{margin-left:14px!important;margin-right:14px!important}.u-m-y-14{margin-top:14px!important;margin-bottom:14px!important}.u-m-x-15{margin-left:15px!important;margin-right:15px!important}.u-m-y-15{margin-top:15px!important;margin-bottom:15px!important}.u-m-x-16{margin-left:16px!important;margin-right:16px!important}.u-m-y-16{margin-top:16px!important;margin-bottom:16px!important}.u-m-x-17{margin-left:17px!important;margin-right:17px!important}.u-m-y-17{margin-top:17px!important;margin-bottom:17px!important}.u-m-x-18{margin-left:18px!important;margin-right:18px!important}.u-m-y-18{margin-top:18px!important;margin-bottom:18px!important}.u-m-x-19{margin-left:19px!important;margin-right:19px!important}.u-m-y-19{margin-top:19px!important;margin-bottom:19px!important}.u-m-x-20{margin-left:20px!important;margin-right:20px!important}.u-m-y-20{margin-top:20px!important;margin-bottom:20px!important}.u-m-x-21{margin-left:21px!important;margin-right:21px!important}.u-m-y-21{margin-top:21px!important;margin-bottom:21px!important}.u-m-x-22{margin-left:22px!important;margin-right:22px!important}.u-m-y-22{margin-top:22px!important;margin-bottom:22px!important}.u-m-x-23{margin-left:23px!important;margin-right:23px!important}.u-m-y-23{margin-top:23px!important;margin-bottom:23px!important}.u-m-x-24{margin-left:24px!important;margin-right:24px!important}.u-m-y-24{margin-top:24px!important;margin-bottom:24px!important}.u-m-x-25{margin-left:25px!important;margin-right:25px!important}.u-m-y-25{margin-top:25px!important;margin-bottom:25px!important}.u-m-x-26{margin-left:26px!important;margin-right:26px!important}.u-m-y-26{margin-top:26px!important;margin-bottom:26px!important}.u-m-x-27{margin-left:27px!important;margin-right:27px!important}.u-m-y-27{margin-top:27px!important;margin-bottom:27px!important}.u-m-x-28{margin-left:28px!important;margin-right:28px!important}.u-m-y-28{margin-top:28px!important;margin-bottom:28px!important}.u-m-x-29{margin-left:29px!important;margin-right:29px!important}.u-m-y-29{margin-top:29px!important;margin-bottom:29px!important}.u-m-x-30{margin-left:30px!important;margin-right:30px!important}.u-m-y-30{margin-top:30px!important;margin-bottom:30px!important}.u-m-l-0{margin-left:0!important}.u-m-r-0{margin-right:0!important}.u-m-t-0{margin-top:0!important}.u-m-b-0{margin-bottom:0!important}.u-m-l-1{margin-left:1px!important}.u-m-r-1{margin-right:1px!important}.u-m-t-1{margin-top:1px!important}.u-m-b-1{margin-bottom:1px!important}.u-m-l-2{margin-left:2px!important}.u-m-r-2{margin-right:2px!important}.u-m-t-2{margin-top:2px!important}.u-m-b-2{margin-bottom:2px!important}.u-m-l-3{margin-left:3px!important}.u-m-r-3{margin-right:3px!important}.u-m-t-3{margin-top:3px!important}.u-m-b-3{margin-bottom:3px!important}.u-m-l-4{margin-left:4px!important}.u-m-r-4{margin-right:4px!important}.u-m-t-4{margin-top:4px!important}.u-m-b-4{margin-bottom:4px!important}.u-m-l-5{margin-left:5px!important}.u-m-r-5{margin-right:5px!important}.u-m-t-5{margin-top:5px!important}.u-m-b-5{margin-bottom:5px!important}.u-m-l-6{margin-left:6px!important}.u-m-r-6{margin-right:6px!important}.u-m-t-6{margin-top:6px!important}.u-m-b-6{margin-bottom:6px!important}.u-m-l-7{margin-left:7px!important}.u-m-r-7{margin-right:7px!important}.u-m-t-7{margin-top:7px!important}.u-m-b-7{margin-bottom:7px!important}.u-m-l-8{margin-left:8px!important}.u-m-r-8{margin-right:8px!important}.u-m-t-8{margin-top:8px!important}.u-m-b-8{margin-bottom:8px!important}.u-m-l-9{margin-left:9px!important}.u-m-r-9{margin-right:9px!important}.u-m-t-9{margin-top:9px!important}.u-m-b-9{margin-bottom:9px!important}.u-m-l-10{margin-left:10px!important}.u-m-r-10{margin-right:10px!important}.u-m-t-10{margin-top:10px!important}.u-m-b-10{margin-bottom:10px!important}.u-m-l-11{margin-left:11px!important}.u-m-r-11{margin-right:11px!important}.u-m-t-11{margin-top:11px!important}.u-m-b-11{margin-bottom:11px!important}.u-m-l-12{margin-left:12px!important}.u-m-r-12{margin-right:12px!important}.u-m-t-12{margin-top:12px!important}.u-m-b-12{margin-bottom:12px!important}.u-m-l-13{margin-left:13px!important}.u-m-r-13{margin-right:13px!important}.u-m-t-13{margin-top:13px!important}.u-m-b-13{margin-bottom:13px!important}.u-m-l-14{margin-left:14px!important}.u-m-r-14{margin-right:14px!important}.u-m-t-14{margin-top:14px!important}.u-m-b-14{margin-bottom:14px!important}.u-m-l-15{margin-left:15px!important}.u-m-r-15{margin-right:15px!important}.u-m-t-15{margin-top:15px!important}.u-m-b-15{margin-bottom:15px!important}.u-m-l-16{margin-left:16px!important}.u-m-r-16{margin-right:16px!important}.u-m-t-16{margin-top:16px!important}.u-m-b-16{margin-bottom:16px!important}.u-m-l-17{margin-left:17px!important}.u-m-r-17{margin-right:17px!important}.u-m-t-17{margin-top:17px!important}.u-m-b-17{margin-bottom:17px!important}.u-m-l-18{margin-left:18px!important}.u-m-r-18{margin-right:18px!important}.u-m-t-18{margin-top:18px!important}.u-m-b-18{margin-bottom:18px!important}.u-m-l-19{margin-left:19px!important}.u-m-r-19{margin-right:19px!important}.u-m-t-19{margin-top:19px!important}.u-m-b-19{margin-bottom:19px!important}.u-m-l-20{margin-left:20px!important}.u-m-r-20{margin-right:20px!important}.u-m-t-20{margin-top:20px!important}.u-m-b-20{margin-bottom:20px!important}.u-m-l-21{margin-left:21px!important}.u-m-r-21{margin-right:21px!important}.u-m-t-21{margin-top:21px!important}.u-m-b-21{margin-bottom:21px!important}.u-m-l-22{margin-left:22px!important}.u-m-r-22{margin-right:22px!important}.u-m-t-22{margin-top:22px!important}.u-m-b-22{margin-bottom:22px!important}.u-m-l-23{margin-left:23px!important}.u-m-r-23{margin-right:23px!important}.u-m-t-23{margin-top:23px!important}.u-m-b-23{margin-bottom:23px!important}.u-m-l-24{margin-left:24px!important}.u-m-r-24{margin-right:24px!important}.u-m-t-24{margin-top:24px!important}.u-m-b-24{margin-bottom:24px!important}.u-m-l-25{margin-left:25px!important}.u-m-r-25{margin-right:25px!important}.u-m-t-25{margin-top:25px!important}.u-m-b-25{margin-bottom:25px!important}.u-m-l-26{margin-left:26px!important}.u-m-r-26{margin-right:26px!important}.u-m-t-26{margin-top:26px!important}.u-m-b-26{margin-bottom:26px!important}.u-m-l-27{margin-left:27px!important}.u-m-r-27{margin-right:27px!important}.u-m-t-27{margin-top:27px!important}.u-m-b-27{margin-bottom:27px!important}.u-m-l-28{margin-left:28px!important}.u-m-r-28{margin-right:28px!important}.u-m-t-28{margin-top:28px!important}.u-m-b-28{margin-bottom:28px!important}.u-m-l-29{margin-left:29px!important}.u-m-r-29{margin-right:29px!important}.u-m-t-29{margin-top:29px!important}.u-m-b-29{margin-bottom:29px!important}.u-m-l-30{margin-left:30px!important}.u-m-r-30{margin-right:30px!important}.u-m-t-30{margin-top:30px!important}.u-m-b-30{margin-bottom:30px!important}.u-p-0{padding:0!important}.u-p-1{padding:1px!important}.u-p-2{padding:2px!important}.u-p-3{padding:3px!important}.u-p-4{padding:4px!important}.u-p-5{padding:5px!important}.u-p-6{padding:6px!important}.u-p-7{padding:7px!important}.u-p-8{padding:8px!important}.u-p-9{padding:9px!important}.u-p-10{padding:10px!important}.u-p-11{padding:11px!important}.u-p-12{padding:12px!important}.u-p-13{padding:13px!important}.u-p-14{padding:14px!important}.u-p-15{padding:15px!important}.u-p-16{padding:16px!important}.u-p-17{padding:17px!important}.u-p-18{padding:18px!important}.u-p-19{padding:19px!important}.u-p-20{padding:20px!important}.u-p-21{padding:21px!important}.u-p-22{padding:22px!important}.u-p-23{padding:23px!important}.u-p-24{padding:24px!important}.u-p-25{padding:25px!important}.u-p-26{padding:26px!important}.u-p-27{padding:27px!important}.u-p-28{padding:28px!important}.u-p-29{padding:29px!important}.u-p-30{padding:30px!important}.u-p-x-0{padding-left:0!important;padding-right:0!important}.u-p-y-0{padding-top:0!important;padding-bottom:0!important}.u-p-x-1{padding-left:1px!important;padding-right:1px!important}.u-p-y-1{padding-top:1px!important;padding-bottom:1px!important}.u-p-x-2{padding-left:2px!important;padding-right:2px!important}.u-p-y-2{padding-top:2px!important;padding-bottom:2px!important}.u-p-x-3{padding-left:3px!important;padding-right:3px!important}.u-p-y-3{padding-top:3px!important;padding-bottom:3px!important}.u-p-x-4{padding-left:4px!important;padding-right:4px!important}.u-p-y-4{padding-top:4px!important;padding-bottom:4px!important}.u-p-x-5{padding-left:5px!important;padding-right:5px!important}.u-p-y-5{padding-top:5px!important;padding-bottom:5px!important}.u-p-x-6{padding-left:6px!important;padding-right:6px!important}.u-p-y-6{padding-top:6px!important;padding-bottom:6px!important}.u-p-x-7{padding-left:7px!important;padding-right:7px!important}.u-p-y-7{padding-top:7px!important;padding-bottom:7px!important}.u-p-x-8{padding-left:8px!important;padding-right:8px!important}.u-p-y-8{padding-top:8px!important;padding-bottom:8px!important}.u-p-x-9{padding-left:9px!important;padding-right:9px!important}.u-p-y-9{padding-top:9px!important;padding-bottom:9px!important}.u-p-x-10{padding-left:10px!important;padding-right:10px!important}.u-p-y-10{padding-top:10px!important;padding-bottom:10px!important}.u-p-x-11{padding-left:11px!important;padding-right:11px!important}.u-p-y-11{padding-top:11px!important;padding-bottom:11px!important}.u-p-x-12{padding-left:12px!important;padding-right:12px!important}.u-p-y-12{padding-top:12px!important;padding-bottom:12px!important}.u-p-x-13{padding-left:13px!important;padding-right:13px!important}.u-p-y-13{padding-top:13px!important;padding-bottom:13px!important}.u-p-x-14{padding-left:14px!important;padding-right:14px!important}.u-p-y-14{padding-top:14px!important;padding-bottom:14px!important}.u-p-x-15{padding-left:15px!important;padding-right:15px!important}.u-p-y-15{padding-top:15px!important;padding-bottom:15px!important}.u-p-x-16{padding-left:16px!important;padding-right:16px!important}.u-p-y-16{padding-top:16px!important;padding-bottom:16px!important}.u-p-x-17{padding-left:17px!important;padding-right:17px!important}.u-p-y-17{padding-top:17px!important;padding-bottom:17px!important}.u-p-x-18{padding-left:18px!important;padding-right:18px!important}.u-p-y-18{padding-top:18px!important;padding-bottom:18px!important}.u-p-x-19{padding-left:19px!important;padding-right:19px!important}.u-p-y-19{padding-top:19px!important;padding-bottom:19px!important}.u-p-x-20{padding-left:20px!important;padding-right:20px!important}.u-p-y-20{padding-top:20px!important;padding-bottom:20px!important}.u-p-x-21{padding-left:21px!important;padding-right:21px!important}.u-p-y-21{padding-top:21px!important;padding-bottom:21px!important}.u-p-x-22{padding-left:22px!important;padding-right:22px!important}.u-p-y-22{padding-top:22px!important;padding-bottom:22px!important}.u-p-x-23{padding-left:23px!important;padding-right:23px!important}.u-p-y-23{padding-top:23px!important;padding-bottom:23px!important}.u-p-x-24{padding-left:24px!important;padding-right:24px!important}.u-p-y-24{padding-top:24px!important;padding-bottom:24px!important}.u-p-x-25{padding-left:25px!important;padding-right:25px!important}.u-p-y-25{padding-top:25px!important;padding-bottom:25px!important}.u-p-x-26{padding-left:26px!important;padding-right:26px!important}.u-p-y-26{padding-top:26px!important;padding-bottom:26px!important}.u-p-x-27{padding-left:27px!important;padding-right:27px!important}.u-p-y-27{padding-top:27px!important;padding-bottom:27px!important}.u-p-x-28{padding-left:28px!important;padding-right:28px!important}.u-p-y-28{padding-top:28px!important;padding-bottom:28px!important}.u-p-x-29{padding-left:29px!important;padding-right:29px!important}.u-p-y-29{padding-top:29px!important;padding-bottom:29px!important}.u-p-x-30{padding-left:30px!important;padding-right:30px!important}.u-p-y-30{padding-top:30px!important;padding-bottom:30px!important}.u-p-l-0{padding-left:0!important}.u-p-r-0{padding-right:0!important}.u-p-t-0{padding-top:0!important}.u-p-b-0{padding-bottom:0!important}.u-p-l-1{padding-left:1px!important}.u-p-r-1{padding-right:1px!important}.u-p-t-1{padding-top:1px!important}.u-p-b-1{padding-bottom:1px!important}.u-p-l-2{padding-left:2px!important}.u-p-r-2{padding-right:2px!important}.u-p-t-2{padding-top:2px!important}.u-p-b-2{padding-bottom:2px!important}.u-p-l-3{padding-left:3px!important}.u-p-r-3{padding-right:3px!important}.u-p-t-3{padding-top:3px!important}.u-p-b-3{padding-bottom:3px!important}.u-p-l-4{padding-left:4px!important}.u-p-r-4{padding-right:4px!important}.u-p-t-4{padding-top:4px!important}.u-p-b-4{padding-bottom:4px!important}.u-p-l-5{padding-left:5px!important}.u-p-r-5{padding-right:5px!important}.u-p-t-5{padding-top:5px!important}.u-p-b-5{padding-bottom:5px!important}.u-p-l-6{padding-left:6px!important}.u-p-r-6{padding-right:6px!important}.u-p-t-6{padding-top:6px!important}.u-p-b-6{padding-bottom:6px!important}.u-p-l-7{padding-left:7px!important}.u-p-r-7{padding-right:7px!important}.u-p-t-7{padding-top:7px!important}.u-p-b-7{padding-bottom:7px!important}.u-p-l-8{padding-left:8px!important}.u-p-r-8{padding-right:8px!important}.u-p-t-8{padding-top:8px!important}.u-p-b-8{padding-bottom:8px!important}.u-p-l-9{padding-left:9px!important}.u-p-r-9{padding-right:9px!important}.u-p-t-9{padding-top:9px!important}.u-p-b-9{padding-bottom:9px!important}.u-p-l-10{padding-left:10px!important}.u-p-r-10{padding-right:10px!important}.u-p-t-10{padding-top:10px!important}.u-p-b-10{padding-bottom:10px!important}.u-p-l-11{padding-left:11px!important}.u-p-r-11{padding-right:11px!important}.u-p-t-11{padding-top:11px!important}.u-p-b-11{padding-bottom:11px!important}.u-p-l-12{padding-left:12px!important}.u-p-r-12{padding-right:12px!important}.u-p-t-12{padding-top:12px!important}.u-p-b-12{padding-bottom:12px!important}.u-p-l-13{padding-left:13px!important}.u-p-r-13{padding-right:13px!important}.u-p-t-13{padding-top:13px!important}.u-p-b-13{padding-bottom:13px!important}.u-p-l-14{padding-left:14px!important}.u-p-r-14{padding-right:14px!important}.u-p-t-14{padding-top:14px!important}.u-p-b-14{padding-bottom:14px!important}.u-p-l-15{padding-left:15px!important}.u-p-r-15{padding-right:15px!important}.u-p-t-15{padding-top:15px!important}.u-p-b-15{padding-bottom:15px!important}.u-p-l-16{padding-left:16px!important}.u-p-r-16{padding-right:16px!important}.u-p-t-16{padding-top:16px!important}.u-p-b-16{padding-bottom:16px!important}.u-p-l-17{padding-left:17px!important}.u-p-r-17{padding-right:17px!important}.u-p-t-17{padding-top:17px!important}.u-p-b-17{padding-bottom:17px!important}.u-p-l-18{padding-left:18px!important}.u-p-r-18{padding-right:18px!important}.u-p-t-18{padding-top:18px!important}.u-p-b-18{padding-bottom:18px!important}.u-p-l-19{padding-left:19px!important}.u-p-r-19{padding-right:19px!important}.u-p-t-19{padding-top:19px!important}.u-p-b-19{padding-bottom:19px!important}.u-p-l-20{padding-left:20px!important}.u-p-r-20{padding-right:20px!important}.u-p-t-20{padding-top:20px!important}.u-p-b-20{padding-bottom:20px!important}.u-p-l-21{padding-left:21px!important}.u-p-r-21{padding-right:21px!important}.u-p-t-21{padding-top:21px!important}.u-p-b-21{padding-bottom:21px!important}.u-p-l-22{padding-left:22px!important}.u-p-r-22{padding-right:22px!important}.u-p-t-22{padding-top:22px!important}.u-p-b-22{padding-bottom:22px!important}.u-p-l-23{padding-left:23px!important}.u-p-r-23{padding-right:23px!important}.u-p-t-23{padding-top:23px!important}.u-p-b-23{padding-bottom:23px!important}.u-p-l-24{padding-left:24px!important}.u-p-r-24{padding-right:24px!important}.u-p-t-24{padding-top:24px!important}.u-p-b-24{padding-bottom:24px!important}.u-p-l-25{padding-left:25px!important}.u-p-r-25{padding-right:25px!important}.u-p-t-25{padding-top:25px!important}.u-p-b-25{padding-bottom:25px!important}.u-p-l-26{padding-left:26px!important}.u-p-r-26{padding-right:26px!important}.u-p-t-26{padding-top:26px!important}.u-p-b-26{padding-bottom:26px!important}.u-p-l-27{padding-left:27px!important}.u-p-r-27{padding-right:27px!important}.u-p-t-27{padding-top:27px!important}.u-p-b-27{padding-bottom:27px!important}.u-p-l-28{padding-left:28px!important}.u-p-r-28{padding-right:28px!important}.u-p-t-28{padding-top:28px!important}.u-p-b-28{padding-bottom:28px!important}.u-p-l-29{padding-left:29px!important}.u-p-r-29{padding-right:29px!important}.u-p-t-29{padding-top:29px!important}.u-p-b-29{padding-bottom:29px!important}.u-p-l-30{padding-left:30px!important}.u-p-r-30{padding-right:30px!important}.u-p-t-30{padding-top:30px!important}.u-p-b-30{padding-bottom:30px!important}
1
+ @charset "UTF-8";.u-disabled{opacity:var(--app-disabled-opacity, .5)}.u-disabled:active{opacity:var(--app-active-opacity, .6)}.u-zoom{zoom:1!important}.u-zoom-0-1{zoom:.1!important}.u-zoom-1-1{zoom:1.1!important}.u-zoom-0-2{zoom:.2!important}.u-zoom-1-2{zoom:1.2!important}.u-zoom-0-3{zoom:.3!important}.u-zoom-1-3{zoom:1.3!important}.u-zoom-0-4{zoom:.4!important}.u-zoom-1-4{zoom:1.4!important}.u-zoom-0-5{zoom:.5!important}.u-zoom-1-5{zoom:1.5!important}.u-zoom-0-6{zoom:.6!important}.u-zoom-1-6{zoom:1.6!important}.u-zoom-0-7{zoom:.7!important}.u-zoom-1-7{zoom:1.7!important}.u-zoom-0-8{zoom:.8!important}.u-zoom-1-8{zoom:1.8!important}.u-box-b,.u-display-b,.u-box-block,.u-display-block{display:block!important}.u-box-i,.u-display-i{display:inline!important}.u-box-i-block,.u-display-i-block{display:inline-block!important}.u-box-i-flex,.u-display-i-flex{display:inline-flex!important}.u-flex{display:flex!important}.u-flex-row{display:flex!important;flex-direction:row!important}.u-flex-row-r{display:flex!important;flex-direction:row-reverse!important}.u-flex-col{display:flex!important;flex-direction:column!important}.u-flex-col-r{display:flex!important;flex-direction:column-reverse!important}.u-flex-wrap{display:flex;flex-wrap:wrap!important}.u-flex-nowrap{display:flex;flex-wrap:nowrap!important}.u-flex-1{flex:1!important}.u-flex-2{flex:2!important}.u-flex-3{flex:3!important}.u-flex-4{flex:4!important}.u-flex-5{flex:5!important}.u-flex-sh-0{flex-shrink:0!important}.u-flex-auto{flex:unset!important}.u-flex-none{flex:none!important}.u-flex-max{flex:unset!important;width:100%!important}.u-flex-center{display:flex!important;justify-content:center!important;align-items:center!important}.u-flex-h-center,.u-flex-h-c{justify-content:center!important}.u-flex-h-left,.u-flex-h-l{justify-content:flex-start!important}.u-flex-h-right,.u-flex-h-r{justify-content:flex-end!important}.u-flex-h-between,.u-flex-h-b{justify-content:space-between!important}.u-flex-h-around,.u-flex-h-a{justify-content:space-around!important}.u-flex-h-stretch,.u-flex-h-s{justify-content:stretch!important}.u-flex-v-top,.u-flex-v-t{align-items:flex-start!important}.u-flex-v-center,.u-flex-v-c{align-items:center!important}.u-flex-v-bottom,.u-flex-v-b{align-items:flex-end!important}.u-flex-v-stretch,.u-flex-v-s{align-items:stretch!important}.u-flex-self-start{align-self:start!important}.u-flex-self-center{align-self:center!important}.u-flex-self-end{align-self:end!important}.u-position--r{position:relative!important}.u-position--f{position:fixed!important}.u-position--a{position:absolute!important}.u-position--s{position:sticky!important}.u-position--static{position:static!important}.u-position-in-t,.u-position-in-top{top:0;left:0;right:0}.u-position-in-b,.u-position-in-bottom{bottom:0;left:0;right:0}.u-position-in-t-l{top:0;left:0}.u-position-in-t-r{top:0;right:0}.u-position-in-b-l{bottom:0;left:0}.u-position-in-b-r{bottom:0;right:0}.u-position-in-l,.u-position-in-left{left:0;transform:translateY(-50%);top:50%}.u-position-in-r,.u-position-in-right{right:0;transform:translate(-50%);top:50%}.u-position-center{transform:translate(-50%,-50%);left:50%;top:50%}.u-position-center-x{transform:translate(-50%);left:50%}.u-position-center-y{transform:translateY(-50%);top:50%}.u-zindex-bottom{z-index:-1}.u-zindex-1{z-index:1!important}.u-zindex-2{z-index:2!important}.u-zindex-3{z-index:3!important}.u-zindex-4{z-index:4!important}.u-zindex-5{z-index:5!important}.u-zindex-6{z-index:6!important}.u-zindex-7{z-index:7!important}.u-zindex-8{z-index:8!important}.u-zindex-9{z-index:9!important}.u-box-size-max{width:100%!important;height:100%!important}.u-height-max,.u-h-max{height:100%!important}.u-height-auto,.u-h-auto{height:auto!important}.u-height-content,.u-h-content{height:fit-content!important}.u-width-max,.u-w-max{width:100%!important}.u-width-auto,.u-w-auto{width:auto!important}.u-width-content,.u-w-content{width:fit-content!important}.u-width-5,.u-w-5{width:5px!important}.u-width-10,.u-w-10{width:10px!important}.u-width-15,.u-w-15{width:15px!important}.u-width-20,.u-w-20{width:20px!important}.u-width-25,.u-w-25{width:25px!important}.u-width-30,.u-w-30{width:30px!important}.u-width-35,.u-w-35{width:35px!important}.u-width-40,.u-w-40{width:40px!important}.u-width-45,.u-w-45{width:45px!important}.u-width-50,.u-w-50{width:50px!important}.u-size-ratio-1-1{aspect-ratio:1/1!important}.u-size-ratio-2-1{aspect-ratio:2/1!important}.u-size-ratio-4-3{aspect-ratio:4/3!important}.u-size-ratio-3-4{aspect-ratio:3/4!important}.u-size-ratio-16-9{aspect-ratio:16/9!important}.u-size-ratio-9-16{aspect-ratio:9/16!important}.u-font-s-8{font-size:8px!important}.u-font-s-9{font-size:9px!important}.u-font-s-10{font-size:10px!important}.u-font-s-11{font-size:11px!important}.u-font-s-12{font-size:12px!important}.u-font-s-13{font-size:13px!important}.u-font-s-14{font-size:14px!important}.u-font-s-15{font-size:15px!important}.u-font-s-16{font-size:16px!important}.u-font-s-17{font-size:17px!important}.u-font-s-18{font-size:18px!important}.u-font-s-19{font-size:19px!important}.u-font-s-20{font-size:20px!important}.u-font-s-21{font-size:21px!important}.u-font-s-22{font-size:22px!important}.u-font-s-23{font-size:23px!important}.u-font-s-24{font-size:24px!important}.u-font-s-25{font-size:25px!important}.u-font-s-26{font-size:26px!important}.u-font-s-27{font-size:27px!important}.u-font-s-28{font-size:28px!important}.u-font-s-29{font-size:29px!important}.u-font-s-30{font-size:30px!important}.u-font-s-31{font-size:31px!important}.u-font-s-32{font-size:32px!important}.u-font-s-33{font-size:33px!important}.u-font-s-34{font-size:34px!important}.u-font-s-35{font-size:35px!important}.u-font-s-36{font-size:36px!important}.u-font-w-300{font-weight:300}.u-font-w-400{font-weight:400}.u-font-w-500{font-weight:500}.u-font-w-600{font-weight:600}.u-font-w-700{font-weight:700}.u-font-w-800{font-weight:800}.u-font-w-900{font-weight:900}.u-font-w-l{font-weight:lighter!important}.u-font-w-n{font-weight:400!important}.u-font-w-b{font-weight:700!important}.u-font-w-B{font-weight:bolder!important}.u-font-style-i{font-style:italic}.u-font-style-n{font-style:normal}.u-font-style-o{font-style:oblique}.u-text-a-c{text-align:center!important}.u-text-a-l{text-align:left!important}.u-text-a-r{text-align:right!important}.u-text-i-24{text-indent:24px!important}.u-text-i-26{text-indent:26px!important}.u-text-i-28{text-indent:28px!important}.u-text-i-32{text-indent:32px!important}.u-text-i-36{text-indent:36px!important}.u-text-i-40{text-indent:40px!important}.u-line-h-0{line-height:0!important}.u-line-h-1{line-height:1!important}.u-line-h-1-1{line-height:1.1!important}.u-line-h-1-2{line-height:1.2!important}.u-line-h-1-3{line-height:1.3!important}.u-line-h-1-4{line-height:1.4!important}.u-line-h-1-5{line-height:1.5!important}.u-line-h-2{line-height:2!important}.u-line-h-2-1{line-height:2.1!important}.u-line-h-2-2{line-height:2.2!important}.u-line-h-2-3{line-height:2.3!important}.u-line-h-2-4{line-height:2.4!important}.u-line-h-2-5{line-height:2.5!important}.u-line-h-3{line-height:3!important}.u-line-h-3-1{line-height:3.1!important}.u-line-h-3-2{line-height:3.2!important}.u-line-h-3-3{line-height:3.3!important}.u-line-h-3-4{line-height:3.4!important}.u-line-h-3-5{line-height:3.5!important}.u-m-0{margin:0!important}.u-m-1{margin:1px!important}.u-m-2{margin:2px!important}.u-m-3{margin:3px!important}.u-m-4{margin:4px!important}.u-m-5{margin:5px!important}.u-m-6{margin:6px!important}.u-m-7{margin:7px!important}.u-m-8{margin:8px!important}.u-m-9{margin:9px!important}.u-m-10{margin:10px!important}.u-m-11{margin:11px!important}.u-m-12{margin:12px!important}.u-m-13{margin:13px!important}.u-m-14{margin:14px!important}.u-m-15{margin:15px!important}.u-m-16{margin:16px!important}.u-m-17{margin:17px!important}.u-m-18{margin:18px!important}.u-m-19{margin:19px!important}.u-m-20{margin:20px!important}.u-m-21{margin:21px!important}.u-m-22{margin:22px!important}.u-m-23{margin:23px!important}.u-m-24{margin:24px!important}.u-m-25{margin:25px!important}.u-m-26{margin:26px!important}.u-m-27{margin:27px!important}.u-m-28{margin:28px!important}.u-m-29{margin:29px!important}.u-m-30{margin:30px!important}.u-m-x-0{margin-left:0!important;margin-right:0!important}.u-m-y-0{margin-top:0!important;margin-bottom:0!important}.u-m-x-1{margin-left:1px!important;margin-right:1px!important}.u-m-y-1{margin-top:1px!important;margin-bottom:1px!important}.u-m-x-2{margin-left:2px!important;margin-right:2px!important}.u-m-y-2{margin-top:2px!important;margin-bottom:2px!important}.u-m-x-3{margin-left:3px!important;margin-right:3px!important}.u-m-y-3{margin-top:3px!important;margin-bottom:3px!important}.u-m-x-4{margin-left:4px!important;margin-right:4px!important}.u-m-y-4{margin-top:4px!important;margin-bottom:4px!important}.u-m-x-5{margin-left:5px!important;margin-right:5px!important}.u-m-y-5{margin-top:5px!important;margin-bottom:5px!important}.u-m-x-6{margin-left:6px!important;margin-right:6px!important}.u-m-y-6{margin-top:6px!important;margin-bottom:6px!important}.u-m-x-7{margin-left:7px!important;margin-right:7px!important}.u-m-y-7{margin-top:7px!important;margin-bottom:7px!important}.u-m-x-8{margin-left:8px!important;margin-right:8px!important}.u-m-y-8{margin-top:8px!important;margin-bottom:8px!important}.u-m-x-9{margin-left:9px!important;margin-right:9px!important}.u-m-y-9{margin-top:9px!important;margin-bottom:9px!important}.u-m-x-10{margin-left:10px!important;margin-right:10px!important}.u-m-y-10{margin-top:10px!important;margin-bottom:10px!important}.u-m-x-11{margin-left:11px!important;margin-right:11px!important}.u-m-y-11{margin-top:11px!important;margin-bottom:11px!important}.u-m-x-12{margin-left:12px!important;margin-right:12px!important}.u-m-y-12{margin-top:12px!important;margin-bottom:12px!important}.u-m-x-13{margin-left:13px!important;margin-right:13px!important}.u-m-y-13{margin-top:13px!important;margin-bottom:13px!important}.u-m-x-14{margin-left:14px!important;margin-right:14px!important}.u-m-y-14{margin-top:14px!important;margin-bottom:14px!important}.u-m-x-15{margin-left:15px!important;margin-right:15px!important}.u-m-y-15{margin-top:15px!important;margin-bottom:15px!important}.u-m-x-16{margin-left:16px!important;margin-right:16px!important}.u-m-y-16{margin-top:16px!important;margin-bottom:16px!important}.u-m-x-17{margin-left:17px!important;margin-right:17px!important}.u-m-y-17{margin-top:17px!important;margin-bottom:17px!important}.u-m-x-18{margin-left:18px!important;margin-right:18px!important}.u-m-y-18{margin-top:18px!important;margin-bottom:18px!important}.u-m-x-19{margin-left:19px!important;margin-right:19px!important}.u-m-y-19{margin-top:19px!important;margin-bottom:19px!important}.u-m-x-20{margin-left:20px!important;margin-right:20px!important}.u-m-y-20{margin-top:20px!important;margin-bottom:20px!important}.u-m-x-21{margin-left:21px!important;margin-right:21px!important}.u-m-y-21{margin-top:21px!important;margin-bottom:21px!important}.u-m-x-22{margin-left:22px!important;margin-right:22px!important}.u-m-y-22{margin-top:22px!important;margin-bottom:22px!important}.u-m-x-23{margin-left:23px!important;margin-right:23px!important}.u-m-y-23{margin-top:23px!important;margin-bottom:23px!important}.u-m-x-24{margin-left:24px!important;margin-right:24px!important}.u-m-y-24{margin-top:24px!important;margin-bottom:24px!important}.u-m-x-25{margin-left:25px!important;margin-right:25px!important}.u-m-y-25{margin-top:25px!important;margin-bottom:25px!important}.u-m-x-26{margin-left:26px!important;margin-right:26px!important}.u-m-y-26{margin-top:26px!important;margin-bottom:26px!important}.u-m-x-27{margin-left:27px!important;margin-right:27px!important}.u-m-y-27{margin-top:27px!important;margin-bottom:27px!important}.u-m-x-28{margin-left:28px!important;margin-right:28px!important}.u-m-y-28{margin-top:28px!important;margin-bottom:28px!important}.u-m-x-29{margin-left:29px!important;margin-right:29px!important}.u-m-y-29{margin-top:29px!important;margin-bottom:29px!important}.u-m-x-30{margin-left:30px!important;margin-right:30px!important}.u-m-y-30{margin-top:30px!important;margin-bottom:30px!important}.u-m-l-0{margin-left:0!important}.u-m-r-0{margin-right:0!important}.u-m-t-0{margin-top:0!important}.u-m-b-0{margin-bottom:0!important}.u-m-l-1{margin-left:1px!important}.u-m-r-1{margin-right:1px!important}.u-m-t-1{margin-top:1px!important}.u-m-b-1{margin-bottom:1px!important}.u-m-l-2{margin-left:2px!important}.u-m-r-2{margin-right:2px!important}.u-m-t-2{margin-top:2px!important}.u-m-b-2{margin-bottom:2px!important}.u-m-l-3{margin-left:3px!important}.u-m-r-3{margin-right:3px!important}.u-m-t-3{margin-top:3px!important}.u-m-b-3{margin-bottom:3px!important}.u-m-l-4{margin-left:4px!important}.u-m-r-4{margin-right:4px!important}.u-m-t-4{margin-top:4px!important}.u-m-b-4{margin-bottom:4px!important}.u-m-l-5{margin-left:5px!important}.u-m-r-5{margin-right:5px!important}.u-m-t-5{margin-top:5px!important}.u-m-b-5{margin-bottom:5px!important}.u-m-l-6{margin-left:6px!important}.u-m-r-6{margin-right:6px!important}.u-m-t-6{margin-top:6px!important}.u-m-b-6{margin-bottom:6px!important}.u-m-l-7{margin-left:7px!important}.u-m-r-7{margin-right:7px!important}.u-m-t-7{margin-top:7px!important}.u-m-b-7{margin-bottom:7px!important}.u-m-l-8{margin-left:8px!important}.u-m-r-8{margin-right:8px!important}.u-m-t-8{margin-top:8px!important}.u-m-b-8{margin-bottom:8px!important}.u-m-l-9{margin-left:9px!important}.u-m-r-9{margin-right:9px!important}.u-m-t-9{margin-top:9px!important}.u-m-b-9{margin-bottom:9px!important}.u-m-l-10{margin-left:10px!important}.u-m-r-10{margin-right:10px!important}.u-m-t-10{margin-top:10px!important}.u-m-b-10{margin-bottom:10px!important}.u-m-l-11{margin-left:11px!important}.u-m-r-11{margin-right:11px!important}.u-m-t-11{margin-top:11px!important}.u-m-b-11{margin-bottom:11px!important}.u-m-l-12{margin-left:12px!important}.u-m-r-12{margin-right:12px!important}.u-m-t-12{margin-top:12px!important}.u-m-b-12{margin-bottom:12px!important}.u-m-l-13{margin-left:13px!important}.u-m-r-13{margin-right:13px!important}.u-m-t-13{margin-top:13px!important}.u-m-b-13{margin-bottom:13px!important}.u-m-l-14{margin-left:14px!important}.u-m-r-14{margin-right:14px!important}.u-m-t-14{margin-top:14px!important}.u-m-b-14{margin-bottom:14px!important}.u-m-l-15{margin-left:15px!important}.u-m-r-15{margin-right:15px!important}.u-m-t-15{margin-top:15px!important}.u-m-b-15{margin-bottom:15px!important}.u-m-l-16{margin-left:16px!important}.u-m-r-16{margin-right:16px!important}.u-m-t-16{margin-top:16px!important}.u-m-b-16{margin-bottom:16px!important}.u-m-l-17{margin-left:17px!important}.u-m-r-17{margin-right:17px!important}.u-m-t-17{margin-top:17px!important}.u-m-b-17{margin-bottom:17px!important}.u-m-l-18{margin-left:18px!important}.u-m-r-18{margin-right:18px!important}.u-m-t-18{margin-top:18px!important}.u-m-b-18{margin-bottom:18px!important}.u-m-l-19{margin-left:19px!important}.u-m-r-19{margin-right:19px!important}.u-m-t-19{margin-top:19px!important}.u-m-b-19{margin-bottom:19px!important}.u-m-l-20{margin-left:20px!important}.u-m-r-20{margin-right:20px!important}.u-m-t-20{margin-top:20px!important}.u-m-b-20{margin-bottom:20px!important}.u-m-l-21{margin-left:21px!important}.u-m-r-21{margin-right:21px!important}.u-m-t-21{margin-top:21px!important}.u-m-b-21{margin-bottom:21px!important}.u-m-l-22{margin-left:22px!important}.u-m-r-22{margin-right:22px!important}.u-m-t-22{margin-top:22px!important}.u-m-b-22{margin-bottom:22px!important}.u-m-l-23{margin-left:23px!important}.u-m-r-23{margin-right:23px!important}.u-m-t-23{margin-top:23px!important}.u-m-b-23{margin-bottom:23px!important}.u-m-l-24{margin-left:24px!important}.u-m-r-24{margin-right:24px!important}.u-m-t-24{margin-top:24px!important}.u-m-b-24{margin-bottom:24px!important}.u-m-l-25{margin-left:25px!important}.u-m-r-25{margin-right:25px!important}.u-m-t-25{margin-top:25px!important}.u-m-b-25{margin-bottom:25px!important}.u-m-l-26{margin-left:26px!important}.u-m-r-26{margin-right:26px!important}.u-m-t-26{margin-top:26px!important}.u-m-b-26{margin-bottom:26px!important}.u-m-l-27{margin-left:27px!important}.u-m-r-27{margin-right:27px!important}.u-m-t-27{margin-top:27px!important}.u-m-b-27{margin-bottom:27px!important}.u-m-l-28{margin-left:28px!important}.u-m-r-28{margin-right:28px!important}.u-m-t-28{margin-top:28px!important}.u-m-b-28{margin-bottom:28px!important}.u-m-l-29{margin-left:29px!important}.u-m-r-29{margin-right:29px!important}.u-m-t-29{margin-top:29px!important}.u-m-b-29{margin-bottom:29px!important}.u-m-l-30{margin-left:30px!important}.u-m-r-30{margin-right:30px!important}.u-m-t-30{margin-top:30px!important}.u-m-b-30{margin-bottom:30px!important}.u-p-0{padding:0!important}.u-p-1{padding:1px!important}.u-p-2{padding:2px!important}.u-p-3{padding:3px!important}.u-p-4{padding:4px!important}.u-p-5{padding:5px!important}.u-p-6{padding:6px!important}.u-p-7{padding:7px!important}.u-p-8{padding:8px!important}.u-p-9{padding:9px!important}.u-p-10{padding:10px!important}.u-p-11{padding:11px!important}.u-p-12{padding:12px!important}.u-p-13{padding:13px!important}.u-p-14{padding:14px!important}.u-p-15{padding:15px!important}.u-p-16{padding:16px!important}.u-p-17{padding:17px!important}.u-p-18{padding:18px!important}.u-p-19{padding:19px!important}.u-p-20{padding:20px!important}.u-p-21{padding:21px!important}.u-p-22{padding:22px!important}.u-p-23{padding:23px!important}.u-p-24{padding:24px!important}.u-p-25{padding:25px!important}.u-p-26{padding:26px!important}.u-p-27{padding:27px!important}.u-p-28{padding:28px!important}.u-p-29{padding:29px!important}.u-p-30{padding:30px!important}.u-p-x-0{padding-left:0!important;padding-right:0!important}.u-p-y-0{padding-top:0!important;padding-bottom:0!important}.u-p-x-1{padding-left:1px!important;padding-right:1px!important}.u-p-y-1{padding-top:1px!important;padding-bottom:1px!important}.u-p-x-2{padding-left:2px!important;padding-right:2px!important}.u-p-y-2{padding-top:2px!important;padding-bottom:2px!important}.u-p-x-3{padding-left:3px!important;padding-right:3px!important}.u-p-y-3{padding-top:3px!important;padding-bottom:3px!important}.u-p-x-4{padding-left:4px!important;padding-right:4px!important}.u-p-y-4{padding-top:4px!important;padding-bottom:4px!important}.u-p-x-5{padding-left:5px!important;padding-right:5px!important}.u-p-y-5{padding-top:5px!important;padding-bottom:5px!important}.u-p-x-6{padding-left:6px!important;padding-right:6px!important}.u-p-y-6{padding-top:6px!important;padding-bottom:6px!important}.u-p-x-7{padding-left:7px!important;padding-right:7px!important}.u-p-y-7{padding-top:7px!important;padding-bottom:7px!important}.u-p-x-8{padding-left:8px!important;padding-right:8px!important}.u-p-y-8{padding-top:8px!important;padding-bottom:8px!important}.u-p-x-9{padding-left:9px!important;padding-right:9px!important}.u-p-y-9{padding-top:9px!important;padding-bottom:9px!important}.u-p-x-10{padding-left:10px!important;padding-right:10px!important}.u-p-y-10{padding-top:10px!important;padding-bottom:10px!important}.u-p-x-11{padding-left:11px!important;padding-right:11px!important}.u-p-y-11{padding-top:11px!important;padding-bottom:11px!important}.u-p-x-12{padding-left:12px!important;padding-right:12px!important}.u-p-y-12{padding-top:12px!important;padding-bottom:12px!important}.u-p-x-13{padding-left:13px!important;padding-right:13px!important}.u-p-y-13{padding-top:13px!important;padding-bottom:13px!important}.u-p-x-14{padding-left:14px!important;padding-right:14px!important}.u-p-y-14{padding-top:14px!important;padding-bottom:14px!important}.u-p-x-15{padding-left:15px!important;padding-right:15px!important}.u-p-y-15{padding-top:15px!important;padding-bottom:15px!important}.u-p-x-16{padding-left:16px!important;padding-right:16px!important}.u-p-y-16{padding-top:16px!important;padding-bottom:16px!important}.u-p-x-17{padding-left:17px!important;padding-right:17px!important}.u-p-y-17{padding-top:17px!important;padding-bottom:17px!important}.u-p-x-18{padding-left:18px!important;padding-right:18px!important}.u-p-y-18{padding-top:18px!important;padding-bottom:18px!important}.u-p-x-19{padding-left:19px!important;padding-right:19px!important}.u-p-y-19{padding-top:19px!important;padding-bottom:19px!important}.u-p-x-20{padding-left:20px!important;padding-right:20px!important}.u-p-y-20{padding-top:20px!important;padding-bottom:20px!important}.u-p-x-21{padding-left:21px!important;padding-right:21px!important}.u-p-y-21{padding-top:21px!important;padding-bottom:21px!important}.u-p-x-22{padding-left:22px!important;padding-right:22px!important}.u-p-y-22{padding-top:22px!important;padding-bottom:22px!important}.u-p-x-23{padding-left:23px!important;padding-right:23px!important}.u-p-y-23{padding-top:23px!important;padding-bottom:23px!important}.u-p-x-24{padding-left:24px!important;padding-right:24px!important}.u-p-y-24{padding-top:24px!important;padding-bottom:24px!important}.u-p-x-25{padding-left:25px!important;padding-right:25px!important}.u-p-y-25{padding-top:25px!important;padding-bottom:25px!important}.u-p-x-26{padding-left:26px!important;padding-right:26px!important}.u-p-y-26{padding-top:26px!important;padding-bottom:26px!important}.u-p-x-27{padding-left:27px!important;padding-right:27px!important}.u-p-y-27{padding-top:27px!important;padding-bottom:27px!important}.u-p-x-28{padding-left:28px!important;padding-right:28px!important}.u-p-y-28{padding-top:28px!important;padding-bottom:28px!important}.u-p-x-29{padding-left:29px!important;padding-right:29px!important}.u-p-y-29{padding-top:29px!important;padding-bottom:29px!important}.u-p-x-30{padding-left:30px!important;padding-right:30px!important}.u-p-y-30{padding-top:30px!important;padding-bottom:30px!important}.u-p-l-0{padding-left:0!important}.u-p-r-0{padding-right:0!important}.u-p-t-0{padding-top:0!important}.u-p-b-0{padding-bottom:0!important}.u-p-l-1{padding-left:1px!important}.u-p-r-1{padding-right:1px!important}.u-p-t-1{padding-top:1px!important}.u-p-b-1{padding-bottom:1px!important}.u-p-l-2{padding-left:2px!important}.u-p-r-2{padding-right:2px!important}.u-p-t-2{padding-top:2px!important}.u-p-b-2{padding-bottom:2px!important}.u-p-l-3{padding-left:3px!important}.u-p-r-3{padding-right:3px!important}.u-p-t-3{padding-top:3px!important}.u-p-b-3{padding-bottom:3px!important}.u-p-l-4{padding-left:4px!important}.u-p-r-4{padding-right:4px!important}.u-p-t-4{padding-top:4px!important}.u-p-b-4{padding-bottom:4px!important}.u-p-l-5{padding-left:5px!important}.u-p-r-5{padding-right:5px!important}.u-p-t-5{padding-top:5px!important}.u-p-b-5{padding-bottom:5px!important}.u-p-l-6{padding-left:6px!important}.u-p-r-6{padding-right:6px!important}.u-p-t-6{padding-top:6px!important}.u-p-b-6{padding-bottom:6px!important}.u-p-l-7{padding-left:7px!important}.u-p-r-7{padding-right:7px!important}.u-p-t-7{padding-top:7px!important}.u-p-b-7{padding-bottom:7px!important}.u-p-l-8{padding-left:8px!important}.u-p-r-8{padding-right:8px!important}.u-p-t-8{padding-top:8px!important}.u-p-b-8{padding-bottom:8px!important}.u-p-l-9{padding-left:9px!important}.u-p-r-9{padding-right:9px!important}.u-p-t-9{padding-top:9px!important}.u-p-b-9{padding-bottom:9px!important}.u-p-l-10{padding-left:10px!important}.u-p-r-10{padding-right:10px!important}.u-p-t-10{padding-top:10px!important}.u-p-b-10{padding-bottom:10px!important}.u-p-l-11{padding-left:11px!important}.u-p-r-11{padding-right:11px!important}.u-p-t-11{padding-top:11px!important}.u-p-b-11{padding-bottom:11px!important}.u-p-l-12{padding-left:12px!important}.u-p-r-12{padding-right:12px!important}.u-p-t-12{padding-top:12px!important}.u-p-b-12{padding-bottom:12px!important}.u-p-l-13{padding-left:13px!important}.u-p-r-13{padding-right:13px!important}.u-p-t-13{padding-top:13px!important}.u-p-b-13{padding-bottom:13px!important}.u-p-l-14{padding-left:14px!important}.u-p-r-14{padding-right:14px!important}.u-p-t-14{padding-top:14px!important}.u-p-b-14{padding-bottom:14px!important}.u-p-l-15{padding-left:15px!important}.u-p-r-15{padding-right:15px!important}.u-p-t-15{padding-top:15px!important}.u-p-b-15{padding-bottom:15px!important}.u-p-l-16{padding-left:16px!important}.u-p-r-16{padding-right:16px!important}.u-p-t-16{padding-top:16px!important}.u-p-b-16{padding-bottom:16px!important}.u-p-l-17{padding-left:17px!important}.u-p-r-17{padding-right:17px!important}.u-p-t-17{padding-top:17px!important}.u-p-b-17{padding-bottom:17px!important}.u-p-l-18{padding-left:18px!important}.u-p-r-18{padding-right:18px!important}.u-p-t-18{padding-top:18px!important}.u-p-b-18{padding-bottom:18px!important}.u-p-l-19{padding-left:19px!important}.u-p-r-19{padding-right:19px!important}.u-p-t-19{padding-top:19px!important}.u-p-b-19{padding-bottom:19px!important}.u-p-l-20{padding-left:20px!important}.u-p-r-20{padding-right:20px!important}.u-p-t-20{padding-top:20px!important}.u-p-b-20{padding-bottom:20px!important}.u-p-l-21{padding-left:21px!important}.u-p-r-21{padding-right:21px!important}.u-p-t-21{padding-top:21px!important}.u-p-b-21{padding-bottom:21px!important}.u-p-l-22{padding-left:22px!important}.u-p-r-22{padding-right:22px!important}.u-p-t-22{padding-top:22px!important}.u-p-b-22{padding-bottom:22px!important}.u-p-l-23{padding-left:23px!important}.u-p-r-23{padding-right:23px!important}.u-p-t-23{padding-top:23px!important}.u-p-b-23{padding-bottom:23px!important}.u-p-l-24{padding-left:24px!important}.u-p-r-24{padding-right:24px!important}.u-p-t-24{padding-top:24px!important}.u-p-b-24{padding-bottom:24px!important}.u-p-l-25{padding-left:25px!important}.u-p-r-25{padding-right:25px!important}.u-p-t-25{padding-top:25px!important}.u-p-b-25{padding-bottom:25px!important}.u-p-l-26{padding-left:26px!important}.u-p-r-26{padding-right:26px!important}.u-p-t-26{padding-top:26px!important}.u-p-b-26{padding-bottom:26px!important}.u-p-l-27{padding-left:27px!important}.u-p-r-27{padding-right:27px!important}.u-p-t-27{padding-top:27px!important}.u-p-b-27{padding-bottom:27px!important}.u-p-l-28{padding-left:28px!important}.u-p-r-28{padding-right:28px!important}.u-p-t-28{padding-top:28px!important}.u-p-b-28{padding-bottom:28px!important}.u-p-l-29{padding-left:29px!important}.u-p-r-29{padding-right:29px!important}.u-p-t-29{padding-top:29px!important}.u-p-b-29{padding-bottom:29px!important}.u-p-l-30{padding-left:30px!important}.u-p-r-30{padding-right:30px!important}.u-p-t-30{padding-top:30px!important}.u-p-b-30{padding-bottom:30px!important}.comfy-tool--column{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.comfy-tool--column.reverse{flex-direction:column-reverse}.comfy-tool--column>div{width:100%;box-sizing:border-box}.comfy-tool--column .layoutpage_common>div:last-child{z-index:9}.comfy-tool--column .main-content{flex:1;overflow:hidden}.comfy-tool--column .main-content>div{height:100%;overflow:auto;box-sizing:border-box}.comfy-tool--row{height:100%;box-sizing:border-box;display:flex;flex-direction:row}.comfy-tool--row.reverse{flex-direction:row-reverse}.comfy-tool--row>div{width:100%;box-sizing:border-box}.comfy-tool--row .main-content{flex:1;overflow:hidden}.comfy-tool--row .main-content>div{height:100%;overflow-y:auto}.comfy-tool--expended{box-sizing:border-box}.comfy-tool--expended>div{box-sizing:border-box}.comfy-tool--expended:not(.u-flex-wrap):not(.u-flex-nowrap)>div{width:100%}
package/dist/index.min.js CHANGED
@@ -1 +1 @@
1
- (function(c,i){typeof exports=="object"&&typeof module!="undefined"?i(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],i):(c=typeof globalThis!="undefined"?globalThis:c||self,i(c.ComfyTool={},c.Vue))})(this,function(c,i){"use strict";var Bt=Object.defineProperty,Ut=Object.defineProperties;var Wt=Object.getOwnPropertyDescriptors;var $e=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable;var ee=Math.pow,q=(c,i,p)=>i in c?Bt(c,i,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[i]=p,b=(c,i)=>{for(var p in i||(i={}))Ft.call(i,p)&&q(c,p,i[p]);if($e)for(var p of $e(i))Yt.call(i,p)&&q(c,p,i[p]);return c},U=(c,i)=>Ut(c,Wt(i));var A=(c,i,p)=>q(c,typeof i!="symbol"?i+"":i,p);var Se=(c,i,p)=>new Promise((W,_)=>{var F=C=>{try{T(p.next(C))}catch(O){_(O)}},Y=C=>{try{T(p.throw(C))}catch(O){_(O)}},T=C=>C.done?W(C.value):Promise.resolve(C.value).then(F,Y);T((p=p.apply(c,i)).next())});function p(e){return Array.isArray(e)?e[e.length-1]:e}function W(e,t={}){var r;t.allParam=(r=t.allParam)!=null?r:!0,e=decodeURI(decodeURI(e));let n=null;if(t.allParam){let o=e.match(/\?([^\?#]*)/g);if(!o)return null;for(const l of o)l.includes("=")&&(n||(n={}),Object.assign(n,O(l.substring(1))))}else{let o=e.match(/\?([^\?]*$)/);if(!o&&!e.includes("="))return null;n=O(o?o[1]:e)}return n&&!t.repeat&&Object.entries(n).forEach(([o,l])=>{n[o]=p(l)}),n}function _(e,t){return decodeURI(Ae(e,{sort:(n,r)=>n>r?0:-1}))}function F(e,t){return t?(typeof t!="string"&&(t=_(t)),t?e+(/^([^#]*\?[^#]*$)|(.*#.*\?.*$)/.test(e)?"&":"?")+t:e):e}function Y(e){return/^https?:\/\//.test(e)}function T(e){return/^(https?:\/\/|blob:|data:)/.test(e)}function C(e){let[t,n]=e.split("//"),[r,o]=n.split("/");return[t+"//",r,o]}function O(e){return e?(e.startsWith("?")&&(e=e.slice(1)),e.split("&").reduce((t,n)=>{if(!n)return t;const[r,o]=n.split("="),l=decodeURIComponent(r||""),s=decodeURIComponent(o||"");return t[l]!==void 0?(Array.isArray(t[l])||(t[l]=[t[l]]),t[l].push(s)):t[l]=s,t},{})):{}}function Ae(e,t={}){if(!e||typeof e!="object")return"";const{sort:n}=t;let r=Object.keys(e);return typeof n=="function"&&r.sort(n),r.map(o=>{const l=e[o];return Array.isArray(l)?l.map(s=>`${encodeURIComponent(o)}=${encodeURIComponent(String(s))}`).join("&"):`${encodeURIComponent(o)}=${encodeURIComponent(String(l))}`}).join("&")}function _e(){}function Te(e){}function xe(e){G(e)}const K=Object.assign;function te(e){return Object.keys(e)}function ke(e){return Object.values(e)}function ne(e){return Object.entries(e)}function oe(e,t,n=!1){return t.reduce((r,o)=>((!n||e[o]!==void 0)&&(r[o]=e[o]),r),{})}function I(e,t,n=!1){return Object.keys(e).filter(o=>!t.includes(o)).reduce((o,l)=>((!n||e[l]!==void 0)&&(o[l]=e[l]),o),{})}function M(e){return Object.prototype.toString.call(e).match(/\[object (.+)\]/)[1]}function Le(e,t){let n=e;if(t){const r=typeof t=="string"?t.split("."):t;for(const o of r)if(n&&typeof n=="object"&&o in n)n=n[o];else return}return n}function N(e,t,{arrayMergeStrategy:n,deepMerge:r}={}){if(!t||Object.keys(t).length===0)return $(e);if(!e||Object.keys(e).length===0)return $(t);let o=$(e);for(const l of Object.keys(t)){let s=e[l],u=t[l];if(r&&M(s)=="Object"&&M(u)=="Object")o[l]=N(s,u);else if(r&&Array.isArray(s)&&Array.isArray(u))switch(n){case"concat":o[l]=[...s,...u];break;case"merge":o[l]=s.map((d,f)=>f<u.length?N({value:d},{value:u[f]}).value:d);break;case"replace":default:o[l]=[...u];break}else o[l]=u}return o}const re=e=>JSON.parse(JSON.stringify(e)),$=function(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.length?e.map(n=>$(n)):[];if(M(e)==="Object"){var t={};return Object.keys(e).forEach(n=>{t[n]=$(e[n])}),t}return e};function le(e){return e.replace(/^-(\w)/g,(t,n)=>n.toLocaleUpperCase())}function Ie(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,"")}function Me(e,t=2){for(var n=e+"";n.length<t;)n="0"+n;return n}function Ne(e,t=2){if(e.length===0||!t)return[];const n=[];let r=[];for(let o=0;o<e.length;o++)r.push(e[o]),r.length===t&&(n.push(r),r=[]);return r.length>0&&n.push(r),n}function Pe(e){let t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push({text:e[n],label:e[n],value:n});return t}function He(e){let t={};return e.forEach(n=>{t[n.value]=n.text}),t}function Re(e){let t=new FormData;return Object.entries(e).forEach(([n,r])=>{t.append(n,r)}),t}function ie(e,t={}){let{labelKey:n,valueKey:r,childrenKey:o,keepEmptyChildren:l}=t;return n=n||"label",r=r||"value",o=o||"children",l=l!==!1,e.map(s=>{const u=U(b({},s),{label:s[n]||s.label||"",value:s[r]||s.value||"",text:s[r]||s.value||""});return s[o]&&Array.isArray(s[o])&&(l||s[o].length)&&(u.children=ie(s[o],t)),u})}function Ve(e,t){if(!t)return e;const n=e.indexOf(t);return n===-1?e:e.filter((r,o)=>o!==n)}function je(e,t){if(!t)return;let n=e.indexOf(t);n>=0&&e.splice(n,1)}function Be(e){return e.filter(t=>t!=null)}function Ue(e){return e.filter(t=>!!t)}function We(e){e.splice(0,e.length)}function Fe(e,t){if(!e||!t||!e.length||!t.length)return!1;var n=t.some(r=>e.includes(r));return n}function Ye(e,t=2){return n(e,t);function n(r,o){return o--,r.map(l=>(o<=0?delete l.children:l.children=l.children?n(l.children,o):[],l))}}function Ke(e,t=1,n=!0){let r=[...e];return t>=r.length&&n?r:se(r).slice(0,t)}function se(e){const t=[...e];for(let n=t.length;--n;){const r=Math.floor(Math.random()*(n+1));[t[n],t[r]]=[t[r],t[n]]}return t}function Ge(e,t){const[n,r,o]=t;let l={};s(e,[]);function s(u,d){u.forEach((f,g)=>{let h=re(d);if(h.push(g),Array.isArray(f))s(f,h);else{let y=f[n]||r&&f[r]||o&&f[o];y&&(l[y]=h)}})}return l}function ae(e){return typeof e=="number"||/^[+-]?\d*(\.\d+)?$/.test(e)}function v(e,t){return typeof e=="number"?e+t:e+(ae(e)?t:"")}function Je(e,t,n=2){return Math.floor(e/t*100*ee(10,n))/ee(10,n)}function fe(e,t){return ue(P(e).getDay(),t)}function ue(e,t=0){return typeof e=="string"&&(e=parseInt(e)),[["星期天","星期一","星期二","星期三","星期四","星期五","星期六","星期天"],["周日","周一","周二","周三","周四","周五","周六","周日"]][t][e]}function m(e,t="YYYY-MM-DD"){(typeof e=="number"||typeof e=="string")&&(e=P(e));let n={"Y+":e.getFullYear(),"M+":e.getMonth()+1,"D+":e.getDate(),"H+":e.getHours(),"m+":e.getMinutes(),"S+":e.getSeconds()};return Object.keys(n).forEach(r=>{let o=r,l=new RegExp(o),s=null;(s=t.match(l))&&(s[0].length>1&&n[o]<10?t=t.replace(l,"0"+n[o]):t=t.replace(l,n[o].toString()))}),t}function P(e){return e?(typeof e=="string"&&(e=e.replace(/\-/g,"/")),e=new Date(e),e.getTime()?e:new Date):new Date}function ze(e){let t=new Date,n=t.getDay(),r=t.getDate(),o=new Date,l=new Date,s=new Date,u=new Date,d=new Date,f,g,h=t.getFullYear(),y=t.getMonth();return o=new Date(h,y,r-(n||7)+1),l=new Date(o),l.setDate(o.getDate()-7),s=new Date(l),s.setDate(l.getDate()+6),f=new Date(h,y,1),g=new Date(h,y+1,0),u=new Date(h,y-1,1),d=new Date(h,y,0),e&&(t=m(t),o=m(o),l=m(l),s=m(s),f=m(f),g=m(g),u=m(u),d=m(d)),{today:t,thisWeekFirst:o,lastWeekFirst:l,lastWeekEnd:s,thisMonthFirst:f,thisMonthEnd:g,lastMonthFirst:u,lastMonthEnd:d}}function Xe(e,t,n){typeof e=="string"&&(e=e.replace(/\-/g,"/"));let r=60*1e3,o=60*r,l=24*o,s=new Date(e),u=new Date().getTime()-s.getTime(),d=new Date().toString().slice(0,15)===s.toString().slice(0,15),f=fe(s),g=t?"今天":"",h=Math.floor(u/l),y=Math.floor(u/o),V=Math.floor(u/r);return n=n||7,h>n?m(s,"MM月DD日 HH:mm"):h>2?f+" "+m(s,"HH:mm"):h>1?"前天 "+m(s,"HH:mm"):h>0?"昨天 "+m(s,"HH:mm"):y>=11?(d?g:"昨天 ")+m(s,"HH:mm"):y>=1?d?y+"小时前":"昨天 "+m(s,"HH:mm"):V>=1?V+"分钟前":"刚刚"}function Ze(e,t){let n=P(e);return m(n.setDate(n.getDate()+t))}function Qe(e,t=1e3){let n=null;return function(){let r=this,o=arguments;n&&clearTimeout(n),n=setTimeout(function(){e.apply(r,o)},t)}}function qe(e,t=1e3){let n;return function(){(!n||Date.now()-n>t)&&(e.apply(this,arguments),n=Date.now())}}function et(e,t=1e3){let n;return function(...r){return Se(this,null,function*(){if(!n||Date.now()-n>t)return n=Date.now(),yield e.apply(this,r)})}}function ce(e,t=[]){Array.isArray(e)?e.forEach(n=>{n&&typeof n=="function"&&n.apply(void 0,t)}):e&&typeof e=="function"&&e.apply(void 0,t)}const tt={cacheResult(e){let t=null,n=null;return function(...r){return t&&r&&t===JSON.stringify(r)?n:(t=JSON.stringify(r),n=e.apply(this,r))}}};function de(e){return e?/^\[.*\]$/.test(e):!1}function pe(e){return e?/^\{.*\}$/.test(e):!1}function he(e){return/^\/.+\/[img]{0,3}$/.test(e)}function nt(e){return typeof e=="string"?de(e)?JSON.parse(e||"[]"):[]:e||[]}function ot(e){return typeof e=="string"?pe(e)?JSON.parse(e||"{}"):{}:e||{}}function rt(e){if(typeof e=="string"&&he(e)){let t=e.match(/^\/(.+)\/([img]{0,3})$/);return new RegExp(t[1],t[2])}else return new RegExp("")}function lt(e,t="i"){return e=`^${e.replace(/\b|\B/g,".*")}$`,new RegExp(e,t)}function it(e){const t=e.split(";base64,"),n=t[0].split(":")[1],r=window.atob(t[1]),o=r.length,l=new Uint8Array(o);for(let s=0;s<o;s+=1)l[s]=r.charCodeAt(s);return new Blob([l],{type:n})}function st(e){return e.install=t=>{let{name:n}=e;t.component(n,e),t.component(le("-"+n),e)},e}function at(e,t=i.h("div"),n){return e?typeof e=="function"?e()||t:i.h(e,n&&i.reactive(n)):t}function ft(e){return!!(e&&e.$el&&e.$props&&e.$options&&e.$emit)}function ut(e){let t=me(e);t&&(t.scrollTop=0)}function me(e){return document.getElementById(e)}function ye(e){let t=i.unref(e);return ft(t)?t.$el:t instanceof HTMLElement?t:null}function ct(e,t){return getComputedStyle(e).getPropertyValue(t)}function dt(e,t,n=!0){e.classList.remove(...t.split(" ")),n&&e.classList.add(t)}const D={rootId:"app",app:void 0};function pt(e={}){e.rootId&&(D.rootId=e.rootId),e.app&&(D.app=e.app)}const x={toast(e){},alert(e){alert(e)},showLoading(e){},hideLoading(){}};function ge(e){let t=te(D);pt(oe(e,t)),N(x,I(e,t),{deepMerge:!0,arrayMergeStrategy:"concat"})}function G(e){x.toast(e)}function ht(e){x.alert(e)}const H={show(e=""){x.showLoading(e)},hide(){x.hideLoading()}};let be=document.createElement("a");function mt(e,t="未获取到联系电话"){if(!e)return G(t);e=typeof e=="number"?e.toString():e,be.href=/^tel:.*/.test(e)?e:"tel:"+e,be.click()}const yt=Object.freeze(Object.defineProperty({__proto__:null,$:me,$alert:ht,$loading:H,$refDOM:ye,$toast:G,Fn:tt,addUnit:v,arrayToGroup:Ne,base64ToBlob:it,camelize:le,cloneJSON:re,dateGo:Ze,dealTime:Xe,debounce:Qe,deepClone:$,deleteItemForArr:je,emptyArray:We,entriesOf:ne,errorCatch:xe,extend:K,formatDate:m,formatSelectedData:Ye,formatToSelectData:ie,getArrayDataIndex:Ge,getDateConfig:ze,getElementPropertyValue:ct,getFuzzyMatchRegExp:lt,getPercentage:Je,getProperty:Le,getRandomElements:Ke,getUniqueParam:p,getWeek:fe,getWeekByNo:ue,hasSameItem:Fe,isArrayString:de,isFullUrl:T,isNumber:ae,isObjectString:pe,isRegExpString:he,isWebUrl:Y,kebabCase:Ie,keysOf:te,merge:N,methodApply:ce,noop:_e,noopCatch:Te,padZero:Me,parseArray:nt,parseDate:P,parseObject:ot,parseRegExp:rt,parseUrl:C,pick:oe,pickEx:I,queryParse:W,queryStringify:_,removeEmptyForArr:Be,removeFalseForArr:Ue,removeItemForArr:Ve,scrollToTop:ut,selectDataToObj:He,shuffleArray:se,telephoneCall:mt,throttle:qe,throttleAsync:et,toFormData:Re,toSelectData:Pe,toggleClass:dt,typeOf:M,urlAddParams:F,valuesOf:ke},Symbol.toStringTag,{value:"Module"})),w={};function we(e){return w[e.url]&&w[e.url].status===1?Promise.resolve("The resource is already loaded!"):w[e.url]&&w[e.url].status===2?new Promise((t,n)=>{w[e.url].waiters.push(t)}):e.production?Promise.resolve("Ignored in development environment!"):(H.show("资源加载中"),w[e.url]?w[e.url].status=2:w[e.url]={status:2,waiters:[]},new Promise((t,n)=>{const r=()=>{s(),d()},o=()=>{u(),d()};let l=null;e.type==="js"?(l=document.createElement("script"),l.src=e.url,l.onload=r,l.onerror=o):e.type==="css"&&(l=document.createElement("link"),l.rel="stylesheet",l.href=e.url,l.onload=r,l.onerror=o),l&&document.head.appendChild(l);function s(){w[e.url].status=1,H.hide(),t(e.url),ce(w[e.url].waiters,[e.url])}function u(){w[e.url].status=0,H.hide(),n(new Error("Failed to load "+e.url))}function d(){l&&(l.onload=null,l.onerror=null)}}))}function gt(e){return Array.isArray(e)?Promise.all(e.map(t=>we(t))):we(e)}class bt{constructor(t,n){A(this,"component");A(this,"appDOM");A(this,"instance");A(this,"container");A(this,"properties");this.properties=n,this.component=t,this.container=document.createElement("div");const r=i.createVNode(t,this.properties);D.app&&(r.appContext=D.app._context),i.render(r,this.container),this.instance=r.component,this.appDOM=this.container.firstChild,this.init()}init(){this.properties.teleport?this.properties.teleport:D.rootId,this.appDOM&&!this.appDOM.nodeName.startsWith("#")&&document.body.appendChild(this.appDOM)}static use(t){Object.assign(D,t)}unmount(){this.properties.teleport?this.properties.teleport:D.rootId,document.body.removeChild(this.appDOM),this.instance.unmount()}close(){this.toggle(!1)}toggle(t,n){t?this.instance.open(n):this.instance.close(n)}}i.createVNode(i.Fragment,null,[i.createVNode("div",{class:"dialog"},null)]);const Ce={show:!1,keepAlive:!1},J=i.defineComponent({name:"comfy-tool-layer",components:{},emits:["confirm","close","cancel"],setup(e,{attrs:t,emit:n,slots:r,expose:o}){const l=i.shallowRef(null),s=i.shallowRef(null),u=i.ref(!0);let d;const f=i.shallowReactive(b(b(b({},Ce),t),e)),g={onConfirm(){},onClose(){}},h=i.createVNode("div",{style:{height:"150px"}},null);function y(a){f.show=a}function V(){return d=at(s.value,h,U(b({},f.contentProps),{LAYERSHOW:f.show})),d}function Vt(){let a;return!f.keepAlive&&!f.show&&!u.value?a=()=>h:a=r.default?r.default:V,()=>a()}function jt(){S.cancel()}function j(a){if(d&&d.component){let{ctx:L,exposed:Q}=d.component;Q&&Q[a]?Q[a]():L&&L[a]&&L[a]()}}let B;function Z(a){f.show=a,f.show||f.keepAlive?(u.value=!0,B&&clearTimeout(B),B=null):B=setTimeout(()=>{u.value=!1},500),i.nextTick(()=>{f.show&&(j("onLayerShow"),j("queryData"))})}const S={init(a={},L=Ce){K(f,L,a&&I(a,["content","baseContent"])),a.onConfirm&&(g.onConfirm=a.onConfirm),a.onClose&&(g.onClose=a.onClose),a.baseContent&&(l.value=a.baseContent),s.value=a.content},open(a){S.init(a,{}),Z(!0)},confirm(a){n("confirm"),Z(!!g.onConfirm(a,S.close))},close(a="complete"){g.onClose(a),n("close"),Z(!1),j("onClose")},cancel(){S.close("cancel"),n("cancel"),j("onCancel")}};return i.watch(()=>t,a=>{K(f,{},a)}),o(S),i.provide("Layer",S),()=>{var a;return l.value?i.h(l.value,U(b(b(b({class:["comfy-tool--layer",(a=f.class)!=null?a:""],style:b({},f.style)},t),f.baseContentProps),I(f,["show","content","contentProps","onClose","width","height","class","style","baseContent","baseContentProps"])),{show:f.show,"onUpdate:show":y,onClose:jt}),{default:Vt(),overlayContent:r.overlayContent}):""}}});var E;class R extends bt{constructor(t,n){super(t,n)}open(t){return this.appDOM&&document.body.appendChild(this.appDOM),this.instance.exposed.open(t)}static create(t={},n=!0){if(!E||n){let r=new R(J,t);if(n)return r;E||(E=r)}else E.instance.exposed.init(t);return E}}function k(e,t=!1){return new Promise((n,r)=>{R.create({},t).open(b({onConfirm(o,l){n(o)},onClose(o){r(o)}},e))})}k.create=R.create,k.close=()=>{E&&E.close()},k.Component=st(J),k.Component=J;const wt={mounted(e,t,n,r){typeof t.value=="function"&&t.value(e)},unmounted(e,t,n,r){typeof t.value=="function"&&t.value(null)}},Ct={mounted(e,t,n,r){e.focus()},updated(e,t,n,r){}},Dt=function(t,n,r,o){t.style.height=t.parentElement.offsetHeight+"px",t.style.minHeight="100%"};function vt(e,t,n,r){if(t.value.__used)return;let o=b({},t.value);if(o.behavior=o.behavior||"smooth",typeof o.right=="number"&&(o.left=e.scrollWidth-o.right),typeof o.bottom=="number"&&(o.top=e.scrollHeight-o.bottom),o.target){let l=ye(o.target);if(l){let{offsetTop:s,offsetLeft:u}=l.offsetParent||{offsetTop:0,offsetLeft:0};o.left=l.offsetLeft-e.offsetLeft+u,o.top=l.offsetTop-e.offsetTop+s}}o.left&&typeof o.offsetX=="number"&&(o.left+=o.offsetX),o.top&&typeof o.offsetY=="number"&&(o.top+=o.offsetY),Object.defineProperty(t.value,"__used",{value:!0,enumerable:!1,writable:!0}),o.beforeScroll?o.beforeScroll(()=>{e.scrollTo(o)},o,e):e.scrollTo(o)}const De=Symbol("INSTALLED_KEY"),ve=Symbol("COMPONENT_INSTALLED_KEY"),Ee=Symbol("DIRECTIVES_INSTALLED_KEY"),z={dom:wt,focus:Ct,maxHeight:Dt,scroll:vt};function Et(e){if(!e[Ee]){e[Ee]=!0;for(const t of Object.keys(z))e.directive(z[t].name||t,z[t])}}const Ot=i.defineComponent({name:"column",inheritAttrs:!1,props:{bgGray:{type:Boolean},bgGrey:{type:Boolean},reverse:{type:Boolean}},setup(){}}),X=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},$t={class:"main-content"};function St(e,t,n,r,o,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:["layoututil_column",{reverse:e.reverse}]},e.$attrs),[i.renderSlot(e.$slots,"before"),i.renderSlot(e.$slots,"before-content"),i.createElementVNode("div",$t,[i.renderSlot(e.$slots,"default")]),i.renderSlot(e.$slots,"after-content"),i.renderSlot(e.$slots,"after")],16)}const At=X(Ot,[["render",St]]),_t=i.defineComponent({name:"row",inheritAttrs:!1,props:{bgGray:{type:Boolean},bgGrey:{type:Boolean},reverse:{type:Boolean}},setup(){}}),Tt={class:"main-content"};function xt(e,t,n,r,o,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:["layoututil_row",{reverse:e.reverse}]},e.$attrs),[i.renderSlot(e.$slots,"before"),i.renderSlot(e.$slots,"before-content"),i.createElementVNode("div",Tt,[i.renderSlot(e.$slots,"default")]),i.renderSlot(e.$slots,"after-content"),i.renderSlot(e.$slots,"after")],16)}const kt=X(_t,[["render",xt]]),Lt=i.defineComponent({name:"expended",inheritAttrs:!1,props:{flex:{type:[Number,String],default:1},width:[Number,String],height:[Number,String],minWidth:[Number,String],minHeight:[Number,String],maxWidth:[Number,String],maxHeight:[Number,String],row:Boolean,column:Boolean},setup(e){const t={flex:""},n=[];switch(e.flex){case"100%":t.flex="unset",t.width="100%";break;case"-":t.flex="unset";break;default:t.flex=e.flex;break}return e.minWidth&&(t.minWidth=v(e.minWidth,"px")),e.minHeight&&(t.minHeight=v(e.minHeight,"px")),e.maxWidth&&(t.maxWidth=v(e.maxWidth,"px")),e.maxHeight&&(t.maxHeight=v(e.maxHeight,"px")),e.width&&(t.width=v(e.width,"px")),e.height&&(t.height=v(e.height,"px")),e.column?n.push("u-flex-nowrap u-box-flex-col"):e.row&&n.push("u-flex-wrap"),{style:t,className:n}}});function It(e,t,n,r,o,l){return i.openBlock(),i.createElementBlock("div",i.mergeProps({class:["layoututil_expended",e.className],style:e.style},e.$attrs),[i.renderSlot(e.$slots,"default")],16)}const Mt={column:At,row:kt,expended:X(Lt,[["render",It]])};function Nt(e){e[ve]||(e[ve]=!0,ne(Mt).forEach(([t,n])=>{e.component(t,n)}))}const Pt="1.0.3",Ht=yt;function Oe(e){ge({app:e}),Et(e),Nt(e)}const Rt={install(e){e[De]||(e[De]=!0,Oe(e))}};c.ComfyTool=Ht,c.Layer=k,c.configComfyTool=ge,c.default=Rt,c.resourceLoader=gt,c.useComfyTool=Oe,c.version=Pt,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(s,f){typeof exports=="object"&&typeof module!="undefined"?f(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],f):(s=typeof globalThis!="undefined"?globalThis:s||self,f(s.ComfyTool={},s.Vue))})(this,function(s,f){"use strict";var Vt=Object.defineProperty,jt=Object.defineProperties;var Ut=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var Wt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable;var Q=Math.pow,Se=(s,f,h)=>f in s?Vt(s,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):s[f]=h,b=(s,f)=>{for(var h in f||(f={}))Wt.call(f,h)&&Se(s,h,f[h]);if(_e)for(var h of _e(f))Ft.call(f,h)&&Se(s,h,f[h]);return s},W=(s,f)=>jt(s,Ut(f));var Le=(s,f,h)=>new Promise((A,T)=>{var F=C=>{try{_(h.next(C))}catch(S){T(S)}},N=C=>{try{_(h.throw(C))}catch(S){T(S)}},_=C=>C.done?A(C.value):Promise.resolve(C.value).then(F,N);_((h=h.apply(s,f)).next())});function h(e){try{return decodeURI(e)}catch(t){return console.warn("[Decode Error]",e),e}}function A(e){try{return decodeURIComponent(e)}catch(t){return console.warn("[Decode Error]",e),e}}function T(e){return Array.isArray(e)?e[e.length-1]:e}function F(e,t={}){var o;t.allParam=(o=t.allParam)!=null?o:!0,e=h(h(e));let n=null;if(t.allParam){let r=e.match(/\?([^\?#]*)/g);if(!r)return null;for(const i of r)i.includes("=")&&(n||(n={}),Object.assign(n,q(i.substring(1))))}else{let r=e.match(/\?([^\?]*$)/);if(!r&&!e.includes("="))return null;n=q(r?r[1]:e)}return n&&!t.repeat&&Object.entries(n).forEach(([r,i])=>{n[r]=T(i)}),n}function N(e,t){return decodeURI(Me(e,b({sort:(n,o)=>n>o?0:-1},t)))}function _(e,t){return t?(typeof t!="string"&&(t=N(t)),t?e+(/^([^#]*\?[^#]*$)|(.*#.*\?.*$)/.test(e)?"&":"?")+t:e):e}function C(e){return/^https?:\/\//.test(e)}function S(e){return/^(https?:\/\/|blob:|data:)/.test(e)}function Ie(e){let[t,n]=e.split("//"),[o,r]=n.split("/");return[t+"//",o,r]}function q(e){return e?(e.startsWith("?")&&(e=e.slice(1)),e.split("&").reduce((t,n)=>{if(!n)return t;const[o,r]=n.split("="),i=A(o||""),l=A(r||"");return t[i]!==void 0?(Array.isArray(t[i])||(t[i]=[t[i]]),t[i].push(l)):t[i]=l,t},{})):{}}function Me(e,t={}){if(!e||typeof e!="object")return"";const{sort:n}=t;let o=Object.keys(e);return typeof n=="function"&&o.sort(n),o.map(r=>{const i=e[r];return Array.isArray(i)?i.map(l=>`${encodeURIComponent(r)}=${encodeURIComponent(String(l))}`).join("&"):`${encodeURIComponent(r)}=${encodeURIComponent(String(i))}`}).join("&")}const Y=Object.assign;function ee(e){return Object.keys(e)}function Ne(e){return Object.values(e)}function te(e){return Object.entries(e)}function ne(e,t,n=!1){return t.reduce((o,r)=>((!n||e[r]!==void 0)&&(o[r]=e[r]),o),{})}function L(e,t,n=!1){return Object.keys(e).filter(r=>!t.includes(r)).reduce((r,i)=>((!n||e[i]!==void 0)&&(r[i]=e[i]),r),{})}function P(e){return Object.prototype.toString.call(e).match(/\[object (.+)\]/)[1]}function Pe(e,t){let n=e;if(t){const o=typeof t=="string"?t.split("."):t;for(const r of o)if(n&&typeof n=="object"&&r in n)n=n[r];else return}return n}function $(e,t,{arrayMergeStrategy:n,deepMerge:o}={}){if(!t||Object.keys(t).length===0)return O(e);if(!e||Object.keys(e).length===0)return O(t);let r=O(e);for(const i of Object.keys(t)){let l=e[i],a=t[i];if(o&&P(l)=="Object"&&P(a)=="Object")r[i]=$(l,a);else if(o&&Array.isArray(l)&&Array.isArray(a))switch(n){case"concat":r[i]=[...l,...a];break;case"merge":r[i]=l.map((d,c)=>c<a.length?$({value:d},{value:a[c]}).value:d);break;case"replace":default:r[i]=[...a];break}else r[i]=a}return r}const re=e=>JSON.parse(JSON.stringify(e)),O=function(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.length?e.map(n=>O(n)):[];if(P(e)==="Object"){var t={};return Object.keys(e).forEach(n=>{t[n]=O(e[n])}),t}return e};function oe(e){return e.replace(/^-(\w)/g,(t,n)=>n.toLocaleUpperCase())}function $e(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,"")}function ie(e,t=2){for(var n=e+"";n.length<t;)n="0"+n;return n}function Re(e,t=2){if(e.length===0||!t)return[];const n=[];let o=[];for(let r=0;r<e.length;r++)o.push(e[r]),o.length===t&&(n.push(o),o=[]);return o.length>0&&n.push(o),n}function ke(e){let t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push({text:e[n],label:e[n],value:n});return t}function He(e){let t={};return e.forEach(n=>{t[n.value]=n.text}),t}function Ve(e){let t=new FormData;return Object.entries(e).forEach(([n,o])=>{t.append(n,o)}),t}function le(e,t={}){let{labelKey:n,valueKey:o,childrenKey:r,keepEmptyChildren:i}=t;return n=n||"label",o=o||"value",r=r||"children",i=i!==!1,e.map(l=>{const a=W(b({},l),{label:l[n]||l.label||"",value:l[o]||l.value||"",text:l[o]||l.value||""});return l[r]&&Array.isArray(l[r])&&(i||l[r].length)&&(a.children=le(l[r],t)),a})}function je(e,t){if(!t)return e;const n=e.indexOf(t);return n===-1?e:e.filter((o,r)=>r!==n)}function Ue(e,t){if(!t)return;let n=e.indexOf(t);n>=0&&e.splice(n,1)}function We(e){return e.filter(t=>t!=null)}function Fe(e){return e.filter(t=>!!t)}function Ye(e){e.splice(0,e.length)}function Ke(e,t){if(!e||!t||!e.length||!t.length)return!1;var n=t.some(o=>e.includes(o));return n}function Be(e,t=2){return n(e,t);function n(o,r){return r--,o.map(i=>(r<=0?delete i.children:i.children=i.children?n(i.children,r):[],i))}}function Je(e,t=1,n=!0){let o=[...e];return t>=o.length&&n?o:fe(o).slice(0,t)}function fe(e){const t=[...e];for(let n=t.length;--n;){const o=Math.floor(Math.random()*(n+1));[t[n],t[o]]=[t[o],t[n]]}return t}function Ge(e,t){const[n,o,r]=t;let i={};l(e,[]);function l(a,d){a.forEach((c,g)=>{let p=re(d);if(p.push(g),Array.isArray(c))l(c,p);else{let y=c[n]||o&&c[o]||r&&c[r];y&&(i[y]=p)}})}return i}function ae(e){return typeof e=="number"||/^[+-]?\d*(\.\d+)?$/.test(e)}function D(e,t){return typeof e=="number"?e+t:e+(ae(e)?t:"")}function ze(e,t,n=2){return Math.floor(e/t*100*Q(10,n))/Q(10,n)}const ue=["一","二","三","四","五","六","七","八","九","十"],Xe=[["天",...ue.slice(0,6),"天"].map(e=>`星期${e}`),["日",...ue.slice(0,6),"日"].map(e=>`周${e}`)];function ce(e,t){return se(R(e).getDay(),t)}function se(e,t=0){return typeof e=="string"&&(e=parseInt(e)),Xe[t][e]}function m(e,t="YYYY-MM-DD"){(typeof e=="number"||typeof e=="string")&&(e=R(e));const n={"Y+":e.getFullYear(),"M+":e.getMonth()+1,"D+":e.getDate(),"H+":e.getHours(),"m+":e.getMinutes(),"[Ss]+":e.getSeconds()};return Object.keys(n).forEach(o=>{const r=new RegExp(o),i=t.match(r);if(i){const l=n[o],a=ie(l,i[0].length);t=t.replace(r,a)}}),t}function R(e){return e?(typeof e=="string"&&(e=e.replace(/\-/g,"/")),e=new Date(e),e.getTime()?e:new Date):new Date}function Ze(e){let t=new Date,n=t.getDay(),o=t.getDate(),r=new Date,i=new Date,l=new Date,a=new Date,d=new Date,c,g,p=t.getFullYear(),y=t.getMonth();return r=new Date(p,y,o-(n||7)+1),i=new Date(r),i.setDate(r.getDate()-7),l=new Date(i),l.setDate(i.getDate()+6),c=new Date(p,y,1),g=new Date(p,y+1,0),a=new Date(p,y-1,1),d=new Date(p,y,0),e&&(t=m(t),r=m(r),i=m(i),l=m(l),c=m(c),g=m(g),a=m(a),d=m(d)),{today:t,thisWeekFirst:r,lastWeekFirst:i,lastWeekEnd:l,thisMonthFirst:c,thisMonthEnd:g,lastMonthFirst:a,lastMonthEnd:d}}function Qe(e,t,n){typeof e=="string"&&(e=e.replace(/\-/g,"/"));let o=60*1e3,r=60*o,i=24*r,l=new Date(e),a=new Date().getTime()-l.getTime(),d=new Date().toString().slice(0,15)===l.toString().slice(0,15),c=ce(l),g=t?"今天":"",p=Math.floor(a/i),y=Math.floor(a/r),V=Math.floor(a/o);return n=n||7,p>n?m(l,"MM月DD日 HH:mm"):p>2?c+" "+m(l,"HH:mm"):p>1?"前天 "+m(l,"HH:mm"):p>0?"昨天 "+m(l,"HH:mm"):y>=11?(d?g:"昨天 ")+m(l,"HH:mm"):y>=1?d?y+"小时前":"昨天 "+m(l,"HH:mm"):V>=1?V+"分钟前":"刚刚"}function qe(e,t){let n=R(e);return m(n.setDate(n.getDate()+t))}function et(e,t=1e3){let n=null;return function(){let o=this,r=arguments;n&&clearTimeout(n),n=setTimeout(function(){e.apply(o,r)},t)}}function tt(e,t=1e3){let n;return function(){(!n||Date.now()-n>t)&&(e.apply(this,arguments),n=Date.now())}}function nt(e,t=1e3){let n;return function(...o){return Le(this,null,function*(){if(!n||Date.now()-n>t)return n=Date.now(),yield e.apply(this,o)})}}function de(e,t=[]){Array.isArray(e)?e.forEach(n=>{n&&typeof n=="function"&&n.apply(void 0,t)}):e&&typeof e=="function"&&e.apply(void 0,t)}const rt={cacheResult(e){let t=null,n=null;return function(...o){return t&&o&&t===JSON.stringify(o)?n:(t=JSON.stringify(o),n=e.apply(this,o))}}};function he(e){return e?/^\[.*\]$/.test(e):!1}function pe(e){return e?/^\{.*\}$/.test(e):!1}function me(e){return/^\/.+\/[img]{0,3}$/.test(e)}function ot(e){return typeof e=="string"?he(e)?JSON.parse(e||"[]"):[]:e||[]}function it(e){return typeof e=="string"?pe(e)?JSON.parse(e||"{}"):{}:e||{}}function lt(e){if(typeof e=="string"&&me(e)){let t=e.match(/^\/(.+)\/([img]{0,3})$/);return new RegExp(t[1],t[2])}else return new RegExp("")}function ft(e,t="i"){return e=`^${e.replace(/\b|\B/g,".*")}$`,new RegExp(e,t)}function at(e){const t=e.split(";base64,"),n=t[0].split(":")[1],o=window.atob(t[1]),r=o.length,i=new Uint8Array(r);for(let l=0;l<r;l+=1)i[l]=o.charCodeAt(l);return new Blob([i],{type:n})}function K(e){return e.install=t=>{let{name:n}=e;t.component(n,e),t.component(oe("-"+n),e)},e}function ut(e,t=f.h("div"),n){return e?typeof e=="function"?e()||t:f.h(e,n&&f.reactive(n)):t}function ct(e){return!!(e&&e.$el&&e.$props&&e.$options&&e.$emit)}function st(e){let t=ye(e);t&&(t.scrollTop=0)}function ye(e){return document.getElementById(e)}function ge(e){let t=f.unref(e);return ct(t)?t.$el:t instanceof HTMLElement?t:null}function dt(e,t){return getComputedStyle(e).getPropertyValue(t)}function ht(e,t,n=!0){e.classList.remove(...t.split(" ")),n&&e.classList.add(t)}const v={rootId:"app",app:void 0};function pt(e={}){e.rootId&&(v.rootId=e.rootId),e.app&&(v.app=e.app)}const I={toast(e){},alert(e){alert(e)},showLoading(e){},hideLoading(){}};function be(e){let t=ee(v);pt(ne(e,t)),$(I,L(e,t),{deepMerge:!0,arrayMergeStrategy:"concat"})}function mt(){}function yt(e){}function gt(e){B(e)}function B(e){I.toast(e)}function bt(e){I.alert(e)}const k={show(e=""){I.showLoading(e)},hide(){I.hideLoading()}};let J;try{J=document.createElement("a")}catch(e){}function wt(e,t="未获取到联系电话"){if(!e)return B(t);e=typeof e=="number"?e.toString():e,J.href=/^tel:.*/.test(e)?e:"tel:"+e,J.click()}const Ct=Object.freeze(Object.defineProperty({__proto__:null,$:ye,$alert:bt,$loading:k,$refDOM:ge,$toast:B,Fn:rt,addUnit:D,arrayToGroup:Re,base64ToBlob:at,camelize:oe,cloneJSON:re,dateGo:qe,dealTime:Qe,debounce:et,decodeURIComponentSafe:A,decodeURISafe:h,deepClone:O,deleteItemForArr:Ue,emptyArray:Ye,entriesOf:te,errorCatch:gt,extend:Y,formatDate:m,formatSelectedData:Be,formatToSelectData:le,getArrayDataIndex:Ge,getDateConfig:Ze,getElementPropertyValue:dt,getFuzzyMatchRegExp:ft,getPercentage:ze,getProperty:Pe,getRandomElements:Je,getUniqueParam:T,getWeek:ce,getWeekByNo:se,hasSameItem:Ke,isArrayString:he,isFullUrl:S,isNumber:ae,isObjectString:pe,isRegExpString:me,isWebUrl:C,kebabCase:$e,keysOf:ee,merge:$,methodApply:de,noop:mt,noopCatch:yt,padZero:ie,parseArray:ot,parseDate:R,parseObject:it,parseRegExp:lt,parseUrl:Ie,pick:ne,pickEx:L,queryParse:F,queryStringify:N,removeEmptyForArr:We,removeFalseForArr:Fe,removeItemForArr:je,scrollToTop:st,selectDataToObj:He,shuffleArray:fe,telephoneCall:wt,throttle:tt,throttleAsync:nt,toFormData:Ve,toSelectData:ke,toggleClass:ht,typeOf:P,urlAddParams:_,valuesOf:Ne},Symbol.toStringTag,{value:"Module"})),w={};function we(e){return w[e.url]&&w[e.url].status===1?Promise.resolve("The resource is already loaded!"):w[e.url]&&w[e.url].status===2?new Promise((t,n)=>{w[e.url].waiters.push(t)}):e.production?Promise.resolve("Ignored in development environment!"):(k.show("资源加载中"),w[e.url]?w[e.url].status=2:w[e.url]={status:2,waiters:[]},new Promise((t,n)=>{const o=()=>{l(),d()},r=()=>{a(),d()};let i=null;e.type==="js"?(i=document.createElement("script"),i.src=e.url,i.onload=o,i.onerror=r):e.type==="css"&&(i=document.createElement("link"),i.rel="stylesheet",i.href=e.url,i.onload=o,i.onerror=r),i&&document.head.appendChild(i);function l(){w[e.url].status=1,k.hide(),t(e.url),de(w[e.url].waiters,[e.url])}function a(){w[e.url].status=0,k.hide(),n(new Error("Failed to load "+e.url))}function d(){i&&(i.onload=null,i.onerror=null)}}))}function vt(e){return Array.isArray(e)?Promise.all(e.map(t=>we(t))):we(e)}const Ce=Symbol("INSTALLED_KEY"),ve=Symbol("COMPONENT_INSTALLED_KEY"),De=Symbol("DIRECTIVES_INSTALLED_KEY"),Dt={mounted(e,t,n,o){typeof t.value=="function"&&t.value(e)},unmounted(e,t,n,o){typeof t.value=="function"&&t.value(null)}},Et={mounted(e,t,n,o){e.focus()},updated(e,t,n,o){}},Ot=function(t,n,o,r){t.style.height=t.parentElement.offsetHeight+"px",t.style.minHeight="100%"};function xt(e,t,n,o){if(t.value.__used)return;let r=b({},t.value);if(r.behavior=r.behavior||"smooth",typeof r.right=="number"&&(r.left=e.scrollWidth-r.right),typeof r.bottom=="number"&&(r.top=e.scrollHeight-r.bottom),r.target){let i=ge(r.target);if(i){let{offsetTop:l,offsetLeft:a}=i.offsetParent||{offsetTop:0,offsetLeft:0};r.left=i.offsetLeft-e.offsetLeft+a,r.top=i.offsetTop-e.offsetTop+l}}r.left&&typeof r.offsetX=="number"&&(r.left+=r.offsetX),r.top&&typeof r.offsetY=="number"&&(r.top+=r.offsetY),Object.defineProperty(t.value,"__used",{value:!0,enumerable:!1,writable:!0}),r.beforeScroll?r.beforeScroll(()=>{e.scrollTo(r)},r,e):e.scrollTo(r)}const G={dom:Dt,focus:Et,maxHeight:Ot,scroll:xt};function At(e){if(!e[De]){e[De]=!0;for(const t of Object.keys(G))e.directive(G[t].name||t,G[t])}}const Tt={reverse:Boolean},Ee=K(f.defineComponent({name:"column",inheritAttrs:!1,props:Tt,setup(e,{attrs:t,slots:n}){return()=>{var o,r,i,l,a;return f.createVNode("div",f.mergeProps({class:{"comfy-tool--column":!0,reverse:e.reverse}},t),[((o=n.before)==null?void 0:o.call(n))||"",((r=n["before-content"])==null?void 0:r.call(n))||"",f.createVNode("div",{class:"main-content"},[((i=n.default)==null?void 0:i.call(n))||""]),((l=n["after-content"])==null?void 0:l.call(n))||"",((a=n.after)==null?void 0:a.call(n))||""])}}})),_t={reverse:Boolean},Oe=K(f.defineComponent({name:"row",inheritAttrs:!1,props:_t,setup(e,{attrs:t,slots:n}){return()=>{var o,r,i,l,a;return f.createVNode("div",f.mergeProps({class:{"comfy-tool--row":!0,reverse:e.reverse}},t),[((o=n.before)==null?void 0:o.call(n))||"",((r=n["before-content"])==null?void 0:r.call(n))||"",f.createVNode("div",{class:"main-content"},[((i=n.default)==null?void 0:i.call(n))||""]),((l=n["after-content"])==null?void 0:l.call(n))||"",((a=n.after)==null?void 0:a.call(n))||""])}}})),St={flex:{type:[Number,String],default:1},width:[Number,String],height:[Number,String],minWidth:[Number,String],minHeight:[Number,String],maxWidth:[Number,String],maxHeight:[Number,String],row:Boolean,column:Boolean},xe=K(f.defineComponent({name:"expended",inheritAttrs:!1,props:St,setup(e,{attrs:t,slots:n}){const o={flex:""},r=[];if(e.flex)switch(e.flex){case"100%":o.flex="unset",o.width="100%";break;case"-":o.flex="unset";break;default:o.flex=e.flex;break}return e.minWidth&&(o.minWidth=D(e.minWidth,"px")),e.minHeight&&(o.minHeight=D(e.minHeight,"px")),e.maxWidth&&(o.maxWidth=D(e.maxWidth,"px")),e.maxHeight&&(o.maxHeight=D(e.maxHeight,"px")),e.width&&(o.width=D(e.width,"px")),e.height&&(o.height=D(e.height,"px")),e.column?r.push("u-flex-nowrap u-box-flex-col"):e.row&&r.push("u-flex-wrap"),()=>{var i;return f.createVNode("div",f.mergeProps({style:o,class:f.mergeProps({class:["comfy-tool--expended",...r]})},t),[((i=n.default)==null?void 0:i.call(n))||""])}}})),Lt={Column:Ee,Row:Oe,Expanded:xe};function It(e){e[ve]||(e[ve]=!0,te(Lt).forEach(([t,n])=>{e.component(t,n)}))}function Ae(e){be({app:e}),At(e),It(e)}class Mt{constructor(t,n){this.properties=n,this.component=t,this.container=document.createElement("div");const o=f.createVNode(t,this.properties);v.app&&(o.appContext=v.app._context),f.render(o,this.container),this.instance=o.component,this.appDOM=this.container,this.init()}init(){this.mount()}static use(t){Object.assign(v,t)}mount(){if(this.properties.teleport?this.properties.teleport:v.rootId,this.appDOM&&!this.appDOM.isConnected)for(const t of Array.from(this.appDOM.childNodes))document.body.appendChild(t)}unmount(){var t;this.properties.teleport?this.properties.teleport:v.rootId,f.render(null,this.container),(t=this.appDOM.parentNode)==null||t.removeChild(this.appDOM)}close(){this.toggle(!1)}toggle(t,n){t?this.instance.open(n):this.instance.close(n)}}const Te={show:!1,keepAlive:!1},Nt=f.defineComponent({name:"comfy-tool-layer",inheritAttrs:!1,components:{},props:{baseContent:{type:Object,default:null}},emits:["confirm","close","cancel"],setup(e,{attrs:t,emit:n,slots:o,expose:r}){const i=f.shallowRef(e.baseContent),l=f.shallowRef(null),a=f.ref(!0);let d;const c=f.shallowReactive(b(b(b({},Te),t),e)),g={onConfirm(){},onClose(){}},p=f.createVNode("div",{style:{height:"150px"}},null);function y(u){c.show=u}function V(){return d=ut(l.value,p,W(b({},c.contentProps),{LAYERSHOW:c.show})),d}function kt(){let u;return!c.keepAlive&&!c.show&&!a.value?u=()=>p:u=o.default?o.default:V,()=>u()}function Ht(){x.cancel()}function j(u){if(d&&d.component){let{ctx:M,exposed:Z}=d.component;Z&&Z[u]?Z[u]():M&&M[u]&&M[u]()}}let U;function X(u){c.show=u,c.show||c.keepAlive?(a.value=!0,U&&clearTimeout(U),U=null):U=setTimeout(()=>{a.value=!1},500),f.nextTick(()=>{c.show&&(j("onLayerShow"),j("queryData"))})}const x={init(u={},M=Te){Y(c,M,u&&L(u,["content","baseContent"])),u.onConfirm&&(g.onConfirm=u.onConfirm),u.onClose&&(g.onClose=u.onClose),u.baseContent&&(i.value=u.baseContent),l.value=u.content},open(u){x.init(u,{}),X(!0)},confirm(u){n("confirm"),X(!!g.onConfirm(u,x.close))},close(u="complete"){g.onClose(u),n("close"),X(!1),j("onClose")},cancel(){x.close("cancel"),n("cancel"),j("onCancel")}};return f.watch(()=>t,u=>{Y(c,{},u)}),r(x),f.provide("Layer",x),()=>{var u;return f.createVNode(f.Fragment,null,[i.value?f.h(i.value,W(b(b(b({class:["comfy-tool--layer",(u=c.class)!=null?u:""],style:b({},c.style)},L(t,["content","contentProps","baseContent","baseContentProps"])),c.baseContentProps),L(c,["content","contentProps","onClose","width","height","class","style","baseContent","baseContentProps"])),{"onUpdate:show":y,onClose:Ht}),{default:kt(),overlayContent:o.overlayContent}):""])}}});var E;class H extends Mt{constructor(t,n){super(t,n)}open(t){return super.mount(),this.instance.exposed.open(t)}static create(t={},n=!0){if(!E||n){let o=new H(Nt,t);if(n)return o;E||(E=o)}else E.instance.exposed.init(t);return E}}function z(e,t=!1){return new Promise((n,o)=>{H.create({},t).open(b({onConfirm(r,i){n(r)},onClose(r){o(r)}},e))})}z.create=H.create,z.close=()=>{E&&E.close()};const Pt="1.0.5",$t=Ct,Rt={install(e){e[Ce]||(e[Ce]=!0,Ae(e))}};s.Column=Ee,s.ComfyTool=$t,s.Expanded=xe,s.Layer=z,s.Row=Oe,s.configComfyTool=be,s.default=Rt,s.resourceLoader=vt,s.useComfyTool=Ae,s.version=Pt,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});