@fewangsit/wangsvue-fats 1.0.0-alpha.13 → 1.0.0-alpha.131

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 (164) hide show
  1. package/components/animation/Animation.vue.d.ts +9 -1
  2. package/components/assetinfo/AssetInfo.vue.d.ts +44 -0
  3. package/components/badgegroup/BadgeGroup.vue.d.ts +3 -1
  4. package/components/basetree/BaseTree.vue.d.ts +6 -1
  5. package/components/button/Button.vue.d.ts +3 -2
  6. package/components/buttonaddbyscan/ButtonAddByScan.vue.d.ts +40 -0
  7. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +1 -0
  8. package/components/buttonradio/ButtonRadio.vue.d.ts +1 -0
  9. package/components/buttonscan/ButtonScan.vue.d.ts +202 -0
  10. package/components/buttonsearchbyscan/ButtonSearchByScan.vue.d.ts +46 -0
  11. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +2 -1
  12. package/components/buttonsplit/ButtonSplit.vue.d.ts +352 -34
  13. package/components/buttonsync/ButtonSync.vue.d.ts +22 -0
  14. package/components/buttontoggle/ButtonToggle.vue.d.ts +1 -0
  15. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +17 -0
  16. package/components/calendar/Calendar.vue.d.ts +32 -4
  17. package/components/card/Card.vue.d.ts +1 -0
  18. package/components/carousel/Carousel.vue.d.ts +28 -0
  19. package/components/checkbox/Checkbox.vue.d.ts +1 -0
  20. package/components/datatable/DataTable.vue.d.ts +12 -4
  21. package/components/dialog/Dialog.vue.d.ts +4 -3
  22. package/components/dialogassetnamedetail/DialogAssetNameDetail.vue.d.ts +46 -0
  23. package/components/dialogassetnamedetail/options/columns.d.ts +2 -0
  24. package/components/dialogassetnamedetail/options/filter.d.ts +2 -0
  25. package/components/dialogconfirm/DialogConfirm.vue.d.ts +1 -0
  26. package/components/dialogform/DialogForm.vue.d.ts +3 -2
  27. package/components/dialoglinkedasset/DialogLinkedAsset.vue.d.ts +106 -0
  28. package/components/dialogprintqr/DialogPrintQR.vue.d.ts +18 -0
  29. package/components/dialogreportdamage/DialogReportDamage.vue.d.ts +34 -0
  30. package/components/dialogreportmissing/DialogReportMissing.vue.d.ts +33 -0
  31. package/components/dialogreporttag/DialogReportTag.vue.d.ts +31 -0
  32. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +3 -2
  33. package/components/dialogselectuser/DialogSelectUser.vue.d.ts +102 -0
  34. package/components/dialogselectuser/options/columns.d.ts +3 -0
  35. package/components/dialogtransferlog/DialogTransferLog.vue.d.ts +16 -0
  36. package/components/dropdown/Dropdown.vue.d.ts +28 -4
  37. package/components/editor/Editor.vue.d.ts +1 -0
  38. package/components/fieldwrapper/FieldWrapper.vue.d.ts +19 -2
  39. package/components/fileupload/FileUpload.vue.d.ts +1 -0
  40. package/components/filtercontainer/FilterContainer.vue.d.ts +107 -69
  41. package/components/form/Form.vue.d.ts +4 -1
  42. package/components/icon/Icon.vue.d.ts +4 -0
  43. package/components/image/Image.vue.d.ts +8 -0
  44. package/components/imagecompressor/ImageCompressor.vue.d.ts +14 -0
  45. package/components/index.d.ts +34 -20
  46. package/components/inputcurrency/helpers/currency.helper.d.ts +5 -1
  47. package/components/inputemail/InputEmail.vue.d.ts +1 -0
  48. package/components/inputnumber/InputNumber.vue.d.ts +6 -0
  49. package/components/inputotp/InputOtp.vue.d.ts +3 -0
  50. package/components/inputpassword/InputPassword.vue.d.ts +1 -0
  51. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +1 -0
  52. package/components/inputsearch/InputSearch.vue.d.ts +7 -1
  53. package/components/inputtext/InputText.vue.d.ts +2 -1
  54. package/components/inputurl/InputURL.vue.d.ts +4 -2
  55. package/components/invisiblefield/InvisibleField.vue.d.ts +32 -36
  56. package/components/languagedropdown/LanguageDropdown.vue.d.ts +5 -19
  57. package/components/litedropdown/LiteDropdown.vue.d.ts +5 -3
  58. package/components/loading/store/loading.store.d.ts +3 -3
  59. package/components/menu/Menu.vue.d.ts +2 -1
  60. package/components/multiselect/MultiSelect.vue.d.ts +7 -4
  61. package/components/overlaypanel/OverlayPanel.vue.d.ts +1 -0
  62. package/components/paginator/Paginator.vue.d.ts +285 -0
  63. package/components/steps/Steps.vue.d.ts +20 -0
  64. package/components/tabmenu/TabMenu.vue.d.ts +7 -191
  65. package/components/tagtype/TagType.vue.d.ts +26 -0
  66. package/components/textarea/Textarea.vue.d.ts +2 -1
  67. package/components/timeline/Timeline.vue.d.ts +21 -2
  68. package/components/toast/Toast.vue.d.ts +2 -1
  69. package/components/toggleswitch/ToggleSwitch.vue.d.ts +1 -0
  70. package/components/transactionroles/TransactionRoles.vue.d.ts +58 -0
  71. package/components/tree/Tree.vue.d.ts +6 -3
  72. package/components/tree/helpers/filterNodeKeys.helper.d.ts +8 -2
  73. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +3 -1
  74. package/components/ts-helpers.d.ts +8 -0
  75. package/components/username/UserName.vue.d.ts +6 -1
  76. package/components/userwithicon/UserWithIcon.vue.d.ts +21 -0
  77. package/config/defaultProps.d.ts +1 -1
  78. package/config/index.d.ts +1 -1
  79. package/config/locale.d.ts +1 -1
  80. package/directives/focus.d.ts +1 -1
  81. package/event-bus/index.d.ts +59 -53
  82. package/event-bus/mitt.d.ts +29 -14
  83. package/main.d.ts +34 -2
  84. package/package.json +14 -6
  85. package/plugins/VueHtmlToPaper.d.ts +11 -0
  86. package/plugins/WangsVue.d.ts +272 -98
  87. package/plugins/formValidation.d.ts +16 -6
  88. package/plugins/i18n-extension.d.ts +1 -1
  89. package/plugins/i18n.d.ts +90 -67
  90. package/stats.html +4949 -0
  91. package/utils/date.util.d.ts +64 -31
  92. package/utils/formatTagCode.util.d.ts +1 -0
  93. package/utils/getStatusSeverity.util.d.ts +23 -0
  94. package/utils/index.d.ts +7 -21
  95. package/utils/isBasic.util.d.ts +1 -0
  96. package/utils/listenSidebarChanges.util.d.ts +14 -9
  97. package/utils/object.util.d.ts +14 -3
  98. package/utils/role.util.d.ts +63 -26
  99. package/utils/toast.util.d.ts +78 -78
  100. package/wangsvue-fats.css +1 -0
  101. package/wangsvue-fats.js +56921 -0
  102. package/wangsvue-fats.system.js +199 -281
  103. package/assets/json/currencies.json.d.ts +0 -1068
  104. package/assets/lottie/admin/loading-page.lottie +0 -0
  105. package/assets/lottie/admin/loading-table.lottie +0 -0
  106. package/assets/lottie/admin/no-data.lottie +0 -0
  107. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  108. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  109. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  110. package/assets/lottie/workspace/loading-page.lottie +0 -0
  111. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  112. package/assets/lottie/workspace/loading-table.lottie +0 -0
  113. package/assets/lottie/workspace/no-data.lottie +0 -0
  114. package/build-entry.d.ts +0 -14
  115. package/components/buttonsplit/ButtonSplit.d.ts +0 -350
  116. package/components/calendar/BaseCalendar.vue.d.ts +0 -86
  117. package/components/codesnippet/CodeSnippet.vue.d.ts +0 -14
  118. package/components/customcolumn/ColumnList.vue.d.ts +0 -27
  119. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +0 -12
  120. package/components/datatable/MultiRow.vue.d.ts +0 -16
  121. package/components/datatable/helpers/adjustMenuPosition.helper.d.ts +0 -1
  122. package/components/datatable/helpers/filter.helper.d.ts +0 -28
  123. package/components/datatable/helpers/index.d.ts +0 -3
  124. package/components/datatable/helpers/readConfig.helper.d.ts +0 -2
  125. package/components/datatable/store/dataTable.store.d.ts +0 -22
  126. package/components/editor/CodeSnippetAdapter.vue.d.ts +0 -92
  127. package/components/editor/EditorButton.vue.d.ts +0 -15
  128. package/components/editor/MentionList.vue.d.ts +0 -35
  129. package/components/editor/MentionSection.vue.d.ts +0 -92
  130. package/components/editor/codeSnippetExtension.d.ts +0 -3
  131. package/components/editor/mentionSectionExtension.d.ts +0 -3
  132. package/components/editor/suggestion.d.ts +0 -2
  133. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +0 -5
  134. package/components/filtercontainer/helpers/formatDateTimeRange.helper.d.ts +0 -7
  135. package/components/filtercontainer/helpers/getOption.helper.d.ts +0 -3
  136. package/components/gallerypreview/GalleryPreview.vue.d.ts +0 -31
  137. package/components/helpers/convertToArrayClass.helper.d.ts +0 -2
  138. package/components/helpers/index.d.ts +0 -2
  139. package/components/helpers/label.d.ts +0 -15
  140. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +0 -36
  141. package/components/imagecompressor/ImageInputInfo.vue.d.ts +0 -30
  142. package/components/inputgroup/InputGroup.vue.d.ts +0 -141
  143. package/components/inputphonenumber/helpers/getUserLocation.helper.d.ts +0 -8
  144. package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +0 -18
  145. package/components/menu/helpers/filterMenu.helper.d.ts +0 -12
  146. package/components/menu/helpers/index.d.ts +0 -1
  147. package/components/menuitem/MenuItem.vue.d.ts +0 -19
  148. package/components/progressbar/ProgressBar.vue.d.ts +0 -72
  149. package/components/quickfilter/QuickFilter.vue.d.ts +0 -25
  150. package/components/timeline/TimelineContentByType.vue.d.ts +0 -16
  151. package/components/tooltipspan/TooltipSpan.vue.d.ts +0 -20
  152. package/components/tree/helpers/index.d.ts +0 -3
  153. package/components/usergroup/UserGroup.vue.d.ts +0 -57
  154. package/components/validatormessage/ValidatorMessage.vue.d.ts +0 -12
  155. package/style.css +0 -1
  156. package/types/options.type.d.ts +0 -16
  157. package/utils/addAttachment.util.d.ts +0 -43
  158. package/utils/exportToExcel.util.d.ts +0 -20
  159. package/utils/filterOptions.util.d.ts +0 -3
  160. package/utils/genPlaceholder.util.d.ts +0 -8
  161. package/utils/getAttachmentIcon.util.d.ts +0 -8
  162. package/utils/mergePropsWithDefaults.util.d.ts +0 -20
  163. package/utils/textFormatter.util.d.ts +0 -17
  164. package/wangsvue-fats.es.js +0 -133530
