@windwalker-io/unicorn-next 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.editorconfig +18 -18
  2. package/.gulp.json +7 -7
  3. package/bin/release.mjs +47 -47
  4. package/dist/chunks/button-radio.js +1 -1
  5. package/dist/chunks/button-radio.js.map +1 -1
  6. package/dist/chunks/checkboxes-multi-select.js.map +1 -1
  7. package/dist/chunks/field-cascade-select.js +1 -1
  8. package/dist/chunks/field-cascade-select.js.map +1 -1
  9. package/dist/chunks/field-file-drag.js +1 -1
  10. package/dist/chunks/field-file-drag.js.map +1 -1
  11. package/dist/chunks/field-flatpickr.js +2 -2
  12. package/dist/chunks/field-flatpickr.js.map +1 -1
  13. package/dist/chunks/field-modal-select.js +1 -1
  14. package/dist/chunks/field-modal-select.js.map +1 -1
  15. package/dist/chunks/field-modal-tree.js +3 -3
  16. package/dist/chunks/field-modal-tree.js.map +1 -1
  17. package/dist/chunks/field-multi-uploader.js +1 -1
  18. package/dist/chunks/field-multi-uploader.js.map +1 -1
  19. package/dist/chunks/field-repeatable.js +1 -1
  20. package/dist/chunks/field-repeatable.js.map +1 -1
  21. package/dist/chunks/field-single-image-drag.js +1 -1
  22. package/dist/chunks/field-single-image-drag.js.map +1 -1
  23. package/dist/chunks/form.js +1 -1
  24. package/dist/chunks/form.js.map +1 -1
  25. package/dist/chunks/grid.js +1 -1
  26. package/dist/chunks/grid.js.map +1 -1
  27. package/dist/chunks/http-client.js +1 -1
  28. package/dist/chunks/http-client.js.map +1 -1
  29. package/dist/chunks/iframe-modal.js +1 -1
  30. package/dist/chunks/iframe-modal.js.map +1 -1
  31. package/dist/chunks/keep-tab.js +1 -1
  32. package/dist/chunks/keep-tab.js.map +1 -1
  33. package/dist/chunks/legacy.js +7 -5
  34. package/dist/chunks/legacy.js.map +1 -1
  35. package/dist/chunks/list-dependent.js +1 -1
  36. package/dist/chunks/list-dependent.js.map +1 -1
  37. package/dist/chunks/s3-multipart-uploader.js +1 -1
  38. package/dist/chunks/s3-multipart-uploader.js.map +1 -1
  39. package/dist/chunks/s3-uploader.js +1 -1
  40. package/dist/chunks/s3-uploader.js.map +1 -1
  41. package/dist/chunks/show-on.js +3 -2
  42. package/dist/chunks/show-on.js.map +1 -1
  43. package/dist/chunks/tinymce.js +25 -15
  44. package/dist/chunks/tinymce.js.map +1 -1
  45. package/dist/chunks/ui-bootstrap5.js +9 -2
  46. package/dist/chunks/ui-bootstrap5.js.map +1 -1
  47. package/dist/chunks/unicorn.js +154 -101
  48. package/dist/chunks/unicorn.js.map +1 -1
  49. package/dist/chunks/validation.js +10 -8
  50. package/dist/chunks/validation.js.map +1 -1
  51. package/dist/editor.css +1 -1
  52. package/dist/index.d.ts +72 -42
  53. package/dist/multi-level-menu.css +1 -1
  54. package/dist/switcher.css +1 -1
  55. package/dist/unicorn.js +72 -72
  56. package/fusionfile.mjs +155 -155
  57. package/package.json +103 -102
  58. package/scss/bootstrap/multi-level-menu.scss +121 -121
  59. package/scss/editor.scss +116 -116
  60. package/scss/field/file-drag.scss +102 -102
  61. package/scss/field/single-image-drag.scss +88 -88
  62. package/scss/field/vue-drag-uploader.scss +160 -160
  63. package/scss/switcher.scss +156 -156
  64. package/src/app.ts +128 -128
  65. package/src/bootstrap/button-radio.ts +208 -208
  66. package/src/bootstrap/keep-tab.ts +155 -155
  67. package/src/composable/index.ts +21 -21
  68. package/src/composable/useCheckboxesMultiSelect.ts +22 -22
  69. package/src/composable/useFieldCascadeSelect.ts +9 -9
  70. package/src/composable/useFieldFileDrag.ts +9 -9
  71. package/src/composable/useFieldFlatpickr.ts +3 -3
  72. package/src/composable/useFieldModalSelect.ts +6 -6
  73. package/src/composable/useFieldModalTree.ts +3 -3
  74. package/src/composable/useFieldMultiUploader.ts +3 -3
  75. package/src/composable/useFieldRepeatable.ts +9 -9
  76. package/src/composable/useFieldSingleImageDrag.ts +5 -5
  77. package/src/composable/useForm.ts +43 -43
  78. package/src/composable/useGrid.ts +57 -57
  79. package/src/composable/useHttp.ts +9 -8
  80. package/src/composable/useIframeModal.ts +10 -9
  81. package/src/composable/useListDependent.ts +26 -26
  82. package/src/composable/useQueue.ts +13 -13
  83. package/src/composable/useS3Uploader.ts +32 -32
  84. package/src/composable/useShowOn.ts +9 -9
  85. package/src/composable/useStack.ts +13 -13
  86. package/src/composable/useTinymce.ts +29 -29
  87. package/src/composable/useTomSelect.ts +72 -72
  88. package/src/composable/useUIBootstrap5.ts +48 -48
  89. package/src/composable/useUniDirective.ts +32 -32
  90. package/src/composable/useValidation.ts +39 -39
  91. package/src/data.ts +34 -36
  92. package/src/events.ts +82 -73
  93. package/src/legacy/legacy.ts +190 -186
  94. package/src/legacy/loader.ts +125 -125
  95. package/src/module/checkboxes-multi-select.ts +54 -54
  96. package/src/module/field-cascade-select.ts +292 -292
  97. package/src/module/field-file-drag.ts +292 -292
  98. package/src/module/field-flatpickr.ts +127 -127
  99. package/src/module/field-modal-select.ts +174 -174
  100. package/src/module/field-modal-tree.ts +27 -27
  101. package/src/module/field-multi-uploader.ts +361 -361
  102. package/src/module/field-repeatable.ts +202 -202
  103. package/src/module/field-single-image-drag.ts +468 -468
  104. package/src/module/form.ts +223 -223
  105. package/src/module/grid.ts +465 -465
  106. package/src/module/http-client.ts +248 -243
  107. package/src/module/iframe-modal.ts +167 -167
  108. package/src/module/list-dependent.ts +321 -321
  109. package/src/module/s3-multipart-uploader.ts +300 -300
  110. package/src/module/s3-uploader.ts +234 -234
  111. package/src/module/show-on.ts +175 -173
  112. package/src/module/tinymce.ts +276 -263
  113. package/src/module/ui-bootstrap5.ts +116 -107
  114. package/src/module/validation.ts +1026 -1019
  115. package/src/plugin/index.ts +1 -1
  116. package/src/plugin/php-adapter.ts +72 -65
  117. package/src/polyfill/form-request-submit.ts +31 -31
  118. package/src/polyfill/index.ts +9 -9
  119. package/src/service/animate.ts +58 -58
  120. package/src/service/crypto.ts +27 -27
  121. package/src/service/dom-watcher.ts +62 -62
  122. package/src/service/dom.ts +265 -265
  123. package/src/service/helper.ts +48 -48
  124. package/src/service/index.ts +10 -10
  125. package/src/service/lang.ts +122 -122
  126. package/src/service/loader.ts +152 -152
  127. package/src/service/router.ts +118 -118
  128. package/src/service/ui.ts +525 -497
  129. package/src/service/uri.ts +106 -106
  130. package/src/types/base.ts +9 -9
  131. package/src/types/index.ts +4 -4
  132. package/src/types/modal-tree.ts +12 -12
  133. package/src/types/plugin.ts +6 -6
  134. package/src/types/shims.d.ts +18 -18
  135. package/src/types/ui.ts +6 -6
  136. package/src/unicorn.ts +79 -63
  137. package/src/utilities/arr.ts +25 -25
  138. package/src/utilities/base.ts +9 -9
  139. package/src/utilities/data.ts +48 -48
  140. package/src/utilities/index.ts +5 -5
  141. package/src/utilities/tree.ts +20 -20
  142. package/src/vue/components/ModalTree/ModalTreeApp.vue +175 -175
  143. package/src/vue/components/ModalTree/TreeItem.vue +262 -262
  144. package/src/vue/components/ModalTree/TreeModal.vue +225 -225
  145. package/tests/test.js +4 -4
  146. package/tsconfig.js.json +25 -25
  147. package/tsconfig.json +17 -17
  148. package/vite.assets.config.ts +61 -61
  149. package/vite.config.test.ts +36 -36
  150. package/vite.config.ts +112 -112
  151. package/dist/unicorn-next.css +0 -12
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import { AxiosRequestConfig } from 'axios';
7
7
  import { AxiosResponse } from 'axios';
