@webitel/ui-sdk 24.12.29 → 24.12.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 (295) hide show
  1. package/CHANGELOG.md +271 -131
  2. package/README.md +6 -0
  3. package/dist/img/sprite/index.js +8 -2
  4. package/dist/img/sprite/tree-collapse.svg +4 -0
  5. package/dist/img/sprite/tree-cross.svg +5 -0
  6. package/dist/img/sprite/tree-line.svg +10 -0
  7. package/dist/ui-sdk.css +1 -1
  8. package/dist/ui-sdk.js +7736 -7442
  9. package/dist/ui-sdk.umd.cjs +17 -17
  10. package/package.json +13 -6
  11. package/src/api/axios/generateInstance.js +6 -2
  12. package/src/api/clients/agents/agentChats.js +18 -19
  13. package/src/api/clients/agents/agents.js +29 -7
  14. package/src/api/clients/buckets/buckets.js +16 -3
  15. package/src/api/clients/calendars/calendars.js +21 -3
  16. package/src/api/clients/catalog/catalog.js +1 -3
  17. package/src/api/clients/chatGateways/chatGateways.js +41 -12
  18. package/src/api/clients/communications/communications.js +25 -6
  19. package/src/api/clients/configurations/configurations.js +13 -3
  20. package/src/api/clients/flows/flow.js +20 -9
  21. package/src/api/clients/gateways/gateways.js +12 -3
  22. package/src/api/clients/lists/blacklists.js +16 -3
  23. package/src/api/clients/media/media.js +16 -3
  24. package/src/api/clients/queues/queues.js +16 -6
  25. package/src/api/clients/roles/roles.js +3 -1
  26. package/src/api/clients/skills/skills.js +16 -3
  27. package/src/api/clients/teams/teams.js +17 -7
  28. package/src/api/clients/users/__tests__/users.spec.js +3 -1
  29. package/src/api/clients/users/users.js +8 -2
  30. package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +21 -13
  31. package/src/api/clients//321/201ontacts/contacts.js +38 -15
  32. package/src/api/history/transcript/callTranscript.js +10 -2
  33. package/src/api/interceptors/request/updateToken.interceptor.js +2 -1
  34. package/src/api/transformers/applyTransform.js +5 -1
  35. package/src/api/transformers/camelToSnake/camelToSnake.transformer.js +2 -1
  36. package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.js +2 -1
  37. package/src/assets/icons/sprite/index.js +8 -2
  38. package/src/assets/icons/sprite/tree-collapse.svg +4 -0
  39. package/src/assets/icons/sprite/tree-cross.svg +5 -0
  40. package/src/assets/icons/sprite/tree-line.svg +10 -0
  41. package/src/components/index.js +8 -12
  42. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +4 -2
  43. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +3 -4
  44. package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +6 -6
  45. package/src/components/on-demand/wt-route-transition/wt-route-transition.vue +12 -12
  46. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -3
  47. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
  48. package/src/components/on-demand/wt-start-page/components/start-page-card.vue +4 -2
  49. package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
  50. package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -3
  51. package/src/components/on-demand/wt-table-transition/wt-table-transition.vue +7 -7
  52. package/src/components/wt-action-bar/wt-action-bar.vue +16 -12
  53. package/src/components/wt-app-header/__tests__/WtHeaderActions.spec.js +3 -1
  54. package/src/components/wt-app-header/_variables.scss +0 -1
  55. package/src/components/wt-app-header/wt-app-header.vue +4 -4
  56. package/src/components/wt-app-header/wt-app-navigator.vue +6 -7
  57. package/src/components/wt-app-header/wt-header-actions.vue +6 -8
  58. package/src/components/wt-avatar/wt-avatar.vue +4 -3
  59. package/src/components/wt-badge/wt-badge.vue +1 -2
  60. package/src/components/wt-button/wt-button.vue +3 -5
  61. package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +6 -2
  62. package/src/components/wt-button-select/wt-button-select.vue +3 -4
  63. package/src/components/wt-checkbox/_variables.scss +1 -2
  64. package/src/components/wt-checkbox/wt-checkbox.vue +1 -2
  65. package/src/components/wt-chip/_variables.scss +0 -1
  66. package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +15 -5
  67. package/src/components/wt-context-menu/_variables.scss +3 -1
  68. package/src/components/wt-context-menu/wt-context-menu.vue +1 -3
  69. package/src/components/wt-copy-action/wt-copy-action.vue +1 -2
  70. package/src/components/wt-datepicker/_variables.scss +17 -5
  71. package/src/components/wt-datepicker/wt-datepicker.vue +2 -7
  72. package/src/components/wt-divider/_variables.scss +0 -1
  73. package/src/components/wt-divider/wt-divider.vue +5 -3
  74. package/src/components/wt-dual-panel/__tests__/WtDualPanel.js +2 -2
  75. package/src/components/wt-dual-panel/wt-dual-panel.vue +6 -5
  76. package/src/components/wt-dummy/_variables.scss +0 -1
  77. package/src/components/wt-dummy/wt-dummy.vue +1 -1
  78. package/src/components/wt-empty/wt-empty.vue +42 -34
  79. package/src/components/wt-error-page/_variables.scss +0 -1
  80. package/src/components/wt-error-page/wt-error-page.vue +2 -4
  81. package/src/components/wt-expansion-panel/_variables.scss +0 -1
  82. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +3 -8
  83. package/src/components/wt-filters-panel-wrapper/__tests__/WtFiltersPanelWrapper.spec.js +12 -4
  84. package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +8 -7
  85. package/src/components/wt-headline/_variables.scss +0 -1
  86. package/src/components/wt-headline-nav/_variables.scss +0 -1
  87. package/src/components/wt-headline-nav/wt-headline-nav.vue +2 -1
  88. package/src/components/wt-hint/wt-hint.vue +1 -3
  89. package/src/components/wt-icon/_variables.scss +0 -1
  90. package/src/components/wt-icon-action/wt-icon-action.vue +13 -12
  91. package/src/components/wt-icon-btn/_variables.scss +0 -2
  92. package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -6
  93. package/src/components/wt-image/wt-image.vue +14 -13
  94. package/src/components/wt-indicator/wt-indicator.vue +2 -7
  95. package/src/components/wt-input/_variables.scss +1 -2
  96. package/src/components/wt-input/wt-input.vue +13 -10
  97. package/src/components/wt-input-info/_variables.scss +0 -1
  98. package/src/components/wt-intersection-observer/__tests__/WtIntersectionObserver.spec.js +1 -1
  99. package/src/components/wt-intersection-observer/wt-intersection-observer.vue +9 -8
  100. package/src/components/wt-item-link/_variables.scss +0 -1
  101. package/src/components/wt-label/_variables.scss +0 -1
  102. package/src/components/wt-label/wt-label.vue +1 -4
  103. package/src/components/wt-load-bar/_variables.scss +0 -1
  104. package/src/components/wt-load-bar/wt-load-bar.vue +0 -1
  105. package/src/components/wt-loader/_variables.scss +0 -2
  106. package/src/components/wt-loader/wt-loader.vue +1 -3
  107. package/src/components/wt-logo/wt-logo.vue +1 -1
  108. package/src/components/wt-navigation-bar/__tests__/WtNavigationBar.spec.js +9 -3
  109. package/src/components/wt-navigation-bar/_variables.scss +9 -3
  110. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +27 -11
  111. package/src/components/wt-notification/_variables.scss +0 -1
  112. package/src/components/wt-notifications-bar/__tests__/WtNotificationsBar.spec.js +1 -1
  113. package/src/components/wt-notifications-bar/_variables.scss +1 -2
  114. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +4 -2
  115. package/src/components/wt-page-header/wt-page-header.vue +3 -2
  116. package/src/components/wt-page-wrapper/__tests__/WtPageWrapper.spec.js +3 -1
  117. package/src/components/wt-page-wrapper/_variables.scss +0 -1
  118. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +0 -2
  119. package/src/components/wt-pagination/_variables.scss +1 -2
  120. package/src/components/wt-pagination/wt-pagination.vue +2 -1
  121. package/src/components/wt-player/_variables.scss +6 -2
  122. package/src/components/wt-player/wt-player.vue +52 -53
  123. package/src/components/wt-popup/_variables.scss +0 -1
  124. package/src/components/wt-popup/wt-popup.vue +2 -8
  125. package/src/components/wt-progress-bar/_variables.scss +0 -1
  126. package/src/components/wt-progress-bar/wt-progress-bar.vue +7 -6
  127. package/src/components/wt-radio/_variables.scss +1 -2
  128. package/src/components/wt-radio/wt-radio.vue +1 -2
  129. package/src/components/wt-rounded-action/_variables.scss +3 -1
  130. package/src/components/wt-search-bar/_variables.scss +4 -2
  131. package/src/components/wt-search-bar/wt-search-bar.vue +10 -4
  132. package/src/components/wt-select/_multiselect.scss +9 -15
  133. package/src/components/wt-select/_variables.scss +3 -2
  134. package/src/components/wt-select/mixins/multiselectMixin.js +2 -1
  135. package/src/components/wt-select/wt-select.vue +25 -26
  136. package/src/components/wt-slider/_variables.scss +0 -1
  137. package/src/components/wt-slider/wt-slider.vue +3 -3
  138. package/src/components/wt-status-select/_variables.scss +8 -4
  139. package/src/components/wt-stepper/_variables.scss +0 -1
  140. package/src/components/wt-stepper/wt-stepper.vue +5 -5
  141. package/src/components/wt-switcher/_variables.scss +0 -1
  142. package/src/components/wt-switcher/wt-switcher.vue +2 -3
  143. package/src/components/wt-table/__tests__/WtTable.spec.js +8 -2
  144. package/src/components/wt-table/_variables.scss +0 -1
  145. package/src/components/wt-table/types/table-header.ts +8 -0
  146. package/src/components/wt-table/wt-table.vue +111 -109
  147. package/src/components/wt-table-actions/_variables.scss +1 -2
  148. package/src/components/wt-table-actions/wt-table-actions.vue +1 -2
  149. package/src/components/wt-table-column-select/wt-table-column-select.vue +11 -8
  150. package/src/components/wt-tabs/_variables.scss +0 -1
  151. package/src/components/wt-tabs/wt-tabs.vue +6 -6
  152. package/src/components/wt-tags-input/__tests__/WtTagsInput.spec.js +6 -6
  153. package/src/components/wt-tags-input/mixin/taggableMixin.js +3 -1
  154. package/src/components/wt-tags-input/wt-tags-input.vue +8 -10
  155. package/src/components/wt-textarea/__tests__/WtTextarea.spec.js +6 -2
  156. package/src/components/wt-textarea/_variables.scss +0 -1
  157. package/src/components/wt-textarea/wt-textarea.vue +6 -7
  158. package/src/components/wt-time-input/wt-time-input.vue +1 -2
  159. package/src/components/wt-timepicker/_variables.scss +1 -2
  160. package/src/components/wt-timepicker/wt-timepicker.vue +10 -8
  161. package/src/components/wt-tooltip/_internals/useTooltipTriggerSubscriptions.js +6 -1
  162. package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +1 -3
  163. package/src/components/wt-tooltip/_variables.scss +0 -1
  164. package/src/components/wt-tooltip/wt-tooltip.vue +13 -2
  165. package/src/components/wt-tree-table/_variables.scss +19 -0
  166. package/src/components/wt-tree-table/wt-tree-table.vue +323 -0
  167. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +171 -0
  168. package/src/composables/useAccessControl/useAccessControl.js +12 -4
  169. package/src/composables/useCachedInterval/useCachedInterval.js +6 -2
  170. package/src/composables/useCachedItemInstanceName/useCachedItemInstanceName.js +4 -1
  171. package/src/composables/useCard/useCardComponent.js +10 -9
  172. package/src/composables/useCard/useCardTabs.js +6 -3
  173. package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +20 -10
  174. package/src/composables/useValidate/useValidate.js +1 -1
  175. package/src/composables/useWtTable/useWtTable.ts +25 -0
  176. package/src/css/main.scss +7 -1
  177. package/src/css/pages/table-page.scss +1 -2
  178. package/src/css/styleguide/border-radius/_border-radius.scss +1 -1
  179. package/src/css/styleguide/colors/_deprecated.scss +83 -24
  180. package/src/css/styleguide/colors/_palette.scss +1340 -251
  181. package/src/css/styleguide/colors/reusable/_text-field.scss +6 -2
  182. package/src/css/styleguide/fonts/_fonts.scss +36 -18
  183. package/src/css/styleguide/spacings/_spacings.scss +1 -1
  184. package/src/css/styleguide/transitions/_transitions.scss +1 -1
  185. package/src/css/styleguide/transitions/fade/_fade.scss +5 -4
  186. package/src/css/styleguide/viewport-breakpoints/_viewport-breakpoints.scss +0 -1
  187. package/src/enums/WebitelApplications/WebitelApplications.enum.js +7 -7
  188. package/src/enums/index.js +5 -10
  189. package/src/locale/en/en.js +5 -2
  190. package/src/locale/ru/ru.js +7 -3
  191. package/src/locale/ua/ua.js +7 -3
  192. package/src/mixins/dataFilterMixins/__tests__/apiFilterMixin.spec.js +2 -1
  193. package/src/mixins/dataFilterMixins/apiFilterMixin.js +3 -1
  194. package/src/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.js +2 -1
  195. package/src/mixins/dataFilterMixins/enumFilterMixin.js +2 -1
  196. package/src/mixins/dataFilterMixins/paginationFilterMixin.js +4 -1
  197. package/src/mixins/dataFilterMixins/sortFilterMixin.js +2 -1
  198. package/src/mixins/validationMixin/useValidation.js +17 -7
  199. package/src/mixins/validationMixin/validationMixin.js +16 -8
  200. package/src/modules/AgentStatusSelect/api/pause-cause.js +4 -1
  201. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +18 -6
  202. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +3 -2
  203. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +5 -2
  204. package/src/modules/Appearance/components/__tests__/wt-dark-mode-switcher.spec.js +6 -2
  205. package/src/modules/AuditForm/components/__tests__/audit-form-question-write-wrapper.spec.js +12 -4
  206. package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +18 -5
  207. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +4 -2
  208. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +15 -5
  209. package/src/modules/AuditForm/components/audit-form-question.vue +10 -4
  210. package/src/modules/AuditForm/components/audit-form.vue +24 -7
  211. package/src/modules/AuditForm/components/questions/options/__tests__/audit-form-question-options.spec.js +6 -2
  212. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +5 -5
  213. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +9 -4
  214. package/src/modules/CSVExport/CSVExport.js +5 -2
  215. package/src/modules/CSVExport/XLSExport.js +7 -7
  216. package/src/modules/CSVExport/__tests__/CSVExport.spec.js +4 -1
  217. package/src/modules/CSVExport/mixins/exportCSVMixin.js +3 -1
  218. package/src/modules/CSVExport/mixins/exportXLSMixin.js +3 -1
  219. package/src/modules/CardStoreModule/composables/useCardStore.js +6 -2
  220. package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +3 -3
  221. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +6 -3
  222. package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -2
  223. package/src/modules/FilesExport/mixins/exportFilesMixin.js +6 -2
  224. package/src/modules/FilesExport/scripts/generateMediaURL.js +2 -1
  225. package/src/modules/Filters/classes/BaseFilterSchema.js +15 -6
  226. package/src/modules/Filters/components/filter-datetime.vue +7 -5
  227. package/src/modules/Filters/components/filter-pagination.vue +7 -5
  228. package/src/modules/Filters/components/filter-search.vue +4 -4
  229. package/src/modules/Filters/components/filter-select.vue +33 -24
  230. package/src/modules/Filters/components/filter-table-fields.vue +1 -3
  231. package/src/modules/Filters/composables/useTableFilters.js +3 -1
  232. package/src/modules/Filters/scripts/getters/localStorageGetter.js +6 -2
  233. package/src/modules/Filters/scripts/getters/queryGetter.js +2 -1
  234. package/src/modules/Filters/scripts/setters/localStorageSetter.js +6 -2
  235. package/src/modules/Filters/scripts/setters/querySetter.js +2 -1
  236. package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -1
  237. package/src/modules/Filters/store/FiltersStoreModule.js +3 -3
  238. package/src/modules/Notifications/store/NotificationsStoreModule.js +14 -5
  239. package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +10 -3
  240. package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -3
  241. package/src/modules/ObjectPermissions/_internals/components/permissions-role-select.vue +1 -3
  242. package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +8 -5
  243. package/src/modules/ObjectPermissions/_internals/modules/filters/store/filters.store.js +3 -4
  244. package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +1 -2
  245. package/src/modules/ObjectPermissions/_internals/store/modules/objectPermissionsStoreModule.js +10 -14
  246. package/src/modules/ObjectPermissions/components/permissions-tab.vue +12 -12
  247. package/src/modules/ObjectPermissions/store/index.js +2 -6
  248. package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +3 -1
  249. package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +6 -2
  250. package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +7 -2
  251. package/src/modules/QueryFilters/components/abstract-api-filter.vue +15 -5
  252. package/src/modules/QueryFilters/components/abstract-enum-filter.vue +15 -5
  253. package/src/modules/QueryFilters/components/filter-datetime.vue +1 -3
  254. package/src/modules/QueryFilters/components/filter-from-to.vue +1 -1
  255. package/src/modules/QueryFilters/components/filter-search.vue +1 -3
  256. package/src/modules/QueryFilters/components/filter-table-fields.vue +1 -3
  257. package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +4 -1
  258. package/src/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.js +9 -3
  259. package/src/modules/QueryFilters/mixins/enumFilterMixin.js +10 -3
  260. package/src/modules/QueryFilters/mixins/paginationFilterMixin.js +4 -2
  261. package/src/modules/QueryFilters/mixins/sortFilterMixin.js +2 -1
  262. package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +2 -1
  263. package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +10 -3
  264. package/src/modules/TableComponentModule/composables/useTableEmpty.js +13 -4
  265. package/src/modules/TableStoreModule/composables/useTableStore.js +18 -6
  266. package/src/modules/TableStoreModule/store/TableStoreModule.js +36 -21
  267. package/src/modules/TableStoreModule/store/__tests__/TableStoreModule.spec.js +7 -2
  268. package/src/modules/Userinfo/api/userinfo.js +4 -1
  269. package/src/modules/Userinfo/classes/ApplicationsAccess.js +3 -1
  270. package/src/modules/Userinfo/store/UserinfoStoreModule.js +25 -9
  271. package/src/plugins/breakpoint/breakpoint.plugin.js +2 -1
  272. package/src/scripts/__tests__/caseConverters.spec.js +4 -1
  273. package/src/scripts/__tests__/updateObject.spec.js +6 -2
  274. package/src/scripts/caseConverters.js +37 -29
  275. package/src/scripts/compareSize.ts +9 -6
  276. package/src/scripts/debounce.js +2 -1
  277. package/src/scripts/index.js +2 -8
  278. package/src/scripts/logger.js +4 -4
  279. package/src/scripts/preventHiddenPageCallsDecorator.js +6 -2
  280. package/src/scripts/saveAsJSON.js +3 -1
  281. package/src/scripts/sortQueryAdapters.js +11 -0
  282. package/src/store/BaseStoreModules/ApiStoreModule.js +26 -7
  283. package/src/store/BaseStoreModules/BaseStoreModule.js +2 -1
  284. package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +28 -7
  285. package/src/store/helpers/getNamespacedState.js +3 -1
  286. package/src/store/new/modules/apiStoreModule/apiStoreModule.js +19 -14
  287. package/src/store/new/modules/cardStoreModule/useCardStore.js +6 -2
  288. package/src/store/new/modules/tableStoreModule/__tests__/tableStoreModule.spec.js +6 -8
  289. package/src/store/new/modules/tableStoreModule/tableStoreModule.js +31 -28
  290. package/src/store/new/modules/tableStoreModule/useTableStore.js +18 -6
  291. package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +2 -1
  292. package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +3 -1
  293. package/src/components/wt-table/_internals/getSortOrder.js +0 -12
  294. /package/dist/img/sprite/{plus.svg → tree-expand.svg} +0 -0
  295. /package/src/assets/icons/sprite/{plus.svg → tree-expand.svg} +0 -0
