@fewangsit/wangsvue-fats 1.0.0-alpha.32 → 1.0.0-alpha.34

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 (150) hide show
  1. package/components/animation/Animation.vue.d.ts +6 -6
  2. package/components/approverinfo/ApproverInfo.vue.d.ts +36 -36
  3. package/components/assetinfo/AssetInfo.vue.d.ts +18 -21
  4. package/components/badge/Badge.vue.d.ts +46 -46
  5. package/components/badgegroup/BadgeGroup.vue.d.ts +38 -38
  6. package/components/basecomponent/index.d.ts +15 -15
  7. package/components/basetree/BaseTree.vue.d.ts +458 -458
  8. package/components/basetree/TreeNode.vue.d.ts +25 -25
  9. package/components/breadcrumb/Breadcrumb.vue.d.ts +7 -7
  10. package/components/button/Button.vue.d.ts +147 -142
  11. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +73 -73
  12. package/components/buttoncopy/ButtonCopy.vue.d.ts +7 -7
  13. package/components/buttondownload/ButtonDownload.vue.d.ts +26 -26
  14. package/components/buttonfilter/ButtonFilter.vue.d.ts +4 -4
  15. package/components/buttonradio/ButtonRadio.vue.d.ts +189 -189
  16. package/components/buttonscan/ButtonScan.vue.d.ts +154 -154
  17. package/components/buttonscan/helpers/getErrorCode.helper.d.ts +3 -0
  18. package/components/buttonscan/helpers/index.d.ts +1 -0
  19. package/components/buttonscan/workers/scanner.worker.d.ts +1 -0
  20. package/components/buttonsearch/ButtonSearch.vue.d.ts +13 -13
  21. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +164 -164
  22. package/components/buttonsync/ButtonSync.vue.d.ts +10 -10
  23. package/components/buttontoggle/ButtonToggle.vue.d.ts +4 -4
  24. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +6 -6
  25. package/components/calendar/BaseCalendar.vue.d.ts +127 -0
  26. package/components/calendar/Calendar.vue.d.ts +469 -469
  27. package/components/card/Card.vue.d.ts +82 -82
  28. package/components/checkbox/Checkbox.vue.d.ts +245 -245
  29. package/components/customcolumn/ColumnList.vue.d.ts +47 -0
  30. package/components/customcolumn/CustomColumn.vue.d.ts +21 -21
  31. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +16 -0
  32. package/components/datatable/DataTable.vue.d.ts +595 -595
  33. package/components/datatable/MultiRow.vue.d.ts +36 -0
  34. package/components/datatable/helpers/adjustMenuPosition.helper.d.ts +1 -0
  35. package/components/datatable/helpers/filter.helper.d.ts +38 -0
  36. package/components/datatable/helpers/index.d.ts +6 -0
  37. package/components/datatable/helpers/readConfig.helper.d.ts +5 -0
  38. package/components/datatable/store/dataTable.store.d.ts +25 -0
  39. package/components/dialog/Dialog.vue.d.ts +367 -367
  40. package/components/dialogconfirm/DialogConfirm.vue.d.ts +117 -117
  41. package/components/dialogform/DialogForm.vue.d.ts +288 -288
  42. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +98 -98
  43. package/components/dropdown/Dropdown.vue.d.ts +226 -226
  44. package/components/editor/CodeSnippetAdapter.vue.d.ts +152 -0
  45. package/components/editor/Editor.vue.d.ts +156 -156
  46. package/components/editor/EditorButton.vue.d.ts +35 -0
  47. package/components/editor/MentionList.vue.d.ts +49 -0
  48. package/components/editor/MentionSection.vue.d.ts +152 -0
  49. package/components/editor/codeSnippetExtension.d.ts +3 -0
  50. package/components/editor/mentionSectionExtension.d.ts +3 -0
  51. package/components/editor/suggestion.d.ts +2 -0
  52. package/components/fieldwrapper/FieldWrapper.vue.d.ts +48 -48
  53. package/components/fileupload/FileUpload.vue.d.ts +132 -132
  54. package/components/filtercontainer/FilterContainer.vue.d.ts +113 -116
  55. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +14 -0
  56. package/components/filtercontainer/helpers/formatDateTimeRange.helper.d.ts +7 -0
  57. package/components/filtercontainer/helpers/getOption.helper.d.ts +12 -0
  58. package/components/form/Form.vue.d.ts +258 -258
  59. package/components/icon/Icon.vue.d.ts +237 -235
  60. package/components/image/Image.vue.d.ts +306 -306
  61. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +59 -0
  62. package/components/imagecompressor/ImageCompressor.vue.d.ts +186 -186
  63. package/components/imagecompressor/ImageInputInfo.vue.d.ts +55 -0
  64. package/components/index.d.ts +58 -57
  65. package/components/inputbadge/InputBadge.vue.d.ts +90 -90
  66. package/components/inputcurrency/InputCurrency.vue.d.ts +126 -126
  67. package/components/inputcurrency/helpers/currency.helper.d.ts +3 -3
  68. package/components/inputnumber/InputNumber.vue.d.ts +245 -245
  69. package/components/inputpassword/InputPassword.vue.d.ts +19 -19
  70. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +68 -68
  71. package/components/inputphonenumber/helpers/getUserLocation.helper.d.ts +8 -0
  72. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +88 -88
  73. package/components/inputsearch/InputSearch.vue.d.ts +11 -14
  74. package/components/inputtext/InputText.vue.d.ts +281 -281
  75. package/components/inputurl/InputURL.vue.d.ts +6 -9
  76. package/components/invisiblefield/InvisibleField.vue.d.ts +18 -18
  77. package/components/litedropdown/LiteDropdown.vue.d.ts +64 -64
  78. package/components/loading/Loading.vue.d.ts +5 -5
  79. package/components/loading/store/loading.store.d.ts +3 -3
  80. package/components/menu/Menu.vue.d.ts +282 -282
  81. package/components/menu/helpers/filterMenu.helper.d.ts +15 -0
  82. package/components/menu/helpers/index.d.ts +1 -0
  83. package/components/menuitem/MenuItem.vue +70 -0
  84. package/components/menuitem/MenuItem.vue.d.ts +39 -0
  85. package/components/menuitem/index.d.ts +84 -84
  86. package/components/multiselect/MultiSelect.vue.d.ts +161 -161
  87. package/components/overlaypanel/OverlayPanel.vue.d.ts +207 -207
  88. package/components/passthrough/index.d.ts +8 -8
  89. package/components/tabmenu/TabMenu.vue.d.ts +185 -185
  90. package/components/textarea/Textarea.vue.d.ts +131 -131
  91. package/components/timeline/Timeline.vue.d.ts +60 -60
  92. package/components/timeline/TimelineContentByType.vue.d.ts +64 -0
  93. package/components/toast/Toast.vue.d.ts +265 -265
  94. package/components/toggleswitch/ToggleSwitch.vue.d.ts +211 -211
  95. package/components/transactionroles/TransactionRoles.vue.d.ts +58 -0
  96. package/components/tree/Tree.vue.d.ts +116 -116
  97. package/components/tree/helpers/filterNodeKeys.helper.d.ts +4 -4
  98. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +1 -1
  99. package/components/tree/helpers/index.d.ts +3 -0
  100. package/components/ts-helpers.d.ts +43 -41
  101. package/components/username/UserName.vue.d.ts +71 -71
  102. package/components/userwithicon/UserWithIcon.vue.d.ts +8 -8
  103. package/directives/focus.d.ts +1 -1
  104. package/event-bus/index.d.ts +51 -51
  105. package/event-bus/mitt.d.ts +24 -21
  106. package/loading-page-BrQattYE.js +1 -0
  107. package/loading-page-CgfbWppy.js +1 -0
  108. package/loading-page-CoC9UhfC.js +4 -0
  109. package/loading-page-CoXtqoc9.js +4 -0
  110. package/loading-page-DbLuqCHa.js +1 -0
  111. package/loading-page-f8D03l3G.js +4 -0
  112. package/loading-plane-CgfbWppy.js +1 -0
  113. package/loading-plane-CoXtqoc9.js +4 -0
  114. package/loading-table-Bdr9ZhtP.js +1 -0
  115. package/loading-table-ByUoWqUo.js +4 -0
  116. package/loading-table-BygEMzFM.js +4 -0
  117. package/loading-table-BzrSQlA0.js +1 -0
  118. package/loading-table-D9bw9OcI.js +4 -0
  119. package/loading-table-chOgXi94.js +1 -0
  120. package/no-data-CTKux8RI.js +4 -0
  121. package/no-data-Cgze_Rvp.js +1 -0
  122. package/no-data-DLHO1L_u.js +4 -0
  123. package/no-data-Dep79CBh.js +1 -0
  124. package/no-data-g0dJCy2p.js +4 -0
  125. package/no-data-y1X5WtcQ.js +1 -0
  126. package/package.json +4 -8
  127. package/plugins/WangsVue.d.ts +226 -226
  128. package/plugins/formValidation.d.ts +11 -11
  129. package/plugins/i18n-extension.d.ts +1 -1
  130. package/plugins/i18n.d.ts +80 -80
  131. package/style.css +1 -0
  132. package/utils/addAttachment.util.d.ts +59 -0
  133. package/utils/date.util.d.ts +53 -53
  134. package/utils/exportToExcel.util.d.ts +20 -0
  135. package/utils/filterOptions.util.d.ts +5 -0
  136. package/utils/genPlaceholder.util.d.ts +13 -0
  137. package/utils/getAttachmentIcon.util.d.ts +8 -0
  138. package/utils/index.d.ts +28 -2
  139. package/utils/listenSidebarChanges.util.d.ts +9 -9
  140. package/utils/mergePropsWithDefaults.util.d.ts +23 -0
  141. package/utils/object.util.d.ts +8 -8
  142. package/utils/role.util.d.ts +44 -43
  143. package/utils/textFormatter.util.d.ts +29 -0
  144. package/utils/toast.util.d.ts +78 -78
  145. package/wangsvue-fats.es.js +123948 -0
  146. package/wangsvue-fats.system.js +478 -0
  147. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +0 -35
  148. package/components/buttonsplit/ButtonSplit.vue.d.ts +0 -350
  149. package/components/languagedropdown/LanguageDropdown.vue.d.ts +0 -32
  150. package/components/treesearchinput/TreeSearchInput.vue.d.ts +0 -16