8
8
  import * as bootstrap_2 from 'bootstrap';
9
9
  import { Class } from 'ts-mixer/dist/types/types';
10
+ import { clearNotifies } from '@lyrasoft/ts-toolkit/generic';
10
11
  import { CreateAxiosDefaults } from 'axios';
11
12
  import { default as default_2 } from 'cropperjs';
12
13
  import { default as default_3 } from 'web-directive';
@@ -20,6 +21,7 @@ import { randomBytes } from '@lyrasoft/ts-toolkit/generic';
20
21
  import { randomBytesString } from '@lyrasoft/ts-toolkit/generic';
21
22
  import { simpleAlert } from '@lyrasoft/ts-toolkit/generic';
22
23
  import { simpleConfirm } from '@lyrasoft/ts-toolkit/generic';
24
+ import { simpleNotify } from '@lyrasoft/ts-toolkit/generic';
23
25
  import { sleep } from '@lyrasoft/ts-toolkit/generic';
24
26
  import { SpectrumOptions } from 'spectrum-vanilla/dist/types/types';
25
27
  import { Stack } from '@lyrasoft/ts-toolkit/generic';
@@ -46,13 +48,22 @@ export declare function addRoute(route: string, url: string): void;
46
48
 
47
49
  export declare function addUriBase(uri: string, type?: string): string;
48
50
 
49
- export { AlertAdapter }
51
+ export declare interface AlertAdapterConfig {
52
+ alert?: typeof AlertAdapter['alert'];
53
+ confirm?: typeof AlertAdapter['confirm'];
54
+ deleteConfirm?: typeof AlertAdapter['deleteConfirm'];
55
+ confirmText?: typeof AlertAdapter['confirmText'];
56
+ cancelText?: typeof AlertAdapter['cancelText'];
57
+ deleteText?: typeof AlertAdapter['deleteText'];
58
+ notify?: typeof AlertAdapter['notify'];
59
+ clearNotifies?: typeof AlertAdapter['clearNotifies'];
60
+ }
50
61
 
51
62
  declare type AlpinePrepareCallback = (Alpine: Alpine_2) => MaybePromise<any>;
52
63
 
53
64
  export declare function animateTo(element: HTMLElement, styles: Partial<Record<keyof CSSStyleDeclaration, any>>, options?: number | KeyframeAnimationOptions): Animation;
54
65
 