@@ -1,34 +1,64 @@
1
- export type TDateFormat = 'd/m/yy' | 'm/d/yy' | 'd/mm/yy' | 'dd/mm/yy' | 'dd/mm/yyyy' | 'dd M yy' | 'dd M yyyy' | 'dd MM yy' | 'dd MM yyyy' | 'D dd M yy' | 'D dd M yyyy' | 'DD dd MM yy' | 'DD dd MM yyyy' | 'D, dd M yy' | 'D, dd M yyyy' | 'DD, dd MM yy' | 'DD, dd MM yyyy';
2
- export type GoDateLayout = '02/01/06' | '_2/_1/06' | '_1/_2/06' | '02 Jan 06' | 'Mon, 02 Jan 06' | 'Mon, 02 Jan 2006';
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';
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';
3
26
  export type TTimeFormat = 'HH:mm' | 'HH:mm a' | 'HH:mm:ss' | 'HH:mm:ss a';
4
27
  export type GoTimeLayout = '15:04' | '03:04 PM' | '15:04:05' | '03:04:05 PM';
5
- export type CustomDateTimeFormatOptions = Omit<Intl.DateTimeFormatOptions, 'timeZone'> & {
6
- timezone?: string;
7
- locale?: string;
28
+ export type CustomDateTimeFormatOptions = Omit<
29
+ Intl.DateTimeFormatOptions,
30
+ 'timeZone'
31
+ > & {
32
+ timezone?: string;
33
+ locale?: string;
8
34
  };
9
35
  export type DateOptions = {
10
- locale?: string;
11
- dateFormat?: TDateFormat | GoDateLayout;
12
- timeFormat?: TTimeFormat | GoTimeLayout;
13
- timezone?: string;
14
- /**
15
- * Show the time in the formatted date.
16
- *
17
- * @default true - when `timeFormat` is provided
18
- */
19
- showTime?: boolean;
20
- /**
21
- * Show the date in the formatted date.
22
- *
23
- * @default true
24
- */
25
- showDate?: boolean;
26
- /**
27
- * This is old format (general settings), if configuration still using old settings then this option parameter can be used
28
- */
29
- 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;
30
56
  };
31
- export declare const formatDate: (date: Date, options?: DateOptions) => string;
57
+ export declare const formatDate: (
58
+ date: Date,
59
+ options?: DateOptions,
60
+ useGeneralSettings?: boolean,
61
+ ) => string;
32
62
  export declare const formatISODate: (date: string | Date) => string;
33
63
  /**
34
64
  * Formats a date to human readable form (timeago / relative time from now).
@@ -37,10 +67,13 @@ export declare const formatISODate: (date: string | Date) => string;
37
67
  * @param maxSeconds - Max value of seconds difference. Use it for formats a date according to the user's general settings.
38
68
  * @returns The formatted date string.
39
69
  */
40
- export declare const formatDateReadable: (date: Date, maxSeconds?: number) => string;
70
+ export declare const formatDateReadable: (
71
+ date: Date,
72
+ maxSeconds?: number,
73
+ ) => string;
41
74
  export declare const getRemainingTime: (deadline: string) => {
42
- seconds: number;
43
- days: number;
44
- hours: number;
45
- minutes: number;
75
+ seconds: number;
76
+ days: number;
77
+ hours: number;
78
+ minutes: number;
46
79
  };
@@ -0,0 +1 @@
1
+ export declare const formatTagCode: (tagCode?: string) => string;
@@ -0,0 +1,23 @@
1
+ import { BadgeProps } from '../components/badge/Badge.vue.d';
2
+ export type FixedAssetStatus =
3
+ | 'Available'
4
+ | 'Approved'
5
+ | 'Finished Approval'
6
+ | 'Damaged'
7
+ | 'Missing'
8
+ | 'Rejected'
9
+ | 'Reported Missing'
10
+ | 'Reported Damaged'
11
+ | 'TAG Reported'
12
+ | 'Not Paired Yet'
13
+ | 'Unassigned'
14
+ | 'Reported Disposal'
15
+ | 'On Disposal Process'
16
+ | 'Disposed'
17
+ | 'On Transfer'
18
+ | 'Waiting for Handover'
19
+ | 'Waiting for Approval'
20
+ | 'Need Approval';
21
+ export default function getStatusSeverity(
22
+ status: FixedAssetStatus,
23
+ ): BadgeProps['severity'];
package/utils/index.d.ts CHANGED
@@ -1,22 +1,8 @@
1
- export * from '.././components/tree/helpers/filterNodeKeys.helper';
2
- export * from '.././utils';
3
- export { checkRouteAccess } from './role.util';
4
- export { default as exportToExcel } from './exportToExcel.util';
5
- export { default as filterOptions } from './filterOptions.util';
6
- export { default as flattenTreeNodeChildren } from '.././components/tree/helpers/flattenTreeNodeChildren.helper';
7
- export { default as getAttachmentIcon } from './getAttachmentIcon.util';
8
- export { default as mergePropsWithDefaults } from './mergePropsWithDefaults.util';
1
+ export * from '../components/tree/helpers/filterNodeKeys.helper';
2
+ export * from './role.util';
3
+ export * from './listenSidebarChanges.util';
4
+ export { isEmptyObject } from '../utils/object.util';
5
+ export { formatDate, formatDateReadable } from '../utils/date.util';
6
+ export { default as flattenTreeNodeChildren } from '../components/tree/helpers/flattenTreeNodeChildren.helper';
7
+ export { default as getStatusSeverity } from './getStatusSeverity.util';
9
8
  export { default as useToast } from './toast.util';
10
- export { formatDate } from './date.util';
11
- export { formatDate, formatDateReadable } from './date.util';
12
- export { formatISODate } from './date.util';
13
- export { formatUserName, getInititalName } from './textFormatter.util';
14
- export { genPlaceholder } from './genPlaceholder.util';
15
- export { getFileType, formatFile, validateFileSize, validateFileType, } from './addAttachment.util';
16
- export { getTransactionRole, getSystemRole, hasTransactionRole, hasApprovalRole, hasSystemRole, checkRouteAccess, hasManagerRole, hasAnyManagerRole, hasMonitoringReportRole, hasAnyMonitoringReportRole, hasStaffRole, type UserLogin, type TransactionAttribute, type SystemRoleAttribute, type SystemRole, type TransactionRole, } from './role.util';
17
- export { setNestedPropertyValue, getNestedPropertyValue, isEmptyObject, } from './object.util';
18
- export { unListenSidebarChanges, listenSidebarChanges, } from './listenSidebarChanges.util';
19
- export { ZIndexUtils } from 'primevue/utils';
20
- export type { FileType, FormattedFile } from './addAttachment.util';
21
- export type { ITable } from './exportToExcel.util';
22
- export type { ToastParams, ToastMethod, UseToastConfig } from './toast.util';
@@ -0,0 +1 @@
1
+ export declare const isBasic: () => boolean;
@@ -1,11 +1,16 @@
1
- import { TreeNode } from '.././components/basetree/BaseTree.vue.d';
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
- declare const listenSidebarChanges: (type: "group" | "category", callback: (e: SidebarEvent) => any) => void;
10
- declare const unListenSidebarChanges: (type: "group" | "category", callback: (e: SidebarEvent) => any) => void;
11
- export { unListenSidebarChanges, listenSidebarChanges };
9
+ export declare const listenSidebarChanges: (
10
+ type: 'group' | 'category',
11
+ callback: (e: SidebarEvent) => any,
12
+ ) => void;
13
+ export declare const unListenSidebarChanges: (
14
+ type: 'group' | 'category',
15
+ callback: (e: SidebarEvent) => any,
16
+ ) => void;
@@ -1,14 +1,25 @@
1
1
  /**
2
2
  * Utility function to get nested property value.
3
3
  */
4
- export declare const getNestedPropertyValue: (obj: Record<string, any>, path: string) => any;
4
+ export declare const getNestedPropertyValue: (
5
+ obj: Record<string, any>,
6
+ path: string,
7
+ ) => any;
5
8
  /**
6
9
  * Utility function to set nested property value.
7
10
  */
8
- export declare const setNestedPropertyValue: (obj: Record<string, any>, path: string, value: any) => void;
11
+ export declare const setNestedPropertyValue: (
12
+ obj: Record<string, any>,
13
+ path: string,
14
+ value: any,
15
+ ) => void;
9
16
  export declare const isEmptyObject: (obj: object) => boolean;
10
17
  export declare const deepEquals: (a: object, b: object) => boolean;
11
- export declare const equals: (obj1: object, obj2: object, field?: string) => boolean;
18
+ export declare const equals: (
19
+ obj1: object,
20
+ obj2: object,
21
+ field?: string,
22
+ ) => boolean;
12
23
  export declare const resolveFieldData: (data: object, field?: string) => object;
13
24
  export declare const contains: (value: object, list: object[]) => boolean;
14
25
  export declare const isNotEmpty: (value: object) => boolean;
@@ -1,33 +1,70 @@
1
1
  import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router';
2
- export * from '.././utils';
3
2
  export type TransactionRole = {
4
- manager: boolean;
5
- monitoringReport: boolean;
6
- staff: boolean;
7
- approver: boolean;
3
+ manager: boolean;
4
+ monitoringReport: boolean;
5
+ staff: boolean;
6
+ approver: boolean;
8
7
  };
9
8
  export type SystemRole = {
10
- create: boolean;
11
- view: boolean;
12
- update: boolean;
13
- delete: boolean;
9
+ create: boolean;
10
+ view: boolean;
11
+ update: boolean;
12
+ delete: boolean;
14
13
  };
15
- export type SystemRoleAttribute = 'importData' | 'assetAttribute' | 'assetPolicies' | 'depreciationGroup' | 'depreciationMethod' | 'documentDeletion' | 'group' | 'iotReader' | 'license' | 'purchaseDocument' | 'purchaseInformation' | 'userAndRole' | 'tag' | 'tagType' | 'registerAsset';
16
- export type TransactionAttribute = 'borrowingRole' | 'assignmentRole' | 'disposalRole' | 'transferRole' | 'auditRole' | 'maintenanceRole' | 'repairRole' | 'trackingRole' | 'damagedRole' | 'missingRole';
14
+ export type SystemRoleAttribute =
15
+ | 'importData'
16
+ | 'assetAttribute'
17
+ | 'assetPolicies'
18
+ | 'depreciationGroup'
19
+ | 'depreciationMethod'
20
+ | 'documentDeletion'
21
+ | 'group'
22
+ | 'iotReader'
23
+ | 'license'
24
+ | 'purchaseDocument'
25
+ | 'purchaseInformation'
26
+ | 'userAndRole'
27
+ | 'tag'
28
+ | 'tagType'
29
+ | 'registerAsset';
30
+ export type TransactionAttribute =
31
+ | 'borrowingRole'
32
+ | 'assignmentRole'
33
+ | 'disposalRole'
34
+ | 'transferRole'
35
+ | 'auditRole'
36
+ | 'maintenanceRole'
37
+ | 'repairRole'
38
+ | 'trackingRole'
39
+ | 'damagedRole'
40
+ | 'missingRole';
17
41
  export interface UserLogin {
18
- transactionRoles: Record<TransactionAttribute, TransactionRole>;
19
- systemRoles: Record<SystemRoleAttribute, SystemRole>;
20
- userType: 'Admin' | 'Basic';
42
+ transactionRoles: Record<TransactionAttribute, TransactionRole>;
43
+ systemRoles: Record<SystemRoleAttribute, SystemRole>;
44
+ userType: 'Admin' | 'Basic';
45
+ plan: 'Enterprise' | 'Basic';
21
46
  }
22
- declare const getTransactionRole: (name: keyof UserLogin["transactionRoles"]) => TransactionRole;
23
- declare const getSystemRole: (name: keyof UserLogin["systemRoles"]) => SystemRole;
24
- declare const hasSystemRole: (name: SystemRoleAttribute) => boolean;
25
- declare const hasTransactionRole: (name: TransactionAttribute) => boolean;
26
- declare const hasManagerRole: (name: TransactionAttribute) => boolean;
27
- declare const hasAnyManagerRole: () => boolean;
28
- declare const hasAnyMonitoringReportRole: () => boolean;
29
- declare const hasStaffRole: (name: TransactionAttribute) => boolean;
30
- declare const hasMonitoringReportRole: (name: TransactionAttribute) => boolean;
31
- declare const hasApprovalRole: (name: TransactionAttribute) => boolean;
32
- declare const checkRouteAccess: (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) => void;
33
- export { getTransactionRole, getSystemRole, hasTransactionRole, hasApprovalRole, hasSystemRole, checkRouteAccess, hasManagerRole, hasAnyManagerRole, hasMonitoringReportRole, hasAnyMonitoringReportRole, hasStaffRole, };
47
+ export declare const getUserPlan: () => UserLogin['plan'];
48
+ export declare const getTransactionRole: (
49
+ name: keyof UserLogin['transactionRoles'],
50
+ ) => TransactionRole;
51
+ export declare const getSystemRole: (
52
+ name: keyof UserLogin['systemRoles'],
53
+ ) => SystemRole;
54
+ export declare const hasSystemRole: (name: SystemRoleAttribute) => boolean;
55
+ export declare const hasTransactionRole: (
56
+ name: TransactionAttribute,
57
+ ) => boolean;
58
+ export declare const hasManagerRole: (name: TransactionAttribute) => boolean;
59
+ export declare const hasAnyManagerRole: () => boolean;
60
+ export declare const hasAnyMonitoringReportRole: () => boolean;
61
+ export declare const hasStaffRole: (name: TransactionAttribute) => boolean;
62
+ export declare const hasMonitoringReportRole: (
63
+ name: TransactionAttribute,
64
+ ) => boolean;
65
+ export declare const hasApprovalRole: (name: TransactionAttribute) => boolean;
66
+ export declare const checkRouteAccess: (
67
+ to: RouteLocationNormalized,
68
+ from: RouteLocationNormalized,
69
+ next: NavigationGuardNext,
70
+ ) => void;
@@ -1,91 +1,91 @@
1
1
  import { WangsIcons } from '../components/icon/Icon.vue.d';
2
2
  export type ToastSeverity = 'success' | 'error' | 'info';
3
3
  export interface ToastParams {
4
- /**
5
- * The main message to display in the toast. Will be formatted based on template message.
6
- */
7
- message: string;
8
- /**
9
- * Indicates whether the message is customized and does not follow the default message template.
10
- * If true, custom formatting will be applied.
11
- */
12
- customMessage?: boolean;
13
- /**
14
- * The severity level of the toast message.
15
- * Can be 'success', 'error', or 'info'.
16
- */
17
- severity?: ToastSeverity;
18
- /**
19
- * The icon to display in the toast.
20
- */
21
- icon?: WangsIcons;
22
- /**
23
- * The custom CSS class to apply to the icon.
24
- */
25
- iconClass?: any;
26
- /**
27
- * The error object from a catch statement, used to provide additional details for error toasts.
28
- * Accepts any type of error object.
29
- */
30
- error?: unknown;
31
- /**
32
- * The duration for which the toast will be displayed, in milliseconds.
33
- * Set to 0 to show the message infinitely.
34
- *
35
- * @default 3000 - 3 seconds
36
- */
37
- life?: number;
38
- /**
39
- * The name of the message group to which this toast belongs.
40
- */
41
- group?: string;
42
- /**
43
- * Unique identifier of the toast message.
44
- */
45
- messageId?: string;
4
+ /**
5
+ * The main message to display in the toast. Will be formatted based on template message.
6
+ */
7
+ message: string;
8
+ /**
9
+ * Indicates whether the message is customized and does not follow the default message template.
10
+ * If true, custom formatting will be applied.
11
+ */
12
+ customMessage?: boolean;
13
+ /**
14
+ * The severity level of the toast message.
15
+ * Can be 'success', 'error', or 'info'.
16
+ */
17
+ severity?: ToastSeverity;
18
+ /**
19
+ * The icon to display in the toast.
20
+ */
21
+ icon?: WangsIcons;
22
+ /**
23
+ * The custom CSS class to apply to the icon.
24
+ */
25
+ iconClass?: any;
26
+ /**
27
+ * The error object from a catch statement, used to provide additional details for error toasts.
28
+ * Accepts any type of error object.
29
+ */
30
+ error?: unknown;
31
+ /**
32
+ * The duration for which the toast will be displayed, in milliseconds.
33
+ * Set to 0 to show the message infinitely.
34
+ *
35
+ * @default 3000 - 3 seconds
36
+ */
37
+ life?: number;
38
+ /**
39
+ * The name of the message group to which this toast belongs.
40
+ */
41
+ group?: string;
42
+ /**
43
+ * Unique identifier of the toast message.
44
+ */
45
+ messageId?: string;
46
46
  }
47
47
  export interface ToastMethod {
48
- add(params: ToastParams): void;
49
- /**
50
- * Clears the messages that belongs to the group.
51
- * @param {string} group - Name of the message group.
52
- */
53
- removeGroup(group: string): void;
54
- removeAllGroups(): void;
48
+ add(params: ToastParams): void;
49
+ /**
50
+ * Clears the messages that belongs to the group.
51
+ * @param {string} group - Name of the message group.
52
+ */
53
+ removeGroup(group: string): void;
54
+ removeAllGroups(): void;
55
55
  }
56
56
  /**
57
57
  * Configuration options for the `useToast` hook.
58
58
  */
59
59
  export interface UseToastConfig {
60
- /**
61
- * Default message templates for each severity level.
62
- * Keys represent the severity, and values are the template strings.
63
- *
64
- * @example
65
- * {
66
- * severity: {
67
- * success: 'Success, {message}',
68
- * error: 'Error, {message} {additionalMessage}',
69
- * info: 'Info, {message} {additionalMessage}',
70
- * },
71
- * additionalMessage: ' Silahkan cek kembali koneksi Anda.'
72
- * }
73
- */
74
- template?: {
75
- severity?: Record<string, string>;
76
- additionalMessage?: string;
77
- };
78
- /**
79
- * Icons for each severity level.
80
- * Keys represent the severity, and values are the corresponding icon identifiers.
81
- *
82
- * @example
83
- * {
84
- * success: 'emotion-happy-fill',
85
- * error: 'emotion-unhappy-fill',
86
- * }
87
- */
88
- icons?: Record<string, WangsIcons>;
60
+ /**
61
+ * Default message templates for each severity level.
62
+ * Keys represent the severity, and values are the template strings.
63
+ *
64
+ * @example
65
+ * {
66
+ * severity: {
67
+ * success: 'Success, {message}',
68
+ * error: 'Error, {message} {additionalMessage}',
69
+ * info: 'Info, {message} {additionalMessage}',
70
+ * },
71
+ * additionalMessage: ' Silahkan cek kembali koneksi Anda.'
72
+ * }
73
+ */
74
+ template?: {
75
+ severity?: Record<string, string>;
76
+ additionalMessage?: string;
77
+ };
78
+ /**
79
+ * Icons for each severity level.
80
+ * Keys represent the severity, and values are the corresponding icon identifiers.
81
+ *
82
+ * @example
83
+ * {
84
+ * success: 'emotion-happy-fill',
85
+ * error: 'emotion-unhappy-fill',
86
+ * }
87
+ */
88
+ icons?: Record<string, WangsIcons>;
89
89
  }
90
90
  /**
91
91
  * Hook to create and manage toast notifications.
@@ -0,0 +1 @@
1
+ /*! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;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;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--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:rgba(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:rgba(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: }.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.\!bottom-\[80px\]{bottom:80px!important}.\!m-0{margin:0!important}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-auto{margin-right:auto}.mt-3{margin-top:.75rem}.mt-\[6px\]{margin-top:6px}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-4{height:1rem!important}.\!h-auto{height:auto!important}.\!h-max{height:-moz-max-content!important;height:max-content!important}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[13\.33px\]{height:13.33px}.h-\[26px\]{height:26px}.h-\[34px\]{height:34px}.h-\[6px\]{height:6px}.h-auto{height:auto}.max-h-20{max-height:5rem}.\!min-h-0{min-height:0!important}.\!min-h-\[67px\]{min-height:67px!important}.\!w-4{width:1rem!important}.\!w-\[600px\]{width:600px!important}.\!w-max{width:-moz-max-content!important;width:max-content!important}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[13\.33px\]{width:13.33px}.w-\[400px\]{width:400px}.w-\[600px\]{width:600px}.w-\[69px\]{width:69px}.w-\[6px\]{width:6px}.w-\[76px\]{width:76px}.w-\[800px\]{width:800px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.\!min-w-0{min-width:0!important}.\!max-w-\[250px\]{max-width:250px!important}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.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(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-\[18px\]{gap:18px}.gap-\[6px\]{gap:6px}.\!gap-x-3{-moz-column-gap:.75rem!important;column-gap:.75rem!important}.\!gap-y-4{row-gap:1rem!important}.gap-x-\[15px\]{-moz-column-gap:15px;column-gap:15px}.gap-y-3{row-gap:.75rem}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.\!p-0{padding:0!important}.\!p-3{padding:.75rem!important}.p-0{padding:0}.px-\[21px\]{padding-left:21px;padding-right:21px}.py-4{padding-bottom:1rem;padding-top:1rem}.pr-4{padding-right:1rem}.\!text-base{font-size:1rem!important;line-height:1.5rem!important}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-\[12px\]{font-size:12px}.text-\[16px\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-bold{font-weight:700!important}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-\[16\.39px\]{line-height:16.39px}.leading-\[19\.12px\]{line-height:19.12px}.leading-\[21\.86px\]{line-height:21.86px}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.03em\]{letter-spacing:.03em}.tracking-tight{letter-spacing:-.025em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\!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}.\!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(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}.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)}[data-simplebar]{align-content:flex-start;align-items:flex-start;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;position:relative}.simplebar-wrapper{height:inherit;max-height:inherit;max-width:inherit;overflow:hidden;width:inherit}.simplebar-mask{direction:inherit;height:auto!important;overflow:hidden;width:auto!important;z-index:0}.simplebar-mask,.simplebar-offset{bottom:0;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.simplebar-offset{box-sizing:inherit!important;direction:inherit!important;resize:none!important;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{box-sizing:border-box!important;direction:inherit;display:block;height:100%;max-height:100%;max-width:100%;overflow:auto;position:relative;scrollbar-width:none;width:auto;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;height:0;width:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;pointer-events:none;width:100%}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;flex-basis:0;flex-grow:inherit;flex-shrink:0;float:left;height:100%;margin:0;max-height:1px;max-width:1px;overflow:hidden;padding:0;pointer-events:none;position:relative;width:100%;z-index:-1}.simplebar-height-auto-observer{box-sizing:inherit;display:block;height:1000%;left:0;min-height:1px;min-width:1px;opacity:0;top:0;width:1000%;z-index:-1}.simplebar-height-auto-observer,.simplebar-track{overflow:hidden;pointer-events:none;position:absolute}.simplebar-track{bottom:0;right:0;z-index:1}[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{left:0;min-height:10px;position:absolute;right:0}.simplebar-scrollbar:before{background:#000;border-radius:7px;content:"";opacity:0;position:absolute;transition:opacity .2s linear .5s}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{bottom:2px;left:2px;right:2px;top:2px}.simplebar-track.simplebar-horizontal{height:11px;left:0}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{bottom:0;left:0;min-height:0;min-width:10px;right:auto;top:0;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{left:0;right:auto}.simplebar-dummy-scrollbar-size{direction:rtl;height:500px;opacity:0;overflow-x:scroll;overflow-y:hidden;position:fixed;visibility:hidden;width:500px;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{height:200%;margin:10px 0;width:200%}.simplebar-hide-scrollbar{left:0;overflow-y:scroll;position:fixed;scrollbar-width:none;visibility:hidden;-ms-overflow-style:none}[data-v-06adb1eb] .custom-scrollbar .simplebar-scrollbar{pointer-events:auto!important}[data-v-06adb1eb] .custom-scrollbar .simplebar-track{background:#f0f0f0;pointer-events:auto}[data-v-06adb1eb] .custom-scrollbar .simplebar-scrollbar:before{background:silver;left:4px;opacity:1;right:4px}[data-v-06adb1eb] .custom-scrollbar .simplebar-scrollbar:active:before,[data-v-06adb1eb] .custom-scrollbar .simplebar-scrollbar:hover:before{background:#8c8c8c}[data-v-06adb1eb] .custom-scrollbar .simplebar-content-wrapper,[data-v-06adb1eb] .custom-scrollbar .simplebar-wrapper{border-radius:8px;padding-bottom:12px!important}[data-v-06adb1eb] .custom-scrollbar .simplebar-track.simplebar-vertical{width:0}[data-v-06adb1eb] .custom-scrollbar .simplebar-track.simplebar-horizontal{height:10px}.cropper-event-notification[data-v-9031c32d]{align-items:center;background:#0009;bottom:0;color:#fff;display:flex;font-size:20px;justify-content:center;left:0;opacity:0;padding-left:50px;padding-right:50px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;transition:opacity .5s}.cropper-event-notification--visible[data-v-9031c32d]{opacity:1!important;pointer-events:all!important;transition:opacity .25s!important}.vue-advanced-cropper{direction:ltr;max-height:100%;max-width:100%;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-advanced-cropper__stretcher{max-height:100%;max-width:100%;pointer-events:none;position:relative}.vue-advanced-cropper__image{max-width:none!important;position:absolute;transform-origin:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{background:#000;left:50%;opacity:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{left:50%;opacity:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__cropper-wrapper{height:100%;width:100%}.vue-advanced-cropper__image-wrapper{height:100%;overflow:hidden;position:absolute;width:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{background:#fff;display:block;height:10px;width:10px}.vue-handler-wrapper{height:30px;position:absolute;transform:translate(-50%,-50%);width:30px}.vue-handler-wrapper__draggable{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.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{align-items:center;background:none;display:flex;justify-content:center;position:absolute}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;left:0;transform:translateY(-50%);width:100%}.vue-line-wrapper--north{cursor:n-resize;top:0}.vue-line-wrapper--south{cursor:s-resize;top:100%}.vue-line-wrapper--east,.vue-line-wrapper--west{height:100%;top:0;transform:translate(-50%);width:12px}.vue-line-wrapper--east{cursor:e-resize;left:100%}.vue-line-wrapper--west{cursor:w-resize;left:0}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{height:100%;position:relative;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{box-sizing:border-box;height:100%;overflow:hidden;position:absolute;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{max-width:none!important;pointer-events:none;position:relative;transform-origin:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-rectangle-stencil{box-sizing:border-box}.vue-rectangle-stencil,.vue-rectangle-stencil__preview{height:100%;position:absolute;width:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{box-sizing:content-box;cursor:move;height:100%;position:absolute;width:100%}.vue-circle-stencil__preview{border-radius:50%;height:100%;position:absolute;width:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{box-sizing:border-box;overflow:hidden;position:relative}.vue-preview--fill,.vue-preview__wrapper{height:100%;position:absolute;width:100%}.vue-preview__image{max-width:none!important;pointer-events:none;position:absolute;transform-origin:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-simple-line{background:none;border:0 solid hsla(0,0%,100%,.3);transition:border .5s}.vue-simple-line--north,.vue-simple-line--south{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{border-color:#fff;opacity:1}body.loading,body.loading *{overflow:hidden}