package/plugins/i18n.d.ts CHANGED
@@ -2,97 +2,97 @@ import { App, Ref } from 'vue';
2
2
  import { AxiosResponse } from 'axios';
3
3
  export type Locale = string;
4
4
  export interface LanguageOption {
5
- /**
6
- * ISO 639-1 language code (e.g., "en" for English, "fr" for French).
7
- */
8
- isoCode?: string;
9
- /**
10
- * The name of the language in English (e.g., "English", "Français").
11
- */
12
- name: string;
13
- /**
14
- * The URL of the country's flag image.
15
- * Flags are sourced from https://flagcdn.com and are typically in SVG format for high-quality resolution.
16
- */
17
- flag?: string;
5
+ /**
6
+ * ISO 639-1 language code (e.g., "en" for English, "fr" for French).
7
+ */
8
+ isoCode?: string;
9
+ /**
10
+ * The name of the language in English (e.g., "English", "Français").
11
+ */
12
+ name: string;
13
+ /**
14
+ * The URL of the country's flag image.
15
+ * Flags are sourced from https://flagcdn.com and are typically in SVG format for high-quality resolution.
16
+ */
17
+ flag?: string;
18
18
  }
19
19
  export interface I18n {
20
- /**
21
- * Locale message translation
22
- *
23
- * @param key - The translation key
24
- * @param params - A values of named interpolation
25
- * @param args - Positional interpolation values
26
- *
27
- * @returns translation message
28
- * @example `t('Hello {user}!', { user: 'John Doe' })` - returns: 'Hello John Doe!'
29
- * @example `t('Hello %s! I am %s.', "John Doe", "Peter Smith")` - returns: 'Hello John Doe! I am Peter Smith.'
30
- */
31
- t: {
32
- (key: string, params: Record<string, any>): string;
33
- (key: string, ...args: (string | number | boolean)[]): string;
34
- };
35
- /**
36
- * Change the locale dynamically
37
- *
38
- * @param newLocale - The locale to switch to
39
- */
40
- setLocale: (newLocale: Locale) => Promise<void>;
41
- /**
42
- * Get the current locale
43
- *
44
- * @returns Current locale
45
- */
46
- locale: Ref<Locale>;
47
- /**
48
- * Service methods handle fetch requests
49
- */
50
- service?: I18nService;
20
+ /**
21
+ * Locale message translation
22
+ *
23
+ * @param key - The translation key
24
+ * @param params - A values of named interpolation
25
+ * @param args - Positional interpolation values
26
+ *
27
+ * @returns translation message
28
+ * @example `t('Hello {user}!', { user: 'John Doe' })` - returns: 'Hello John Doe!'
29
+ * @example `t('Hello %s! I am %s.', "John Doe", "Peter Smith")` - returns: 'Hello John Doe! I am Peter Smith.'
30
+ */
31
+ t: {
32
+ (key: string, params: Record<string, any>): string;
33
+ (key: string, ...args: (string | number | boolean)[]): string;
34
+ };
35
+ /**
36
+ * Change the locale dynamically
37
+ *
38
+ * @param newLocale - The locale to switch to
39
+ */
40
+ setLocale: (newLocale: Locale) => Promise<void>;
41
+ /**
42
+ * Get the current locale
43
+ *
44
+ * @returns Current locale
45
+ */
46
+ locale: Ref<Locale>;
47
+ /**
48
+ * Service methods handle fetch requests
49
+ */
50
+ service?: I18nService;
51
51
  }