55
- declare interface ApiReturn<T = any> {
66
+ export declare interface ApiReturn<T = any> {
56
67
  success: boolean;
57
68
  message?: string;
58
69
  code: number;
@@ -143,15 +154,14 @@ declare function clearHooks(): void;
143
154
  */
144
155
  export declare function clearMessages(): void;
145
156
 
146
- /**
147
- * Clear notifies.
148
- */
149
- export declare function clearNotifies(): void;
157
+ export { clearNotifies }
150
158
 
151
159
  declare type Conditions = Record<string, any>;
152
160
 
153
161
  declare type Constructor<T> = new (...args: any[]) => T;
154
162
 
163
+ declare function create(selector: string | HTMLElement, options?: Record<string, any>): Promise<TinymceController>;
164
+
155
165
  declare function createCallback(type: 'list' | 'single', selector: string, modalSelector: string): ModalSelectCallback;
156
166
 
157
167
  declare function createHttpClient(config?: CreateAxiosDefaults | AxiosInstance): {
@@ -179,13 +189,13 @@ export declare function createUnicorn(): UnicornApp;
179
189
 
180
190
  export declare function createUnicornWithPlugins(): UnicornApp;
181
191
 
182
- export declare function data(name: string, data: any): any;
192
+ export declare function data(name: string, data?: any): any;
183
193
 
184
- export declare function data(name: string): any;
194
+ export declare function data<T = void, R = [T] extends [void] ? any : T | undefined>(name: string): R;
185
195
 
186
- export declare function data(ele: Element, name: string): any;
196
+ export declare function data<T = void, R = [T] extends [void] ? any : T | undefined>(ele: Element, name: string): R;
187
197
 
188
- export declare function data(ele: Element, name: string, data?: any): any;
198
+ export declare function data(ele: Element, name: string, value: any): any;
189
199
 
190
200
  export declare function debounce<T extends Function = Function>(handler: T, wait?: number): T;
191
201
 
@@ -214,23 +224,29 @@ export declare function domready(callback?: ((value: any) => any)): Promise<void
214
224
  declare type EndEventHandler = () => void;
215
225
 
216
226
  export declare interface EventAwareInterface {
227
+ on<T extends any[]>(event: string, handler: EventHandler<T>): this;
217
228
  on(event: string | string[], handler: EventHandler): this;
229
+ once<T extends any[]>(event: string, handler: EventHandler<T>): this;
218
230
  once(event: string | string[], handler: EventHandler): this;
219
231
  off(event: string, handler?: EventHandler): this;
220
- trigger(event: string | string[], ...args: any[]): this;
232
+ trigger<T extends any[]>(event: string, ...args: T): this;
233
+ trigger(event: string[], ...args: any[]): this;
221
234
  listeners(event: string): EventHandler[];
222
235
  }
223
236
 
224
- export declare type EventHandler = ((...event: any[]) => void) & {
237
+ export declare type EventHandler<T extends any[] = any[]> = ((...event: T) => void) & {
225
238
  once?: boolean;
226
239
  };
227
240
 
228
241
  export declare abstract class EventMixin implements EventAwareInterface {
229
242
  _listeners: Record<string, EventHandler[]>;
243
+ on<T extends any[]>(event: string, handler: EventHandler<T>): this;
230
244
  on(event: string | string[], handler: EventHandler): this;
245
+ once<T extends any[]>(event: string, handler: EventHandler<T>): this;
231
246
  once(event: string | string[], handler: EventHandler): this;
232
247
  off(event: string, handler?: EventHandler): this;
233
- trigger(event: string | string[], ...args: any[]): this;
248
+ trigger<T extends any[]>(event: string, ...args: T): this;
249
+ trigger(event: string[], ...args: any[]): this;
234
250
  listeners(event: string): EventHandler[];
235
251
  }
236
252
 
@@ -308,7 +324,7 @@ export declare function html<T extends Element = HTMLElement>(html: string): T;
308
324
 
309
325
  declare type HTMLInputTypes = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
310
326
 
311
- declare class IFrameModalElement extends HTMLElement {
327
+ export declare class IFrameModalElement extends HTMLElement {
312
328
  static is: string;
313
329
  options: IFrameModalOptions;
314
330
  modalElement: HTMLDivElement;
@@ -325,7 +341,7 @@ declare class IFrameModalElement extends HTMLElement {
325
341
  getModalId(): string;
326
342
  }
327
343
 
328
- declare interface IframeModalModule {
344
+ declare interface IFrameModalModule {
329
345
  IFrameModalElement: typeof IFrameModalElement;
330
346
  ready: typeof ready_3;
331
347
  }
@@ -469,20 +485,15 @@ declare interface ModalSelectModule {
469
485
 
470
486
  declare function module_2<T = any, E extends Element = Element>(ele: string, name: string, callback?: ((el: E) => any)): (T | null)[];
471
487
 
472
- declare function module_2<T = any, E extends Element = Element>(ele: NodeListOf<Element>, name: string, callback?: ((el: E) => any)): (T | null)[];
488
+ declare function module_2<T = any, E extends Element = Element>(ele: NodeListOf<E>, name: string, callback?: ((el: E) => any)): (T | null)[];
473
489
 
474
- declare function module_2<T = any, E extends Element = Element>(ele: Element, name: string, callback?: ((el: E) => any)): T | null;
490
+ declare function module_2<T = any, E extends Element = Element>(ele: E, name: string, callback?: ((el: E) => any)): T | null;
475
491
 
476
492
  declare function module_2<T = any, E extends Element = Element>(ele: string | Element | NodeListOf<Element>, name: string, callback?: ((el: E) => any)): (T | null)[] | T | null;
477
493
  export { module_2 as module }
478
494
 
479
495
  export declare function nextTick(callback?: () => any): Promise<any>;
480
496
 
481
- /**
482
- * Show notify.
483
- */
484
- export declare function notify(messages: string | string[], type?: string): void;
485
-
486
497
  declare type Nullable<T> = T | null | undefined;
487
498
 
488
499
  export declare function parseQuery<T = Record<string, any>>(queryString: string): T;
@@ -531,7 +542,7 @@ export declare function removeData(ele: Element, name: string): any;
531
542
  /**
532
543
  * Render Messages.
533
544
  */
534
- export declare function renderMessage(messages: string | string[], type?: string): void;
545
+ export declare function renderMessage(messages: string | string[], type?: string): (() => any) | undefined;
535
546
 
536
547
  declare interface RepeatableModule {
537
548
  ready: typeof ready_2;
@@ -714,7 +725,7 @@ declare class ShowOn {
714
725
  input: HTMLInputTypes;
715
726
  conditions: Conditions;
716
727
  targets: {};
717
- defaultReadonly: boolean;
728
+ defaultReadonly: boolean | null;
718
729
  initialDisplay: string;
719
730
  constructor(el: HTMLElement, conditions: Conditions);
720
731
  init(): void;
@@ -737,6 +748,8 @@ export { simpleAlert }
737
748
 
738
749
  export { simpleConfirm }
739
750
 
751
+ export { simpleNotify }
752
+
740
753
  declare class SingleImageDragElement extends HTMLElement {
741
754
  static is: string;
742
755
  currentImage: string;
@@ -814,6 +827,7 @@ declare class TinymceController {
814
827
 
815
828
  declare interface TinymceModule {
816
829
  get: typeof get;
830
+ create: typeof create;
817
831
  destroy: typeof destroy;
818
832
  addHook: typeof addHook;
819
833
  clearHooks: typeof clearHooks;
@@ -826,7 +840,7 @@ declare class UIBootstrap5 implements UIThemeInterface {
826
840
  static instance: UIBootstrap5 | null;
827
841
  bootstrap: typeof bootstrap_2;
828
842
  static get(): UIBootstrap5;
829
- renderMessage(messages: string | string[], type?: string): void;
843
+ renderMessage(messages: string | string[], type?: string): () => void;
830
844
  clearMessages(): void;
831
845
  keepTab(): Promise<KeepTabModule>;
832
846
  keepTab(selector?: string | HTMLElement, options?: KeepTabOptions): Promise<KeepTab>;
@@ -841,7 +855,7 @@ declare class UIBootstrap5 implements UIThemeInterface {
841
855
  export { uid }
842
856
 
843
857
  declare interface UIThemeInterface {
844
- renderMessage(messages: string | string[], type?: string): void;
858
+ renderMessage(messages: string | string[], type?: string): () => any;
845
859
  clearMessages(): void;
846
860
  }
847
861
 
@@ -865,7 +879,7 @@ export declare class UnicornApp extends UnicornApp_base implements EventAwareInt
865
879
  provide<T>(id: InjectionKey<T>, value: any): this;
866
880
  wait(callback: Function): Promise<any>;
867
881
  completed(): Promise<any[]>;
868
- macro(name: string, callback: Function): this;
882
+ macro(name: string, prop: any): this;
869
883
  }
870
884
 
871
885
  declare const UnicornApp_base: Class<any[], EventMixin, typeof EventMixin>;
@@ -1111,7 +1125,7 @@ declare class UnicornGridElement {
1111
1125
  getId(suffix?: string): string;
1112
1126
  }
1113
1127
 
1114
- declare type UnicornHttpClient = ReturnType<typeof createHttpClient>;
1128
+ export declare type UnicornHttpClient = ReturnType<typeof createHttpClient>;
1115
1129
 
1116
1130
  declare class UnicornLang {
1117
1131
  /**
@@ -1162,8 +1176,7 @@ export declare class UnicornSystemUri extends URL {
1162
1176
  }
1163
1177
 
1164
1178
  export declare class UnicornUI {
1165
- theme?: any;
1166
- aliveHandle?: any;
1179
+ theme?: UIThemeInterface;
1167
1180
  static get defaultOptions(): {
1168
1181
  messageSelector: string;
1169
1182
  };
@@ -1176,6 +1189,8 @@ declare type UploadProgressEventHandler = (e: AxiosProgressEvent) => void;
1176
1189
 
1177
1190
  declare type UriTypes = 'full' | 'path' | 'root' | 'current' | 'route' | 'script';
1178
1191
 
1192
+ export declare function useAlertAdapter(config?: AlertAdapterConfig): typeof AlertAdapter;
1193
+
1179
1194
  export declare function useAssetUri(): UnicornAssetUri;
1180
1195
 
1181
1196
  export declare function useAssetUri(type?: AssetTypes, path?: string): string;
@@ -1235,7 +1250,7 @@ export declare function useFormValidation(): Promise<ValidationModule>;
1235
1250
 
1236
1251
  export declare function useFormValidation(selector: string | Element): Promise<UnicornFormValidation | null>;
1237
1252
 
1238
- export declare function useFormValidationSync(selector: string | Element): UnicornFormValidation | null;
1253
+ export declare function useFormValidationInstance(selector: string | Element): UnicornFormValidation | null;
1239
1254
 
1240
1255
  export declare function useGrid(ele: string | HTMLElement, options?: Record<string, any> | undefined): UnicornGridElement | null;
1241
1256
 
@@ -1245,7 +1260,7 @@ export declare function useGridComponent(ele: string | HTMLElement, options?: Re
1245
1260
 
1246
1261
  export declare function useHttpClient(config?: CreateAxiosDefaults | AxiosInstance): Promise<UnicornHttpClient>;
1247
1262
 
1248
- export declare function useIframeModal(): Promise<IframeModalModule>;
1263
+ export declare function useIframeModal(): Promise<IFrameModalModule>;
1249
1264
 
1250
1265
  export declare function useImport(...src: any[]): Promise<any>;
1251
1266
 
@@ -1274,7 +1289,11 @@ export declare function useListDependent(): Promise<ListDependentModule>;
1274
1289
 
1275
1290
  export declare function useListDependent(element: string | HTMLSelectElement, dependent?: Nullable<string | HTMLSelectElement>, options?: Partial<ListDependentOptions>): Promise<ListDependent>;
1276
1291
 
1277
- export declare function useMacro(name: string, handler: (...args: any[]) => any): void;
1292
+ export declare function useMacro<T extends Dictionary>(name: T): T;
1293
+
1294
+ export declare function useMacro<N extends string, T extends any>(name: N, prop: T): {
1295
+ [K in N]: T;
1296
+ };
1278
1297
 
1279
1298
  export declare function useQueue(name?: string, maxRunning?: number): TaskQueue;
1280
1299
 
@@ -1321,7 +1340,7 @@ export declare function useUI(instance?: UnicornUI): UnicornUI;
1321
1340
 
1322
1341
  export declare function useUIBootstrap5(install?: boolean, pushToGlobal?: boolean): Promise<UIBootstrap5>;
1323
1342
 
1324
- export declare function useUITheme<T extends UIThemeInterface>(theme?: T | Constructor<T>): T;
1343
+ export declare function useUITheme<T extends UIThemeInterface>(theme?: T | Constructor<T>): UIThemeInterface;
1325
1344
 
1326
1345
  export declare function useUnicorn(instance?: UnicornApp): UnicornApp;
1327
1346
 
@@ -1341,6 +1360,17 @@ export declare function useUnicornPhpAdapter(app?: UnicornApp): {
1341
1360
  modalTree: typeof useFieldModalTree;
1342
1361
  multiUploader: typeof useFieldMultiUploader;
1343
1362
  tomSelect: typeof useTomSelect;
1363
+ bootstrap: {
1364
+ tooltip: typeof useBs5Tooltip;
1365
+ buttonRadio: {
1366
+ (): Promise<ButtonRadioModule>;
1367
+ (selector?: string | HTMLElement, options?: ButtonRadioOptions): Promise<ButtonRadio>;
1368
+ };
1369
+ keepTab: {
1370
+ (): Promise<KeepTabModule>;
1371
+ (selector?: string | HTMLElement, options?: KeepTabOptions): Promise<KeepTab>;
1372
+ };
1373
+ };
1344
1374
  };
1345
1375
 
1346
1376
  export declare function useUniDirective<T extends Element = HTMLElement>(name: string, handler: WebDirectiveHandler<T>, wdInstance?: default_3 | string): Promise<void>;
@@ -1377,6 +1407,14 @@ export declare function watchAttributes<T extends HTMLElement>(el: T, callback?:
1377
1407
  export { }
1378
1408
 
1379
1409
 
1410
+ declare global {
1411
+ var Alpine: AlpineGlobal;
1412
+ var TomSelect: typeof TomSelectGlobal;
1413
+ var Spectrum: typeof SpectrumGlobal;
1414
+ var Mark: any;
1415
+ }
1416
+
1417
+
1380
1418
  declare global {
1381
1419
  interface Node {
1382
1420
  __unicorn?: any;
@@ -1391,14 +1429,6 @@ declare module '@windwalker-io/unicorn-next' {
1391
1429
  }
1392
1430
  }
1393
1431
 
1394
-
1395
- declare global {
1396
- var Alpine: AlpineGlobal;
1397
- var TomSelect: typeof TomSelectGlobal;
1398
- var Spectrum: typeof SpectrumGlobal;
1399
- var Mark: any;
1400
- }
1401
-
1402
1432
  declare global {
1403
1433
  var S: any;
1404
1434
  }
@@ -1 +1 @@
1
- .dropdown-hover .dropdown>.dropdown-menu{display:block;visibility:hidden;opacity:0;min-width:250px}.dropdown-hover .dropdown:hover>.dropdown-menu{visibility:visible;opacity:1}.dropdown .dropdown-item{display:inline-block}.dropdown .dropdown-column{padding:.5rem 0 .5rem 1rem;min-width:250px}.dropdown .dropdown-column:last-child{padding-right:1rem}.dropdown .dropdown-submenu{position:relative}.dropdown .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;display:block;visibility:hidden;opacity:0}.dropdown .dropdown-submenu:hover>.dropdown-menu{visibility:visible;opacity:1}.dropdown .dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-fade .dropdown>.dropdown-menu{transition:visibility 0s,display 0s,opacity .25s;transition-delay:.25s,.25s,0s}.dropdown-fade .dropdown:hover>.dropdown-menu{transition-delay:0s,0s,0s}.dropdown-fade .dropdown .dropdown-submenu>.dropdown-menu{transition:visibility 0s,display 0s,opacity .25s;transition-delay:.25s,.25s,0s}.dropdown-fade .dropdown .dropdown-submenu:hover>.dropdown-menu{transition-delay:0s,0s,0s}.subnav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none;margin-left:1rem}.subnav-link{display:block;padding:.5rem 1rem}.subnav-link:hover,.subnav-link:focus{text-decoration:none}.subnav-link.disabled{color:var(--bs-secondary-color);pointer-events:none;cursor:default}
1
+ .dropdown-hover .dropdown>.dropdown-menu{display:block;visibility:hidden;opacity:0;min-width:250px}.dropdown-hover .dropdown:hover>.dropdown-menu{visibility:visible;opacity:1}.dropdown .dropdown-item{display:inline-block}.dropdown .dropdown-column{padding:.5rem 0 .5rem 1rem;min-width:250px}.dropdown .dropdown-column:last-child{padding-right:1rem}.dropdown .dropdown-submenu{position:relative}.dropdown .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;display:block;visibility:hidden;opacity:0}.dropdown .dropdown-submenu:hover>.dropdown-menu{visibility:visible;opacity:1}.dropdown .dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-fade .dropdown>.dropdown-menu{transition:visibility 0s,display 0s,opacity .25s;transition-delay:.25s,.25s,0s}.dropdown-fade .dropdown:hover>.dropdown-menu{transition-delay:0s,0s,0s}.dropdown-fade .dropdown .dropdown-submenu>.dropdown-menu{transition:visibility 0s,display 0s,opacity .25s;transition-delay:.25s,.25s,0s}.dropdown-fade .dropdown .dropdown-submenu:hover>.dropdown-menu{transition-delay:0s,0s,0s}.subnav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none;margin-left:1rem}.subnav-link{display:block;padding:.5rem 1rem}.subnav-link:hover,.subnav-link:focus{text-decoration:none}.subnav-link.disabled{color:var(--bs-secondary-color);pointer-events:none;cursor:default}
package/dist/switcher.css CHANGED
@@ -1 +1 @@
1
- .unicorn-switch{position:relative;display:inline-block;width:60px;height:34px;margin-bottom:0}.unicorn-switch input{width:0;height:0;position:relative;left:30px}.unicorn-switch input:focus{box-shadow:none!important}.unicorn-switch .switch-slider{position:absolute;cursor:pointer;inset:0;-webkit-transition:.4s;transition:.4s;background-color:var(--bs-btn-bg)}.unicorn-switch .switch-slider:hover{background-color:var(--bs-btn-hover-bg)}.unicorn-switch .switch-slider.btn-primary{background-color:var(--bs-btn-bg, var(--bs-primary, var(--primary)))}.unicorn-switch .switch-slider.btn-primary:hover{background-color:var(--bs-btn-hover-bg, var(--bs-primary, var(--primary)))}.unicorn-switch .switch-slider.btn-secondary{background-color:var(--bs-btn-bg, var(--bs-secondary, var(--secondary)))}.unicorn-switch .switch-slider.btn-secondary:hover{background-color:var(--bs-btn-hover-bg, var(--bs-secondary, var(--secondary)))}.unicorn-switch .switch-slider.btn-success{background-color:var(--bs-btn-bg, var(--bs-success, var(--success)))}.unicorn-switch .switch-slider.btn-success:hover{background-color:var(--bs-btn-hover-bg, var(--bs-success, var(--success)))}.unicorn-switch .switch-slider.btn-info{background-color:var(--bs-btn-bg, var(--bs-info, var(--info)))}.unicorn-switch .switch-slider.btn-info:hover{background-color:var(--bs-btn-hover-bg, var(--bs-info, var(--info)))}.unicorn-switch .switch-slider.btn-danger{background-color:var(--bs-btn-bg, var(--bs-danger, var(--danger)))}.unicorn-switch .switch-slider.btn-danger:hover{background-color:var(--bs-btn-hover-bg, var(--bs-danger, var(--danger)))}.unicorn-switch .switch-slider.btn-warning{background-color:var(--bs-btn-bg, var(--bs-warning, var(--warning)))}.unicorn-switch .switch-slider.btn-warning:hover{background-color:var(--bs-btn-hover-bg, var(--bs-warning, var(--warning)))}.unicorn-switch .switch-slider.btn-dark{background-color:var(--bs-btn-bg, var(--bs-dark, var(--dark)))}.unicorn-switch .switch-slider.btn-dark:hover{background-color:var(--bs-btn-hover-bg, var(--bs-dark, var(--dark)))}.unicorn-switch .switch-slider.btn-light{background-color:var(--bs-btn-bg, var(--bs-light, var(--light)))}.unicorn-switch .switch-slider.btn-light:hover{background-color:var(--bs-btn-hover-bg, var(--bs-light, var(--light)))}.unicorn-switch input:focus+.switch-slider{box-shadow:0 0 0 .2rem #007bff40}.unicorn-switch .switch-slider.bg-default{background-color:#ccc}.unicorn-switch .switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.25s}.unicorn-switch input:checked+.switch-slider:before{transform:translate(26px)}.unicorn-switch input:not(:checked)+.switch-slider{background-color:#ccc!important}.unicorn-switch input:not(:checked)+.switch-slider:hover{background-color:#aaa!important}.unicorn-switch input[disabled]+.switch-slider,.unicorn-switch input[readonly]+.switch-slider{opacity:.65;cursor:not-allowed;pointer-events:none}.unicorn-switch .switch-slider.slider-round{border-radius:.25rem}.unicorn-switch .switch-slider.slider-round:before{border-radius:.18rem}.unicorn-switch .switch-slider.slider-circle{border-radius:50px}.unicorn-switch .switch-slider.slider-circle:before{border-radius:100px}.unicorn-switch.switch-sm{width:46px;height:24px}.unicorn-switch.switch-sm .switch-slider:before{height:18px;width:18px;left:3px;bottom:3px}.unicorn-switch.switch-sm input:checked+.switch-slider:before{transform:translate(22px)}.unicorn-switch.switch-lg{width:100px;height:34px}.unicorn-switch.switch-lg .switch-slider:before{height:26px;width:45px;left:4px;bottom:4px}.unicorn-switch.switch-lg input:checked+.switch-slider:before{transform:translate(47px)}.has-invalid .unicorn-switch .switch-slider{border:1px solid #dc3545}
1
+ .unicorn-switch{position:relative;display:inline-block;width:60px;height:34px;margin-bottom:0}.unicorn-switch input{width:0;height:0;position:relative;left:30px}.unicorn-switch input:focus{box-shadow:none!important}.unicorn-switch .switch-slider{position:absolute;cursor:pointer;inset:0;-webkit-transition:.4s;transition:.4s;background-color:var(--bs-btn-bg)}.unicorn-switch .switch-slider:hover{background-color:var(--bs-btn-hover-bg)}.unicorn-switch .switch-slider.btn-primary{background-color:var(--bs-btn-bg, var(--bs-primary, var(--primary)))}.unicorn-switch .switch-slider.btn-primary:hover{background-color:var(--bs-btn-hover-bg, var(--bs-primary, var(--primary)))}.unicorn-switch .switch-slider.btn-secondary{background-color:var(--bs-btn-bg, var(--bs-secondary, var(--secondary)))}.unicorn-switch .switch-slider.btn-secondary:hover{background-color:var(--bs-btn-hover-bg, var(--bs-secondary, var(--secondary)))}.unicorn-switch .switch-slider.btn-success{background-color:var(--bs-btn-bg, var(--bs-success, var(--success)))}.unicorn-switch .switch-slider.btn-success:hover{background-color:var(--bs-btn-hover-bg, var(--bs-success, var(--success)))}.unicorn-switch .switch-slider.btn-info{background-color:var(--bs-btn-bg, var(--bs-info, var(--info)))}.unicorn-switch .switch-slider.btn-info:hover{background-color:var(--bs-btn-hover-bg, var(--bs-info, var(--info)))}.unicorn-switch .switch-slider.btn-danger{background-color:var(--bs-btn-bg, var(--bs-danger, var(--danger)))}.unicorn-switch .switch-slider.btn-danger:hover{background-color:var(--bs-btn-hover-bg, var(--bs-danger, var(--danger)))}.unicorn-switch .switch-slider.btn-warning{background-color:var(--bs-btn-bg, var(--bs-warning, var(--warning)))}.unicorn-switch .switch-slider.btn-warning:hover{background-color:var(--bs-btn-hover-bg, var(--bs-warning, var(--warning)))}.unicorn-switch .switch-slider.btn-dark{background-color:var(--bs-btn-bg, var(--bs-dark, var(--dark)))}.unicorn-switch .switch-slider.btn-dark:hover{background-color:var(--bs-btn-hover-bg, var(--bs-dark, var(--dark)))}.unicorn-switch .switch-slider.btn-light{background-color:var(--bs-btn-bg, var(--bs-light, var(--light)))}.unicorn-switch .switch-slider.btn-light:hover{background-color:var(--bs-btn-hover-bg, var(--bs-light, var(--light)))}.unicorn-switch input:focus+.switch-slider{box-shadow:0 0 0 .2rem #007bff40}.unicorn-switch .switch-slider.bg-default{background-color:#ccc}.unicorn-switch .switch-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.25s}.unicorn-switch input:checked+.switch-slider:before{transform:translate(26px)}.unicorn-switch input:not(:checked)+.switch-slider{background-color:#ccc!important}.unicorn-switch input:not(:checked)+.switch-slider:hover{background-color:#aaa!important}.unicorn-switch input[disabled]+.switch-slider,.unicorn-switch input[readonly]+.switch-slider{opacity:.65;cursor:not-allowed;pointer-events:none}.unicorn-switch .switch-slider.slider-round{border-radius:.25rem}.unicorn-switch .switch-slider.slider-round:before{border-radius:.18rem}.unicorn-switch .switch-slider.slider-circle{border-radius:50px}.unicorn-switch .switch-slider.slider-circle:before{border-radius:100px}.unicorn-switch.switch-sm{width:46px;height:24px}.unicorn-switch.switch-sm .switch-slider:before{height:18px;width:18px;left:3px;bottom:3px}.unicorn-switch.switch-sm input:checked+.switch-slider:before{transform:translate(22px)}.unicorn-switch.switch-lg{width:100px;height:34px}.unicorn-switch.switch-lg .switch-slider:before{height:26px;width:45px;left:4px;bottom:4px}.unicorn-switch.switch-lg input:checked+.switch-slider:before{transform:translate(47px)}.has-invalid .unicorn-switch .switch-slider{border:1px solid #dc3545}
package/dist/unicorn.js CHANGED
@@ -1,57 +1,55 @@
1
- import { aB, at, ae, aH, b5, aG, aD, _, h, aK, aI, aF, b, J, I, aM, d, e, af, a$, aj, ak, aa, D, C, ac, ay, t, T, S, ab, x, y, A, aJ, U, B, f, a7, i, l, N, z, au, n, aL, p, a4, an, ar, as, aq, c, r, w, v, M, G, F, ai, Q, R, P, E, L, ag, K, s, b2, b1, $, Y, V, a9, aA, X, W, aN, aO, aP, aQ, aR, aS, aT, j, a2, a0, aU, g, k, a3, a1, aV, u, aW, a8, am, Z, aw, ap, aX, ao, o, aZ, aY, ax, az, a_, m, q, O, aC, b0, ah, a, al, b4, aE, b3, av, a6 } from "./chunks/unicorn.js";
1
+ import { aw, ag, aJ, b5, aI, aF, _, h, aM, aK, aH, b, J, I, aO, d, e, ah, b1, am, an, ac, D, C, ae, aA, t, T, S, ad, x, y, A, aL, U, B, f, a9, i, l, N, z, ax, aN, p, a6, aq, au, av, at, c, r, w, v, M, G, F, s, al, Q, R, P, E, L, ai, K, aD, q, a0, $, a1, Y, V, ab, aC, X, W, aP, aQ, aR, aS, aT, aU, aV, j, a4, a2, aW, g, k, a5, a3, aX, u, aY, aa, ap, Z, az, as, aZ, ar, n, a$, a_, ak, aB, b0, m, o, O, aE, b2, aj, a, ao, b4, aG, b3, ay, a8 } from "./chunks/unicorn.js";
2
2
  export {
3
- aB as AlertAdapter,
4
- at as AttributeMutationObserver,
5
- ae as EventMixin,
6
- aH as UnicornAssetUri,
3
+ aw as AttributeMutationObserver,
4
+ ag as EventMixin,
5
+ aJ as UnicornAssetUri,
7
6
  b5 as UnicornPhpAdapter,
8
- aG as UnicornSystemUri,
9
- aD as UnicornUI,
7
+ aI as UnicornSystemUri,
8
+ aF as UnicornUI,
10
9
  _ as __,
11
10
  h as addGlobalValidator,
12
- aK as addQuery,
13
- aI as addRoute,
14
- aF as addUriBase,
11
+ aM as addQuery,
12
+ aK as addRoute,
13
+ aH as addUriBase,
15
14
  b as animateTo,
16
15
  J as base64UrlDecode,
17
16
  I as base64UrlEncode,
18
- aM as buildQuery,
17
+ aO as buildQuery,
19
18
  d as clearMessages,
20
19
  e as clearNotifies,
21
- af as createQueue,
22
- a$ as createStack,
23
- aj as createUnicorn,
24
- ak as createUnicornWithPlugins,
25
- aa as data,
20
+ ah as createQueue,
21
+ b1 as createStack,
22
+ am as createUnicorn,
23
+ an as createUnicornWithPlugins,
24
+ ac as data,
26
25
  D as debounce,
27
26
  C as delegate,
28
- ac as deleteConfirm,
29
- ay as doImport,
27
+ ae as deleteConfirm,
28
+ aA as doImport,
30
29
  t as domready,
31
30
  T as fadeIn,
32
31
  S as fadeOut,
33
- ab as forceArray,
32
+ ad as forceArray,
34
33
  x as getBoundedInstance,
35
34
  y as getBoundedInstanceList,
36
35
  A as h,
37
- aJ as hasRoute,
36
+ aL as hasRoute,
38
37
  U as highlight,
39
38
  B as html,
40
39
  f as initAlpineComponent,
41
- a7 as injectCssToDocument,
40
+ a9 as injectCssToDocument,
42
41
  i as isDebug,
43
42
  l as loadAlpine,
44
43
  N as mark,
45
44
  z as module,
46
- au as nextTick,
47
- n as notify,
48
- aL as parseQuery,
45
+ ax as nextTick,
46
+ aN as parseQuery,
49
47
  p as prepareAlpine,
50
- a4 as prepareAlpineDefer,
51
- an as pushUnicornToGlobal,
52
- ar as randomBytes,
53
- as as randomBytesString,
54
- aq as removeData,
48
+ a6 as prepareAlpineDefer,
49
+ aq as pushUnicornToGlobal,
50
+ au as randomBytes,
51
+ av as randomBytesString,
52
+ at as removeData,
55
53
  c as renderMessage,
56
54
  r as route,
57
55
  w as selectAll,
@@ -59,67 +57,69 @@ export {
59
57
  M as serial,
60
58
  G as simpleAlert,
61
59
  F as simpleConfirm,
62
- ai as sleep,
60
+ s as simpleNotify,
61
+ al as sleep,
63
62
  Q as slideDown,
64
63
  R as slideToggle,
65
64
  P as slideUp,
66
65
  E as throttle,
67
66
  L as tid,
68
- ag as trans,
67
+ ai as trans,
69
68
  K as uid,
70
- s as useAssetUri,
71
- b2 as useBs5ButtonRadio,
72
- b1 as useBs5KeepTab,
73
- $ as useBs5Tooltip,
69
+ aD as useAlertAdapter,
70
+ q as useAssetUri,
71
+ a0 as useBs5ButtonRadio,
72
+ $ as useBs5KeepTab,
73
+ a1 as useBs5Tooltip,
74
74
  Y as useCheckboxesMultiSelect,
75
75
  V as useColorPicker,
76
- a9 as useCssImport,
77
- aA as useCssIncludes,
76
+ ab as useCssImport,
77
+ aC as useCssIncludes,
78
78
  X as useDisableIfStackNotEmpty,
79
79
  W as useDisableOnSubmit,
80
- aN as useFieldCascadeSelect,
81
- aO as useFieldFileDrag,
82
- aP as useFieldFlatpickr,
83
- aQ as useFieldModalSelect,
84
- aR as useFieldModalTree,
85
- aS as useFieldRepeatable,
86
- aT as useFieldSingleImageDrag,
80
+ aP as useFieldCascadeSelect,
81
+ aQ as useFieldFileDrag,
82
+ aR as useFieldFlatpickr,
83
+ aS as useFieldModalSelect,
84
+ aT as useFieldModalTree,
85
+ aU as useFieldRepeatable,
86
+ aV as useFieldSingleImageDrag,
87
87
  j as useFieldValidationSync,
88
- a2 as useForm,
89
- a0 as useFormAsync,
90
- aU as useFormComponent,
88
+ a4 as useForm,
89
+ a2 as useFormAsync,
90
+ aW as useFormComponent,
91
91
  g as useFormValidation,
92
- k as useFormValidationSync,
93
- a3 as useGrid,
94
- a1 as useGridAsync,
95
- aV as useGridComponent,
92
+ k as useFormValidationInstance,
93
+ a5 as useGrid,
94
+ a3 as useGridAsync,
95
+ aX as useGridComponent,
96
96
  u as useHttpClient,
97
- aW as useIframeModal,
98
- a8 as useImport,
99
- am as useInject,
97
+ aY as useIframeModal,
98
+ aa as useImport,
99
+ ap as useInject,
100
100
  Z as useKeepAlive,
101
- aw as useLang,
102
- ap as useLegacy,
103
- aX as useListDependent,
104
- ao as useMacro,
105
- o as useQueue,
106
- aZ as useS3MultipartUploader,
107
- aY as useS3Uploader,
108
- ax as useScriptImport,
109
- az as useSeriesImport,
110
- a_ as useShowOn,
101
+ az as useLang,
102
+ as as useLegacy,
103
+ aZ as useListDependent,
104
+ ar as useMacro,
105
+ n as useQueue,
106
+ a$ as useS3MultipartUploader,
107
+ a_ as useS3Uploader,
108
+ ak as useScriptImport,
109
+ aB as useSeriesImport,
110
+ b0 as useShowOn,
111
111
  m as useStack,
112
- q as useSystemUri,
112
+ o as useSystemUri,
113
113
  O as useTomSelect,
114
- aC as useUI,
115
- b0 as useUIBootstrap5,
116
- ah as useUITheme,
114
+ aE as useUI,
115
+ b2 as useUIBootstrap5,
116
+ aj as useUITheme,
117
117
  a as useUniDirective,
118
- al as useUnicorn,
118
+ ao as useUnicorn,
119
119
  b4 as useUnicornPhpAdapter,
120
- aE as useVueComponentField,
120
+ aG as useVueComponentField,
121
121
  b3 as useWebDirective,
122
- av as wait,
123
- a6 as watchAttributes
122
+ ay as wait,
123
+ a8 as watchAttributes
124
124
  };
125
125
  //# sourceMappingURL=unicorn.js.map