@@ -26,7 +26,6 @@ import NavMenuLvl1 from './_internals/nav-menu-lvl-1.vue';
26
26
  import NavMenuLvl2 from './_internals/nav-menu-lvl-2.vue';
27
27
 
28
28
  const props = defineProps({
29
-
30
29
  /** entire navigation hierarchy. Value: `{ value: string, name: string, subNav: [{ value: string, route: string, name: string}] }`
31
30
  **/
32
31
 
@@ -40,7 +39,7 @@ const props = defineProps({
40
39
 
41
40
  icons: {
42
41
  type: Array,
43
- default: () => ([]),
42
+ default: () => [],
44
43
  },
45
44
  });
46
45
 
@@ -56,7 +55,9 @@ const categories = computed(() => {
56
55
  const subcategories = computed(() => {
57
56
  if (!selected.value.subNav) return [];
58
57
  return selected.value.subNav.map((subNav) => {
59
- const route = selected.value.route ? `${selected.value.route}/${subNav.route}` : subNav.route;
58
+ const route = selected.value.route
59
+ ? `${selected.value.route}/${subNav.route}`
60
+ : subNav.route;
60
61
  const name = subNav.name;
61
62
  return {
62
63
  ...subNav,
@@ -92,9 +93,8 @@ function select(category) {
92
93
  --button-min-height: 60px;
93
94
  --wrapper-width: 60%;
94
95
  --wrapper-height: calc(
95
- var(--spacing-sm) * 2
96
- + var(--button-min-height) * 7
97
- + var(--spacing-2xs) * 6
96
+ var(--spacing-sm) * 2 + var(--button-min-height) * 7 + var(--spacing-2xs) *
97
+ 6
98
98
  );
99
99
 
100
100
  @media only screen and (max-width: $viewport-sm) {
@@ -1,17 +1,17 @@
1
1
  <template>
2
- <transition-slide
3
- :offset="{
4
- enter: ['-50%', 0],
5
- leave: [0, 0]
6
- }"
7
- duration="200"
8
- mode="out-in"
9
- appear
10
- >
11
- <slot />
12
- </transition-slide>
2
+ <transition-slide
3
+ :offset="{
4
+ enter: ['-50%', 0],
5
+ leave: [0, 0],
6
+ }"
7
+ duration="200"
8
+ mode="out-in"
9
+ appear
10
+ >
11
+ <slot />
12
+ </transition-slide>
13
13
  </template>
14
14
 
15
15
  <script setup>
16
- import { TransitionSlide } from '@morev/vue-transitions';
16
+ import { TransitionSlide } from '@morev/vue-transitions';
17
17
  </script>
@@ -17,9 +17,7 @@
17
17
  </div>
18
18
  </template>
19
19
  <template #actions>
20
- <wt-button
21
- @click="save"
22
- >
20
+ <wt-button @click="save">
23
21
  {{ $t('reusable.retry') }}
24
22
  </wt-button>
25
23
  <wt-button
@@ -14,7 +14,7 @@
14
14
  <li
15
15
  v-for="(option, key) of options"
16
16
  :key="key"
17
- :class="{'active': option.value === selected.value }"
17
+ :class="{ active: option.value === selected.value }"
18
18
  class="wt-selection-popup__item-wrapper"
19
19
  @click="selectOption(option)"
20
20
  >
@@ -32,7 +32,8 @@
32
32
  </h4>
33
33
  <p
34
34
  v-if="option.description"
35
- class="popup-options__item-text">
35
+ class="popup-options__item-text"
36
+ >
36
37
  {{ option.description }}
37
38
  </p>
38
39
  <wt-tooltip>
@@ -73,7 +74,6 @@
73
74
  import { useI18n } from 'vue-i18n';
74
75
 
75
76
  const props = defineProps({
76
-
77
77
  /**
78
78
  * Popup title
79
79
  */
@@ -3,13 +3,15 @@
3
3
  <header class="start-page-card__header">
4
4
  <wt-icon
5
5
  v-if="card.disabled"
6
- icon="lock" />
6
+ icon="lock"
7
+ />
7
8
  {{ card.name }}
8
9
  </header>
9
10
  <section class="start-page-card__main-section">
10
11
  <img
11
12
  :alt="card.name"
12
- :src="card.image">
13
+ :src="card.image"
14
+ />
13
15
  <p class="start-page-card__description">
14
16
  {{ card.text }}
15
17
  </p>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="start-page-logo">
3
- <img :src="logo">
3
+ <img :src="logo" />
4
4
  </div>
5
5
  </template>
6
6
 
@@ -2,7 +2,8 @@
2
2
  <div class="wt-start-page">
3
3
  <start-page-logo
4
4
  v-if="appLogo"
5
- :logo="logo" />
5
+ :logo="logo"
6
+ />
6
7
 
7
8
  <div class="wt-start-page__wrapper">
8
9
  <start-page-card
@@ -11,7 +12,6 @@
11
12
  :card="card"
12
13
  />
13
14
  </div>
14
-
15
15
  </div>
16
16
  </template>
17
17
 
@@ -21,7 +21,6 @@ import StartPageCard from './start-page-card.vue';
21
21
  import StartPageLogo from './start-page-logo.vue';
22
22
 
23
23
  const props = defineProps({
24
-
25
24
  /** entire navigation hierarchy. Value: `{ value: string, route: string, name: string, text: string, images: object - { light: string, dark: string } }`
26
25
  **/
27
26
 
@@ -2,9 +2,9 @@
2
2
  <div class="wt-table-transition">
3
3
  <transition-slide
4
4
  :offset="{
5
- enter: ['-50%', 0],
6
- leave: [0, 0]
7
- }"
5
+ enter: ['-50%', 0],
6
+ leave: [0, 0],
7
+ }"
8
8
  duration="200"
9
9
  mode="out-in"
10
10
  appear
@@ -15,11 +15,11 @@
15
15
  </template>
16
16
 
17
17
  <script setup>
18
- import { TransitionSlide } from '@morev/vue-transitions';
18
+ import { TransitionSlide } from '@morev/vue-transitions';
19
19
  </script>
20
20
 
21
21
  <style lang="scss" scoped>
22
- .wt-table-transition{
23
- display:contents;
24
- }
22
+ .wt-table-transition {
23
+ display: contents;
24
+ }
25
25
  </style>
@@ -11,9 +11,7 @@
11
11
  <!-- @slot custom actions here
12
12
  @scope `{ size<ComponentSize> }`
13
13
  -->
14
- <slot
15
- v-bind="{ size }"
16
- />
14
+ <slot v-bind="{ size }" />
17
15
 
18
16
  <!-- @slot May be useful to set complex component which draws the same `wt-icon-action`
19
17
  @scope `{ action<IconAction>, size<ComponentSize> }`
@@ -36,7 +34,10 @@
36
34
  import { computed } from 'vue';
37
35
  import IconAction from '../../enums/IconAction/IconAction.enum.js';
38
36
  import WtIconAction from '../wt-icon-action/wt-icon-action.vue';
39
- import { tableActionsOrder, sectionActionsOrder } from './WtActionBarActionsOrder.js';
37
+ import {
38
+ tableActionsOrder,
39
+ sectionActionsOrder,
40
+ } from './WtActionBarActionsOrder.js';
40
41
 
41
42
  const props = defineProps({
42
43
  /**
@@ -58,7 +59,7 @@ const props = defineProps({
58
59
  },
59
60
 
60
61
  /**
61
- * Leave the default value for the mode only listed in includes prop
62
+ * Leave the default value for the mode only listed in includes prop
62
63
  */
63
64
 
64
65
  include: {
@@ -67,7 +68,7 @@ const props = defineProps({
67
68
  },
68
69
 
69
70
  /**
70
- * Leave the default values for the mode, except for those in exclude prop
71
+ * Leave the default values for the mode, except for those in exclude prop
71
72
  */
72
73
 
73
74
  exclude: {
@@ -79,7 +80,8 @@ const props = defineProps({
79
80
  * Built dynamically on `disabled:[IconAction]` pattern for all available [IconActions](../../enums/IconAction/Readme.md).
80
81
  */
81
82
 
82
- disabled: { // Not implemented, but can be used to disable all actions
83
+ disabled: {
84
+ // Not implemented, but can be used to disable all actions
83
85
  type: Boolean,
84
86
  default: false,
85
87
  },
@@ -88,21 +90,23 @@ const props = defineProps({
88
90
  acc[`disabled:${action}`] = { type: Boolean, default: false };
89
91
  return acc;
90
92
  }, {}),
91
-
92
93
  });
93
94
  const emit = defineEmits([
94
95
  /**
95
96
  * click:IconAction
96
97
  */
97
- ...Object.values(IconAction).map((action) => `click:${action}`)
98
+ ...Object.values(IconAction).map((action) => `click:${action}`),
98
99
  ]);
99
100
 
100
101
  const shownActions = computed(() => {
101
- const actionsOrder = props.mode === 'section' ? sectionActionsOrder : tableActionsOrder;
102
+ const actionsOrder =
103
+ props.mode === 'section' ? sectionActionsOrder : tableActionsOrder;
102
104
 
103
- if(props.include.length) return actionsOrder.filter((action) => props.include.includes(action));
105
+ if (props.include.length)
106
+ return actionsOrder.filter((action) => props.include.includes(action));
104
107
 
105
- if(props.exclude.length) return actionsOrder.filter((action) => !props.exclude.includes(action));
108
+ if (props.exclude.length)
109
+ return actionsOrder.filter((action) => !props.exclude.includes(action));
106
110
 
107
111
  return actionsOrder;
108
112
  });
@@ -16,6 +16,8 @@ describe('WtHeaderActions', () => {
16
16
  props: { user },
17
17
  });
18
18
  expect(wrapper.find('.wt-header-actions__name').text()).toBe(user.name);
19
- expect(wrapper.find('.wt-header-actions__account').text()).toBe(user.account);
19
+ expect(wrapper.find('.wt-header-actions__account').text()).toBe(
20
+ user.account,
21
+ );
20
22
  });
21
23
  });
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --wt-app-header-min-height: 56px;
4
3
  --wt-app-header-padding: var(--spacing-sm);
@@ -4,21 +4,21 @@
4
4
  </header>
5
5
  </template>
6
6
 
7
- <script setup>
8
- </script>
7
+ <script setup></script>
9
8
 
10
9
  <style lang="scss">
11
10
  @import './variables.scss';
12
11
  </style>
13
12
 
14
13
  <style lang="scss" scoped>
15
-
16
14
  .wt-app-header {
17
15
  display: flex;
18
16
  align-items: center;
19
17
  justify-content: flex-end;
20
18
  box-sizing: border-box;
21
- min-height: var(--wt-app-header-min-height); // fixed height because anything can be put inside slot, so padding won't work properly
19
+ min-height: var(
20
+ --wt-app-header-min-height
21
+ ); // fixed height because anything can be put inside slot, so padding won't work properly
22
22
  padding: var(--wt-app-header-padding);
23
23
  background: var(--wt-app-header-background);
24
24
  gap: var(--wt-app-header-content-gap);
@@ -6,7 +6,7 @@
6
6
  <wt-tooltip>
7
7
  <template #activator>
8
8
  <wt-icon-btn
9
- :class="{'active': isOpened}"
9
+ :class="{ active: isOpened }"
10
10
  class="wt-app-navigator__btn"
11
11
  icon="app-navigator"
12
12
  @click="isOpened = !isOpened"
@@ -27,7 +27,7 @@
27
27
  <li
28
28
  v-for="app of formattedApps"
29
29
  :key="app.name"
30
- :class="{'active': app.currentApp }"
30
+ :class="{ active: app.currentApp }"
31
31
  class="wt-app-navigator__card"
32
32
  >
33
33
  <a
@@ -40,10 +40,8 @@
40
40
  :alt="`${app.name}-pic`"
41
41
  :src="app.img"
42
42
  class="wt-app-navigator__card__img"
43
- >
44
- <p
45
- class="wt-app-navigator__card__title"
46
- >
43
+ />
44
+ <p class="wt-app-navigator__card__title">
47
45
  {{ $t(`webitelUI.appNavigator.${app.name}`) }}
48
46
  </p>
49
47
  </a>
@@ -200,7 +198,8 @@ function close() {
200
198
  border-color: var(--wt-app-navigator-item-border-color);
201
199
  border-radius: var(--border-radius);
202
200
 
203
- &.active, &:hover {
201
+ &.active,
202
+ &:hover {
204
203
  border-color: var(--wt-app-navigator-item-border-color--hover);
205
204
  }
206
205
  }
@@ -4,7 +4,7 @@
4
4
  <template #activator>
5
5
  <wt-icon-btn
6
6
  v-clickaway="close"
7
- :class="{'active': isOpened}"
7
+ :class="{ active: isOpened }"
8
8
  class="wt-header-actions__btn"
9
9
  icon="account"
10
10
  @click="isOpened = !isOpened"
@@ -22,14 +22,10 @@
22
22
  v-if="isHeader"
23
23
  class="wt-header-actions__header"
24
24
  >
25
- <h3
26
- class="wt-header-actions__name"
27
- >
25
+ <h3 class="wt-header-actions__name">
28
26
  {{ userName }}
29
27
  </h3>
30
- <p
31
- class="wt-header-actions__account"
32
- >
28
+ <p class="wt-header-actions__account">
33
29
  {{ userAccount }}
34
30
  </p>
35
31
  </header>
@@ -54,7 +50,9 @@
54
50
  <span>{{ $t('webitelUI.headerActions.settings') }}</span>
55
51
  </a>
56
52
  </li>
57
- <li class="wt-header-actions__action wt-header-actions__action--logout">
53
+ <li
54
+ class="wt-header-actions__action wt-header-actions__action--logout"
55
+ >
58
56
  <a
59
57
  class="wt-header-actions__action__link"
60
58
  @click.prevent="logout"
@@ -20,7 +20,7 @@
20
20
  :src="imgSrc"
21
21
  alt="avatar"
22
22
  class="wt-avatar__img"
23
- >
23
+ />
24
24
  </div>
25
25
  </template>
26
26
 
@@ -61,7 +61,9 @@ const avatarLetters = computed(() => {
61
61
  .split(' ')
62
62
  .map((word) => word.at(0).toUpperCase())
63
63
  .join('');
64
- return abbreviation.length > 2 ? abbreviation.at(0).concat(abbreviation.at(-1)) : abbreviation;
64
+ return abbreviation.length > 2
65
+ ? abbreviation.at(0).concat(abbreviation.at(-1))
66
+ : abbreviation;
65
67
  });
66
68
 
67
69
  const avatarLettersBackground = computed(() => {
@@ -123,7 +125,6 @@ const badgeColorVar = computed(() => {
123
125
  </style>
124
126
 
125
127
  <style lang="scss" scoped>
126
-
127
128
  %wt-avatar-typo-xs {
128
129
  font-size: 10px;
129
130
  }
@@ -9,7 +9,7 @@
9
9
  :alt="iconBadge"
10
10
  :src="iconBadgePic"
11
11
  class="wt-badge__pic"
12
- >
12
+ />
13
13
  </aside>
14
14
  </template>
15
15
 
@@ -57,7 +57,6 @@ export default {
57
57
  </style>
58
58
 
59
59
  <style lang="scss" scoped>
60
-
61
60
  .wt-badge {
62
61
  position: absolute;
63
62
  top: 0;
@@ -9,7 +9,7 @@
9
9
  'wt-button--wide': wide,
10
10
  'wt-button--disabled': disabled,
11
11
  'wt-button--loading': showLoader,
12
- }
12
+ },
13
13
  ]"
14
14
  :disabled="disabled"
15
15
  class="wt-button"
@@ -23,9 +23,7 @@
23
23
  size="sm"
24
24
  />
25
25
  <div class="wt-button__contents">
26
- <slot>
27
- no content provided
28
- </slot>
26
+ <slot> no content provided </slot>
29
27
  </div>
30
28
  </button>
31
29
  </template>
@@ -150,7 +148,7 @@ export default {
150
148
  width: 100%;
151
149
  }
152
150
 
153
- &--width-by-content{
151
+ &--width-by-content {
154
152
  min-width: 0;
155
153
  }
156
154
 
@@ -32,10 +32,14 @@ describe('WtSelectButton', () => {
32
32
  });
33
33
  const arrowBtn = wrapper
34
34
  .findAllComponents({ name: 'wt-button' })
35
- .find((component) => component.classes().includes('wt-button-select__select-btn'));
35
+ .find((component) =>
36
+ component.classes().includes('wt-button-select__select-btn'),
37
+ );
36
38
  arrowBtn.vm.$emit('click');
37
39
  await wrapper.vm.$nextTick();
38
40
  const wtIcon = wrapper.find('.wt-button-select__select-arrow');
39
- expect(wtIcon.classes()).toContain('wt-button-select__select-arrow--active');
41
+ expect(wtIcon.classes()).toContain(
42
+ 'wt-button-select__select-arrow--active',
43
+ );
40
44
  });
41
45
  });
@@ -30,7 +30,7 @@
30
30
  @click="isOpened = !isOpened"
31
31
  >
32
32
  <wt-icon
33
- :class="{'wt-button-select__select-arrow--active': isOpened}"
33
+ :class="{ 'wt-button-select__select-arrow--active': isOpened }"
34
34
  :color="color === 'primary' ? 'on-primary' : 'default'"
35
35
  :disabled="disabled"
36
36
  class="wt-button-select__select-arrow"
@@ -88,11 +88,11 @@ const isOpened = ref(false);
88
88
  const selectOption = ({ option, index }) => {
89
89
  emit('click:option', option, index);
90
90
  isOpened.value = false;
91
- }
91
+ };
92
92
 
93
93
  const atClickaway = () => {
94
94
  isOpened.value = false;
95
- }
95
+ };
96
96
  </script>
97
97
 
98
98
  <style lang="scss">
@@ -100,7 +100,6 @@ const atClickaway = () => {
100
100
  </style>
101
101
 
102
102
  <style lang="scss" scoped>
103
-
104
103
  .wt-button-select {
105
104
  position: relative;
106
105
  display: inline-flex;
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --checkbox-icon-margin: var(--spacing-xs);
4
- }
3
+ }
@@ -18,7 +18,7 @@
18
18
  class="wt-checkbox__input"
19
19
  type="checkbox"
20
20
  @change="inputHandler"
21
- >
21
+ />
22
22
  <span class="wt-checkbox__checkmark">
23
23
  <wt-icon
24
24
  :color="iconColor"
@@ -110,7 +110,6 @@ export default {
110
110
  </style>
111
111
 
112
112
  <style lang="scss" scoped>
113
-
114
113
  .wt-checkbox {
115
114
  box-sizing: border-box;
116
115
  width: fit-content;
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --chip-padding: var(--spacing-2xs) var(--spacing-sm);
4
3
  --chip-border-radius: var(--spacing-lg);
@@ -12,13 +12,24 @@
12
12
  <slot name="main">
13
13
  <div class="wt-confirm-dialog__content">
14
14
  <p class="wt-confirm-dialog__message">
15
- {{ deleteMessage ? deleteMessage : $t('webitelUI.deleteConfirmationPopup.askingAlert', { subject }) }}
15
+ {{
16
+ deleteMessage
17
+ ? deleteMessage
18
+ : $t('webitelUI.deleteConfirmationPopup.askingAlert', {
19
+ subject,
20
+ })
21
+ }}
16
22
  </p>
17
23
  </div>
18
24
  </slot>
19
25
  </template>
20
26
  <template #actions>
21
- <slot name="actions" :isDeleting="isDeleting" :confirm="confirm" :close="close">
27
+ <slot
28
+ name="actions"
29
+ :isDeleting="isDeleting"
30
+ :confirm="confirm"
31
+ :close="close"
32
+ >
22
33
  <wt-button
23
34
  :disabled="isDeleting"
24
35
  color="secondary"
@@ -44,7 +55,7 @@ import { ref, useAttrs } from 'vue';
44
55
  const props = defineProps({
45
56
  title: {
46
57
  type: String,
47
- required: true
58
+ required: true,
48
59
  },
49
60
  deleteMessage: {
50
61
  type: String,
@@ -74,7 +85,7 @@ async function confirm() {
74
85
  try {
75
86
  isDeleting.value = true;
76
87
 
77
- await props.callback()
88
+ await props.callback();
78
89
  close();
79
90
  } finally {
80
91
  isDeleting.value = false;
@@ -93,5 +104,4 @@ async function confirm() {
93
104
  .wt-confirm-dialog__message {
94
105
  text-align: center;
95
106
  }
96
-
97
107
  </style>
@@ -4,7 +4,9 @@
4
4
  --wt-context-menu-background-color: var(--content-wrapper-color);
5
5
  --wt-context-menu-option-text-color: var(--text-main-color);
6
6
  --wt-context-menu-option-background-hover-color: var(--dp-24-surface-color);
7
- --wt-context-menu-option-background-disabled-color: var(--dp-14-surface-color);
7
+ --wt-context-menu-option-background-disabled-color: var(
8
+ --dp-14-surface-color
9
+ );
8
10
  --wt-context-menu-option-text-disabled-color: var(--grey-lighten-3);
9
11
  }
10
12
 
@@ -22,9 +22,7 @@
22
22
  class="wt-context-menu__option-wrapper"
23
23
  >
24
24
  <a
25
- :class="[
26
- { 'wt-context-menu__option--disabled': option.disabled },
27
- ]"
25
+ :class="[{ 'wt-context-menu__option--disabled': option.disabled }]"
28
26
  class="wt-context-menu__option"
29
27
  href="#"
30
28
  @click.prevent="handleOptionClick({ option, index, hide })"
@@ -52,5 +52,4 @@ export default {
52
52
  };
53
53
  </script>
54
54
 
55
- <style lang="scss" scoped>
56
- </style>
55
+ <style lang="scss" scoped></style>