52
52
  type MessageMap = Record<string, string>;
53
53
  export interface I18nService {
54
- /**
55
- * Fetch all translation messages for a specific locale.
56
- * @param locale The locale code (e.g., 'en', 'id').
57
- * @returns A promise resolving to a key-value record of messages.
58
- */
59
- getMessages(locale: string): Promise<
60
- AxiosResponse<{
61
- data: MessageMap;
62
- }>
63
- >;
64
- /**
65
- * Fetch all available lang options for LanguageDropdown and LanguageSwitcher
66
- *
67
- * @returns Promise Array of options
68
- */
69
- getLanguageOptions(): Promise<LanguageOption[]>;
70
- /**
71
- * Fetch single lang option meta data
72
- *
73
- * @param locale The locale code (e.g., 'en', 'id').
74
- * @returns Promise LanguageMeta
75
- */
76
- getLanguageOptionMeta(locale: string): Promise<LanguageOption>;
77
- /**
78
- * Translate a specific text to the target locale.
79
- * @param key Unique translation key.
80
- * @param locale Target locale code.
81
- * @returns A promise resolving to the translated string.
82
- */
83
- translateText(key: string, locale: string): Promise<string>;
54
+ /**
55
+ * Fetch all translation messages for a specific locale.
56
+ * @param locale The locale code (e.g., 'en', 'id').
57
+ * @returns A promise resolving to a key-value record of messages.
58
+ */
59
+ getMessages(locale: string): Promise<
60
+ AxiosResponse<{
61
+ data: MessageMap;
62
+ }>
63
+ >;
64
+ /**
65
+ * Fetch all available lang options for LanguageDropdown and LanguageSwitcher
66
+ *
67
+ * @returns Promise Array of options
68
+ */
69
+ getLanguageOptions(): Promise<LanguageOption[]>;
70
+ /**
71
+ * Fetch single lang option meta data
72
+ *
73
+ * @param locale The locale code (e.g., 'en', 'id').
74
+ * @returns Promise LanguageMeta
75
+ */
76
+ getLanguageOptionMeta(locale: string): Promise<LanguageOption>;
77
+ /**
78
+ * Translate a specific text to the target locale.
79
+ * @param key Unique translation key.
80
+ * @param locale Target locale code.
81
+ * @returns A promise resolving to the translated string.
82
+ */
83
+ translateText(key: string, locale: string): Promise<string>;
84
84
  }
85
85
  export declare const useI18n: () => I18n;
86
86
  declare const i18n: {
87
- install: (app: App) => void;
87
+ install: (app: App) => void;
88
88
  };
89
89
  export declare const createI18nWithExtension: (
90
- service: I18nService,
90
+ service: I18nService,
91
91
  ) => typeof i18n;
92
92
  export default i18n;
93
93
  declare module 'vue' {
94
- interface ComponentCustomProperties {
95
- $i18n: I18n;
96
- $t: I18n['t'];
97
- }
94
+ interface ComponentCustomProperties {
95
+ $i18n: I18n;
96
+ $t: I18n['t'];
97
+ }
98
98
  }
package/style.css ADDED
@@ -0,0 +1 @@
1
+ html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.h-\[34px\]{height:34px}.h-\[6px\]{height:6px}.w-\[69px\]{width:69px}.w-\[6px\]{width:6px}.w-\[76px\]{width:76px}.gap-\[18px\]{gap:18px}.gap-\[6px\]{gap:6px}.rounded-\[18px\]{border-radius:18px}.px-\[21px\]{padding-left:21px;padding-right:21px}.text-\[16px\]{font-size:16px}.leading-\[19\.12px\]{line-height:19.12px}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.\!bottom-\[80px\]{bottom:80px!important}.-top-\[10px\]{top:-10px}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-\[45\%\]{top:45%}.\!z-\[9982\]{z-index:9982!important}.z-10{z-index:10}.\!m-0{margin:0!important}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.\!mt-0{margin-top:0!important}.-mr-8{margin-right:-2rem}.-mt-1\.5{margin-top:-.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-3{margin-right:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.\!h-4{height:1rem!important}.\!h-6{height:1.5rem!important}.\!h-8{height:2rem!important}.\!h-\[70px\]{height:70px!important}.\!h-max{height:-moz-max-content!important;height:max-content!important}.h-10{height:2.5rem}.h-2{height:.5rem}.h-28{height:7rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[10px\]{height:10px}.h-\[125px\]{height:125px}.h-\[14px\]{height:14px}.h-\[22px\]{height:22px}.h-\[26\.8px\]{height:26.8px}.h-\[29px\]{height:29px}.h-\[30px\]{height:30px}.h-\[60px\]{height:60px}.h-\[75vh\]{height:75vh}.h-\[80px\]{height:80px}.h-\[90vh\]{height:90vh}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.\!max-h-\[94vh\]{max-height:94vh!important}.max-h-20{max-height:5rem}.max-h-72{max-height:18rem}.max-h-\[300px\]{max-height:300px}.max-h-\[71px\]{max-height:71px}.max-h-\[75vh\]{max-height:75vh}.\!min-h-0{min-height:0px!important}.min-h-\[100px\]{min-height:100px}.min-h-\[30px\]{min-height:30px}.min-h-\[50vh\]{min-height:50vh}.\!w-0{width:0px!important}.\!w-4{width:1rem!important}.\!w-6{width:1.5rem!important}.\!w-8{width:2rem!important}.\!w-\[14px\]{width:14px!important}.\!w-\[400px\]{width:400px!important}.\!w-\[50px\]{width:50px!important}.\!w-\[70px\]{width:70px!important}.\!w-fit{width:-moz-fit-content!important;width:fit-content!important}.\!w-full{width:100%!important}.\!w-max{width:-moz-max-content!important;width:max-content!important}.w-10{width:2.5rem}.w-28{width:7rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[10px\]{width:10px}.w-\[125px\]{width:125px}.w-\[22px\]{width:22px}.w-\[269px\]{width:269px}.w-\[29px\]{width:29px}.w-\[30px\]{width:30px}.w-\[342px\]{width:342px}.w-\[400px\]{width:400px}.w-\[520px\]{width:520px}.w-\[60px\]{width:60px}.w-\[75vw\]{width:75vw}.w-\[80px\]{width:80px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.\!min-w-0{min-width:0px!important}.\!min-w-4{min-width:1rem!important}.min-w-\[30px\]{min-width:30px}.min-w-\[400px\]{min-width:400px}.min-w-\[min\(500px\,98vw\)\]{min-width:min(500px,98vw)}.max-w-\[121px\]{max-width:121px}.max-w-\[125px\]{max-width:125px}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80px\]{max-width:80px}.max-w-\[98vw\]{max-width:98vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.\!cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr\,max-content\]{grid-template-columns:1fr max-content}.grid-cols-\[auto\,max-content\]{grid-template-columns:auto max-content}.grid-cols-\[max-content\,1fr\,max-content\]{grid-template-columns:max-content 1fr max-content}.grid-cols-\[max-content\,1fr\]{grid-template-columns:max-content 1fr}.grid-cols-\[max-content\,auto\]{grid-template-columns:max-content auto}.grid-cols-\[max-content\,max-content\,auto\]{grid-template-columns:max-content max-content auto}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-\[max-content\,auto\]{grid-template-rows:max-content auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.\!items-center{align-items:center!important}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.\!justify-center{justify-content:center!important}.justify-center{justify-content:center}.\!justify-between{justify-content:space-between!important}.justify-between{justify-content:space-between}.\!gap-0{gap:0px!important}.\!gap-1{gap:.25rem!important}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[1px\]{gap:1px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.\!overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.\!rounded{border-radius:.25rem!important}.rounded{border-radius:.25rem}.rounded-\[50px\]{border-radius:50px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-width:1px}.border-\[0\.5px\]{border-width:.5px}.border-\[2px\]{border-width:2px}.border-b-\[0\.5px\]{border-bottom-width:.5px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-inherit{border-color:inherit}.\!bg-gray-100{--tw-bg-opacity: 1 !important;background-color:rgb(243 244 246 / var(--tw-bg-opacity))!important}.\!bg-transparent{background-color:transparent!important}.bg-black\/80{background-color:#000c}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.\!p-0{padding:0!important}.\!p-1{padding:.25rem!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[9\.52px\]{padding:9.52px}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!px-1\.5{padding-left:.375rem!important;padding-right:.375rem!important}.\!py-0{padding-top:0!important;padding-bottom:0!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-\[4\.5px\]{padding-top:4.5px;padding-bottom:4.5px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pl-3{padding-left:.75rem}.pr-0\.5{padding-right:.125rem}.pr-1\.5{padding-right:.375rem}.ps-\[6px\]{padding-inline-start:6px}.pt-1\.5{padding-top:.375rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.\!text-\[10px\]{font-size:10px!important}.\!text-\[9px\]{font-size:9px!important}.\!text-base{font-size:1rem!important;line-height:1.5rem!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-bold{font-weight:700!important}.\!font-light{font-weight:300!important}.\!font-normal{font-weight:400!important}.\!font-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.\!leading-3{line-height:.75rem!important}.\!leading-6{line-height:1.5rem!important}.\!leading-\[18px\]{line-height:18px!important}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[14px\]{line-height:14px}.leading-\[16\.39px\]{line-height:16.39px}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.03em\]{letter-spacing:.03em}.text-\[\#0000EE\]{--tw-text-opacity: 1;color:rgb(0 0 238 / var(--tw-text-opacity))}.text-\[\#908CAB\]{--tw-text-opacity: 1;color:rgb(144 140 171 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-inherit{color:inherit}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.\!ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[0\.5px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-offset-0{--tw-ring-offset-width: 0px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition-transform{transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.before\:ml-1:before{content:var(--tw-content);margin-left:.25rem}.before\:mr-1:before{content:var(--tw-content);margin-right:.25rem}.before\:content-\[\'•\'\]:before{--tw-content: "•";content:var(--tw-content)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-opacity-0:hover{--tw-bg-opacity: 0}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\>\[data-wv-section\=input-image-trigger\]\]\:hover\:opacity-100:hover>[data-wv-section=input-image-trigger]{opacity:1}.\[\&\>div\]\:hidden>div{display:none}.\[\&\>span\]\:hover\:opacity-30:hover>span{opacity:.3}.\[\&_\*\:has\(code\)\]\:my-\[0\.25rem\] *:has(code){margin-top:.25rem;margin-bottom:.25rem}.\[\&_\*\]\:outline-none *{outline:2px solid transparent;outline-offset:2px}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:pointer-events-none .is-editor-empty:first-child:before{pointer-events:none}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:float-left .is-editor-empty:first-child:before{float:left}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:h-0 .is-editor-empty:first-child:before{height:0px}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:font-normal .is-editor-empty:first-child:before{font-weight:400}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:content-\[attr\(data-placeholder\)\] .is-editor-empty:first-child:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.\[\&_\.separator\:\:after\]\:text-xl .separator:after{font-size:1.25rem;line-height:1.75rem}.\[\&_\.separator\:\:after\]\:font-thin .separator:after{font-weight:100}.\[\&_\.separator\:\:after\]\:content-\[\'\|\'\] .separator:after{--tw-content: "|";content:var(--tw-content)}.\[\&_\.separator\]\:h-6 .separator{height:1.5rem}.\[\&_a\]\:cursor-pointer a{cursor:pointer}.\[\&_a\]\:hover\:underline:hover a{text-decoration-line:underline}.\[\&_b\]\:font-bold b{font-weight:700}.\[\&_code\]\:rounded-md code{border-radius:.375rem}.\[\&_code\]\:p-\[0\.25em_0\.3em\] code{padding:.25em .3em}.\[\&_code\]\:text-\[0\.85rem\] code{font-size:.85rem}.\[\&_i\]\:h-2 i{height:.5rem}.\[\&_i\]\:h-5 i{height:1.25rem}.\[\&_i\]\:h-6 i{height:1.5rem}.\[\&_i\]\:h-\[7px\] i{height:7px}.\[\&_i\]\:w-2 i{width:.5rem}.\[\&_i\]\:w-5 i{width:1.25rem}.\[\&_i\]\:w-6 i{width:1.5rem}.\[\&_i\]\:w-\[11px\] i{width:11px}.\[\&_img\.ProseMirror-selectednode\]\:\!rounded-sm img.ProseMirror-selectednode{border-radius:.125rem!important}.\[\&_img\.ProseMirror-selectednode\]\:\!outline-\[0\.5px\] img.ProseMirror-selectednode{outline-width:.5px!important}.\[\&_img\.ProseMirror-selectednode\]\:\!outline-offset-1 img.ProseMirror-selectednode{outline-offset:1px!important}.\[\&_img\]\:my-2 img{margin-top:.5rem;margin-bottom:.5rem}.\[\&_li\]\:pl-0\.5 li{padding-left:.125rem}.\[\&_li\]\:before\:ml-\[-12px\] li:before{content:var(--tw-content);margin-left:-12px}.\[\&_li\]\:before\:inline-block li:before{content:var(--tw-content);display:inline-block}.\[\&_li\]\:before\:w-\[12px\] li:before{content:var(--tw-content);width:12px}.\[\&_li\]\:before\:content-\[\'•\'\] li:before{--tw-content: "•";content:var(--tw-content)}.\[\&_span\]\:leading-\[22px\] span{line-height:22px}.\[\&_strong\]\:font-bold strong{font-weight:700}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar{pointer-events:auto!important}[data-v-a4e0713c] .custom-scrollbar .simplebar-track{pointer-events:auto;background:#f0f0f0}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:before{background:silver;opacity:1;left:4px;right:4px}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:hover:before,[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:active:before{background:#8c8c8c}[data-v-a4e0713c] .custom-scrollbar .simplebar-content-wrapper,[data-v-a4e0713c] .custom-scrollbar .simplebar-wrapper{padding-bottom:12px!important;border-radius:8px}[data-v-a4e0713c] .custom-scrollbar .simplebar-track.simplebar-vertical{width:0px}[data-v-a4e0713c] .custom-scrollbar .simplebar-track.simplebar-horizontal{height:10px}.cropper-event-notification[data-v-b1e0f310]{background:#0009;color:#fff;position:absolute;left:0;top:0;bottom:0;right:0;display:flex;justify-content:center;align-items:center;text-align:center;font-size:20px;transition:opacity .5s;opacity:0;pointer-events:none;padding-left:50px;padding-right:50px}.cropper-event-notification--visible[data-v-b1e0f310]{transition:opacity .25s!important;pointer-events:all!important;opacity:1!important}[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:"";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{top:2px;bottom:2px;left:2px;right:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:0;bottom:0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar{pointer-events:auto!important}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track{pointer-events:auto;background:#f0f0f0}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:before{background:silver;opacity:1;left:4px;right:4px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:hover:before,[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:active:before{background:#8c8c8c}[data-v-6fa2ebda] .custom-scrollbar .simplebar-content-wrapper,[data-v-6fa2ebda] .custom-scrollbar .simplebar-wrapper{padding-bottom:12px!important;border-radius:8px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track.simplebar-vertical{width:0px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track.simplebar-horizontal{height:10px}.cropper-event-notification[data-v-e8cad1b8]{background:#0009;color:#fff;position:absolute;left:0;top:0;bottom:0;right:0;display:flex;justify-content:center;align-items:center;text-align:center;font-size:20px;transition:opacity .5s;opacity:0;pointer-events:none;padding-left:50px;padding-right:50px}.cropper-event-notification--visible[data-v-e8cad1b8]{transition:opacity .25s!important;pointer-events:all!important;opacity:1!important}.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}body.loading,body.loading *{overflow:hidden}
@@ -0,0 +1,59 @@
1
+ export type FileType =
2
+ | 'link'
3
+ | 'image'
4
+ | 'txt'
5
+ | 'doc'
6
+ | 'xls'
7
+ | 'pdf'
8
+ | 'csv'
9
+ | 'html'
10
+ | 'json'
11
+ | 'mp4'
12
+ | 'mkv'
13
+ | 'compressed'
14
+ | 'unknown';
15
+ export type FormattedFile = {
16
+ name: string;
17
+ type: string;
18
+ size: number;
19
+ webkitRelativePath: string;
20
+ fileType: FileType;
21
+ file: File;
22
+ imgPreviewURL?: string;
23
+ uploadProgress?: number;
24
+ controller?: AbortController;
25
+ isCanceled?: boolean;
26
+ };
27
+ /**
28
+ * Maps a mime type to a custom file type.
29
+ *
30
+ * @param {string} mimeType
31
+ * @returns {CustomFileType}
32
+ */
33
+ export declare const getFileType: (mimeType: string) => FileType;
34
+ /**
35
+ * Formats a file into a FormattedFile object.
36
+ *
37
+ * @param file The file to be formatted.
38
+ * @returns A FormattedFile object.
39
+ */
40
+ export declare const formatFile: (file: File) => FormattedFile;
41
+ /**
42
+ * Checks if a file is under the maximum size limit.
43
+ *
44
+ * @param file The file to be checked.
45
+ * @param customFileSize The maximum size limit in megabytes. @default 1
46
+ * @returns True if the file is under the maximum size limit, false otherwise.
47
+ */
48
+ export declare const validateFileSize: (
49
+ file: File,
50
+ customFileSize?: number,
51
+ ) => boolean;
52
+ /**
53
+ * Checks if a file has a valid type.
54
+ * Make sure user doesn't upload a folder.
55
+ *
56
+ * @param file The file to be checked.
57
+ * @returns True if the file has a valid type, false otherwise.
58
+ */
59
+ export declare const validateFileType: (file: File) => boolean;
@@ -1,58 +1,58 @@
1
1
  export type TDateFormat =
2
- | 'd/m/yy'
3
- | 'm/d/yy'
4
- | 'd/mm/yy'
5
- | 'dd/mm/yy'
6
- | 'dd/mm/yyyy'
7
- | 'dd M yy'
8
- | 'dd M yyyy'
9
- | 'dd MM yy'
10
- | 'dd MM yyyy'
11
- | 'D dd M yy'
12
- | 'D dd M yyyy'
13
- | 'DD dd MM yy'
14
- | 'DD dd MM yyyy'
15
- | 'D, dd M yy'
16
- | 'D, dd M yyyy'
17
- | 'DD, dd MM yy'
18
- | 'DD, dd MM yyyy';
2
+ | 'd/m/yy'
3
+ | 'm/d/yy'
4
+ | 'd/mm/yy'
5
+ | 'dd/mm/yy'
6
+ | 'dd/mm/yyyy'
7
+ | 'dd M yy'
8
+ | 'dd M yyyy'
9
+ | 'dd MM yy'
10
+ | 'dd MM yyyy'
11
+ | 'D dd M yy'
12
+ | 'D dd M yyyy'
13
+ | 'DD dd MM yy'
14
+ | 'DD dd MM yyyy'
15
+ | 'D, dd M yy'
16
+ | 'D, dd M yyyy'
17
+ | 'DD, dd MM yy'
18
+ | 'DD, dd MM yyyy';
19
19
  export type GoDateLayout =
20
- | '02/01/06'
21
- | '_2/_1/06'
22
- | '_1/_2/06'
23
- | '02 Jan 06'
24
- | 'Mon, 02 Jan 06'
25
- | 'Mon, 02 Jan 2006';
20
+ | '02/01/06'
21
+ | '_2/_1/06'
22
+ | '_1/_2/06'
23
+ | '02 Jan 06'
24
+ | 'Mon, 02 Jan 06'
25
+ | 'Mon, 02 Jan 2006';
26
26
  export type TTimeFormat = 'HH:mm' | 'HH:mm a' | 'HH:mm:ss' | 'HH:mm:ss a';
27
27
  export type GoTimeLayout = '15:04' | '03:04 PM' | '15:04:05' | '03:04:05 PM';
28
28
  export type CustomDateTimeFormatOptions = Omit<
29
- Intl.DateTimeFormatOptions,
30
- 'timeZone'
29
+ Intl.DateTimeFormatOptions,
30
+ 'timeZone'
31
31
  > & {
32
- timezone?: string;
33
- locale?: string;
32
+ timezone?: string;
33
+ locale?: string;
34
34
  };
35
35
  export type DateOptions = {
36
- locale?: string;
37
- dateFormat?: TDateFormat | GoDateLayout;
38
- timeFormat?: TTimeFormat | GoTimeLayout;
39
- timezone?: string;
40
- /**
41
- * Show the time in the formatted date.
42
- *
43
- * @default true - when `timeFormat` is provided
44
- */
45
- showTime?: boolean;
46
- /**
47
- * Show the date in the formatted date.
48
- *
49
- * @default true
50
- */
51
- showDate?: boolean;
52
- /**
53
- * This is old format (general settings), if configuration still using old settings then this option parameter can be used
54
- */
55
- formatPreset?: CustomDateTimeFormatOptions;
36
+ locale?: string;
37
+ dateFormat?: TDateFormat | GoDateLayout;
38
+ timeFormat?: TTimeFormat | GoTimeLayout;
39
+ timezone?: string;
40
+ /**
41
+ * Show the time in the formatted date.
42
+ *
43
+ * @default true - when `timeFormat` is provided
44
+ */
45
+ showTime?: boolean;
46
+ /**
47
+ * Show the date in the formatted date.
48
+ *
49
+ * @default true
50
+ */
51
+ showDate?: boolean;
52
+ /**
53
+ * This is old format (general settings), if configuration still using old settings then this option parameter can be used
54
+ */
55
+ formatPreset?: CustomDateTimeFormatOptions;
56
56
  };
57
57
  export declare const formatDate: (date: Date, options?: DateOptions) => string;
58
58
  export declare const formatISODate: (date: string | Date) => string;
@@ -64,12 +64,12 @@ export declare const formatISODate: (date: string | Date) => string;
64
64
  * @returns The formatted date string.
65
65
  */
66
66
  export declare const formatDateReadable: (
67
- date: Date,
68
- maxSeconds?: number,
67
+ date: Date,
68
+ maxSeconds?: number,
69
69
  ) => string;
70
70
  export declare const getRemainingTime: (deadline: string) => {
71
- seconds: number;
72
- days: number;
73
- hours: number;
74
- minutes: number;
71
+ seconds: number;
72
+ days: number;
73
+ hours: number;
74
+ minutes: number;
75
75
  };
@@ -0,0 +1,20 @@
1
+ export interface ITable {
2
+ headers: string[];
3
+ data: Record<string, unknown>[];
4
+ tableName: string;
5
+ tableTitle?: string;
6
+ }
7
+ interface IExcelOptions {
8
+ tables: ITable[];
9
+ fileName: string;
10
+ additionalTexts?: (string | string[])[];
11
+ }
12
+ /**
13
+ * Function to export excel, previously this only handle for 1 table in 1 file
14
+ * Now this function has been refactored to be able to format multiple tables in 1 file without altered its original functionality
15
+ * However, the way to called this function is changing a little bit (look for component DataTable and find usage of util `exportToExcel`)
16
+ *
17
+ * @param options - param that contain tables and filename for excel
18
+ */
19
+ declare const exportToExcel: (options: IExcelOptions) => Promise<void>;
20
+ export default exportToExcel;
@@ -0,0 +1,5 @@
1
+ import { Option } from '../components/dropdown/Dropdown.vue.d';
2
+ declare const filterOptions: (
3
+ options?: Option[] | string[],
4
+ ) => Option[] | string[];
5
+ export default filterOptions;
@@ -0,0 +1,13 @@
1
+ export declare const genRandomPlaceholderBg: () => string;
2
+ export declare const genPlaceholder: (
3
+ text: string,
4
+ size: 30 | 125,
5
+ bgColor?: string,
6
+ fontOptions?: {
7
+ font?: string;
8
+ fontWeight?: string;
9
+ fontSize?: number;
10
+ fontColor?: string;
11
+ },
12
+ ) => HTMLCanvasElement;
13
+ export default genPlaceholder;
@@ -0,0 +1,8 @@
1
+ import { WangsIcons } from '../components/icon/Icon.vue.d';
2
+ /**
3
+ *
4
+ * @param filename {string}
5
+ * @returns
6
+ */
7
+ declare const getAttachmentIcon: (filename: string) => WangsIcons;
8
+ export default getAttachmentIcon;
package/utils/index.d.ts CHANGED
@@ -1,8 +1,34 @@
1
- export { formatDate } from '../utils/date.util';
2
1
  export * from '../components/tree/helpers/filterNodeKeys.helper';
3
2
  export * from './role.util';
4
3
  export * from './listenSidebarChanges.util';
5
- export { checkRouteAccess } from './role.util';
4
+ export {
5
+ checkRouteAccess,
6
+ getTransactionRole,
7
+ getSystemRole,
8
+ hasSystemRole,
9
+ hasTransactionRole,
10
+ hasManagerRole,
11
+ hasAnyManagerRole,
12
+ hasAnyMonitoringReportRole,
13
+ hasStaffRole,
14
+ hasMonitoringReportRole,
15
+ hasApprovalRole,
16
+ } from './role.util';
6
17
  export { ZIndexUtils } from 'primevue/utils';
7
18
  export { default as useToast } from './toast.util';
8
19
  export { default as flattenTreeNodeChildren } from '../components/tree/helpers/flattenTreeNodeChildren.helper';
20
+
21
+ export * from './addAttachment.util';
22
+ export * from './object.util';
23
+ export * from './date.util';
24
+ export type { ToastParams, ToastMethod, UseToastConfig } from './toast.util';
25
+ export type { ITable } from './exportToExcel.util';
26
+ export type { FileType, FormattedFile } from './addAttachment.util';
27
+ export { default as exportToExcel } from './exportToExcel.util';
28
+ export { default as getAttachmentIcon } from './getAttachmentIcon.util';
29
+ export { default as filterOptions } from './filterOptions.util';
30
+ export { default as mergePropsWithDefaults } from './mergePropsWithDefaults.util';
31
+ export { formatUserName, getInititalName } from './textFormatter.util';
32
+ export { formatISODate } from './date.util';
33
+ export { genPlaceholder } from './genPlaceholder.util';
34
+ export { checkRouteAccess } from './role.util';
@@ -1,16 +1,16 @@
1
1
  import { TreeNode } from '../components/basetree/BaseTree.vue.d';
2
2
  export type SidebarEvent = CustomEvent<{
3
- /**
4
- * Stringified keys array.
5
- */
6
- keys: string;
7
- node: TreeNode;
3
+ /**
4
+ * Stringified keys array.
5
+ */
6
+ keys: string;
7
+ node: TreeNode;
8
8
  }>;
9
9
  export declare const listenSidebarChanges: (
10
- type: 'group' | 'category',
11
- callback: (e: SidebarEvent) => any,
10
+ type: 'group' | 'category',
11
+ callback: (e: SidebarEvent) => any,
12
12
  ) => void;
13
13
  export declare const unListenSidebarChanges: (
14
- type: 'group' | 'category',
15
- callback: (e: SidebarEvent) => any,
14
+ type: 'group' | 'category',
15
+ callback: (e: SidebarEvent) => any,
16
16
  ) => void;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Merges the provided props with default props.
3
+ * If a value in `props` is `undefined` or `null`
4
+ * it will be replaced by the corresponding value from `defaultProps`.
5
+ *
6
+ * This ensures that props always have a fallback value from `defaultProps`
7
+ *
8
+ * @param defaultProps - The default values for the props, used as fallbacks.
9
+ * @param props - The props passed to the component, which may have missing or falsy values.
10
+ *
11
+ * @returns A new object that combines the `defaultProps` and `props`, with `props` values
12
+ * overriding `defaultProps` where they are provided (unless `undefined` or `null`).
13
+ *
14
+ * @example
15
+ * const defaultProps = { showOptionalText: true, tooltipPos: 'top' };
16
+ * const props = { tooltipPos: 'bottom' };
17
+ * const mergedProps = mergePropsWithDefaults(defaultProps, props);
18
+ * console.log(mergedProps); // Output: { showOptionalText: true, tooltipPos: 'bottom' }
19
+ */
20
+ export default function mergePropsWithDefaults<T extends Record<string, any>>(
21
+ props: Record<string, any>,
22
+ defaultProps: T,
23
+ ): T;
@@ -2,23 +2,23 @@
2
2
  * Utility function to get nested property value.
3
3
  */
4
4
  export declare const getNestedPropertyValue: (
5
- obj: Record<string, any>,
6
- path: string,
5
+ obj: Record<string, any>,
6
+ path: string,
7
7
  ) => any;
8
8
  /**
9
9
  * Utility function to set nested property value.
10
10
  */
11
11
  export declare const setNestedPropertyValue: (
12
- obj: Record<string, any>,
13
- path: string,
14
- value: any,
12
+ obj: Record<string, any>,
13
+ path: string,
14
+ value: any,
15
15
  ) => void;
16
16
  export declare const isEmptyObject: (obj: object) => boolean;
17
17
  export declare const deepEquals: (a: object, b: object) => boolean;
18
18
  export declare const equals: (
19
- obj1: object,
20
- obj2: object,
21
- field?: string,
19
+ obj1: object,
20
+ obj2: object,
21
+ field?: string,
22
22
  ) => boolean;
23
23
  export declare const resolveFieldData: (data: object, field?: string) => object;
24
24
  export declare const contains: (value: object, list: object[]) => boolean;