@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
@@ -2,144 +2,144 @@
2
2
  <div class="wt-table">
3
3
  <table class="wt-table__table">
4
4
  <thead class="wt-table__head">
5
- <tr
6
- :style="columnsStyle"
7
- class="wt-table__tr wt-table__tr__head"
8
- >
9
- <th
10
- v-if="selectable"
11
- class="wt-table__th wt-table__th--checkbox"
5
+ <tr
6
+ :style="columnsStyle"
7
+ class="wt-table__tr wt-table__tr__head"
12
8
  >
13
- <wt-checkbox
14
- :selected="isAllSelected"
15
- @change="selectAll"
16
- />
17
- </th>
18
- <th
19
- v-for="(col, key) of dataHeaders"
20
- :key="key"
21
- :class="[
22
- {'wt-table__th--sortable': isColSortable(col)},
9
+ <th
10
+ v-if="selectable"
11
+ class="wt-table__th wt-table__th--checkbox"
12
+ >
13
+ <wt-checkbox
14
+ :selected="isAllSelected"
15
+ @change="selectAll"
16
+ />
17
+ </th>
18
+ <th
19
+ v-for="(col, key) of dataHeaders"
20
+ :key="key"
21
+ :class="[
22
+ { 'wt-table__th--sortable': isColSortable(col) },
23
23
  `wt-table__th--sort-${col.sort}`,
24
24
  ]"
25
- class="wt-table__th"
26
- @click="sort(col)"
27
- >
28
- <div class="wt-table__th__text">
29
- {{ col.text }}
30
- </div>
31
- <wt-icon
32
- v-if="sortable"
33
- class="wt-table__th__sort-arrow wt-table__th__sort-arrow--asc"
34
- icon="sort-arrow-up"
35
- size="sm"
36
- />
37
- <wt-icon
38
- v-if="sortable"
39
- class="wt-table__th__sort-arrow wt-table__th__sort-arrow--desc"
40
- icon="sort-arrow-down"
41
- size="sm"
42
- />
43
- </th>
44
- <th
45
- v-if="gridActions"
46
- class="wt-table__th__actions"
47
- >
48
- <!-- @slot Table head actions row slot -->
49
- <slot name="actions-header" />
50
- </th>
51
- </tr>
25
+ class="wt-table__th"
26
+ @click="sort(col)"
27
+ >
28
+ <div class="wt-table__th__text">
29
+ {{ col.text }}
30
+ </div>
31
+ <wt-icon
32
+ v-if="sortable"
33
+ class="wt-table__th__sort-arrow wt-table__th__sort-arrow--asc"
34
+ icon="sort-arrow-up"
35
+ size="sm"
36
+ />
37
+ <wt-icon
38
+ v-if="sortable"
39
+ class="wt-table__th__sort-arrow wt-table__th__sort-arrow--desc"
40
+ icon="sort-arrow-down"
41
+ size="sm"
42
+ />
43
+ </th>
44
+ <th
45
+ v-if="gridActions"
46
+ class="wt-table__th__actions"
47
+ >
48
+ <!-- @slot Table head actions row slot -->
49
+ <slot name="actions-header" />
50
+ </th>
51
+ </tr>
52
52
  </thead>
53
53
 
54
54
  <tbody class="wt-table__body">
55
- <tr
56
- v-for="(row, dataKey) of data"
57
- :key="dataKey"
58
- :class="`wt-table__tr__${row.id || dataKey}`"
59
- :style="columnsStyle"
60
- class="wt-table__tr wt-table__tr__body"
61
- >
62
- <td
63
- v-if="selectable"
64
- class="wt-table__td wt-table__td--checkbox"
65
- >
66
- <wt-checkbox
67
- :selected="_selected.includes(row)"
68
- @change="handleSelection(row, $event)"
69
- />
70
- </td>
71
-
72
- <td
73
- v-for="(col, headerKey) of dataHeaders"
74
- :key="headerKey"
75
- class="wt-table__td"
55
+ <tr
56
+ v-for="(row, dataKey) of data"
57
+ :key="dataKey"
58
+ :class="`wt-table__tr__${row.id || dataKey}`"
59
+ :style="columnsStyle"
60
+ class="wt-table__tr wt-table__tr__body"
76
61
  >
77
- <!--
62
+ <td
63
+ v-if="selectable"
64
+ class="wt-table__td wt-table__td--checkbox"
65
+ >
66
+ <wt-checkbox
67
+ :selected="_selected.includes(row)"
68
+ @change="handleSelection(row, $event)"
69
+ />
70
+ </td>
71
+
72
+ <td
73
+ v-for="(col, headerKey) of dataHeaders"
74
+ :key="headerKey"
75
+ class="wt-table__td"
76
+ >
77
+ <!--
78
78
  @slot Customize data columns. Recommended for representing nested data structures like object or array, and adding specific elements like select or chip
79
79
  @scope [ { "name": "item", "description": "Data row object" }, { "name": "index", "description": "Data row index" } ]
80
80
  -->
81
- <slot
82
- :index="dataKey"
83
- :item="row"
84
- :name="col.value"
81
+ <slot
82
+ :index="dataKey"
83
+ :item="row"
84
+ :name="col.value"
85
+ >
86
+ <div>{{ row[col.value] }}</div>
87
+ </slot>
88
+ </td>
89
+
90
+ <td
91
+ v-if="gridActions"
92
+ class="wt-table__td__actions"
85
93
  >
86
- <div>{{ row[col.value] }}</div>
87
- </slot>
88
- </td>
89
-
90
- <td
91
- v-if="gridActions"
92
- class="wt-table__td__actions"
93
- >
94
- <!--
94
+ <!--
95
95
  @slot Table body actions row slot
96
96
  @scope [ { "name": "item", "description": "Data row object" }, { "name": "index", "description": "Data row index" } ]
97
97
  -->
98
- <slot
99
- :index="dataKey"
100
- :item="row"
101
- name="actions"
102
- />
103
- </td>
104
- </tr>
98
+ <slot
99
+ :index="dataKey"
100
+ :item="row"
101
+ name="actions"
102
+ />
103
+ </td>
104
+ </tr>
105
105
  </tbody>
106
106
 
107
107
  <tfoot
108
108
  v-if="isTableFooter"
109
109
  class="wt-table__foot"
110
110
  >
111
- <tr
112
- :style="columnsStyle"
113
- class="wt-table__tr wt-table__tr__foot"
114
- >
115
- <!-- empty checkbox column -->
116
- <th
117
- v-if="selectable"
118
- class="wt-table__th__checkbox"
119
- />
120
- <td
121
- v-for="(col, headerKey) of dataHeaders"
122
- :key="headerKey"
123
- class="wt-table__td"
111
+ <tr
112
+ :style="columnsStyle"
113
+ class="wt-table__tr wt-table__tr__foot"
124
114
  >
125
- <!--
115
+ <!-- empty checkbox column -->
116
+ <th
117
+ v-if="selectable"
118
+ class="wt-table__th__checkbox"
119
+ />
120
+ <td
121
+ v-for="(col, headerKey) of dataHeaders"
122
+ :key="headerKey"
123
+ class="wt-table__td"
124
+ >
125
+ <!--
126
126
  @slot Add your custom aggregations for column in table footer. Table footer is rendered conditionally depending on templates with "-footer" name
127
127
  @scope [ { "name": "header", "description": "header object" } ]
128
128
  -->
129
- <slot
130
- :header="col"
131
- :index="headerKey"
132
- :name="`${col.value}-footer`"
133
- />
134
- </td>
135
- </tr>
129
+ <slot
130
+ :header="col"
131
+ :index="headerKey"
132
+ :name="`${col.value}-footer`"
133
+ />
134
+ </td>
135
+ </tr>
136
136
  </tfoot>
137
137
  </table>
138
138
  </div>
139
139
  </template>
140
140
 
141
141
  <script>
142
- import getNextSortOrder from './_internals/getSortOrder.js';
142
+ import { getNextSortOrder } from '../../scripts/sortQueryAdapters.js';
143
143
 
144
144
  export default {
145
145
  name: 'WtTable',
@@ -229,7 +229,9 @@ export default {
229
229
  },
230
230
 
231
231
  isTableFooter() {
232
- return Object.keys(this.$slots).some((slotName) => slotName.includes('-footer'));
232
+ return Object.keys(this.$slots).some((slotName) =>
233
+ slotName.includes('-footer'),
234
+ );
233
235
  },
234
236
  },
235
237
 
@@ -1,5 +1,4 @@
1
-
2
1
  :root {
3
2
  --table-actions-padding: var(--spacing-xs);
4
3
  --table-actions-icon-gap: var(--spacing-xs);
5
- }
4
+ }
@@ -49,7 +49,7 @@
49
49
  <wt-tooltip v-if="isSettings">
50
50
  <template #activator>
51
51
  <wt-icon-btn
52
- :class="{'active': isSettingsActive}"
52
+ :class="{ active: isSettingsActive }"
53
53
  icon="filter"
54
54
  @click="$emit('input', 'settings')"
55
55
  />
@@ -100,7 +100,6 @@ export default {
100
100
  </style>
101
101
 
102
102
  <style lang="scss" scoped>
103
-
104
103
  .wt-table-actions {
105
104
  display: flex;
106
105
  align-items: center;
@@ -24,7 +24,7 @@
24
24
  'wt-table-column-select__popup-list--md':
25
25
  changeableDraft.length > 10 && changeableDraft.length <= 20,
26
26
  'wt-table-column-select__popup-list--lg':
27
- changeableDraft.length > 20
27
+ changeableDraft.length > 20,
28
28
  }"
29
29
  class="wt-table-column-select__popup-list"
30
30
  >
@@ -44,9 +44,7 @@
44
44
  </div>
45
45
  </template>
46
46
  <template #actions>
47
- <wt-button
48
- @click="setShownColumns"
49
- >
47
+ <wt-button @click="setShownColumns">
50
48
  {{ $t('reusable.add') }}
51
49
  </wt-button>
52
50
  <wt-button
@@ -109,7 +107,9 @@ export default {
109
107
  methods: {
110
108
  shownColLabel({ text, locale }) {
111
109
  if (!text && locale) {
112
- return typeof locale === 'string' ? this.$t(locale) : this.$t(...locale);
110
+ return typeof locale === 'string'
111
+ ? this.$t(locale)
112
+ : this.$t(...locale);
113
113
  }
114
114
  return text;
115
115
  },
@@ -134,8 +134,12 @@ export default {
134
134
  @import '../../../src/css/main.scss';
135
135
 
136
136
  $list-height: 400px;
137
- $list-width-sm: calc(500px - var(--spacing-xl)); // all popup width - (paddings + overflow-padding)
138
- $list-width-md: calc(800px - var(--spacing-xl)); // all popup width - (paddings + overflow-padding)
137
+ $list-width-sm: calc(
138
+ 500px - var(--spacing-xl)
139
+ ); // all popup width - (paddings + overflow-padding)
140
+ $list-width-md: calc(
141
+ 800px - var(--spacing-xl)
142
+ ); // all popup width - (paddings + overflow-padding)
139
143
 
140
144
  .wt-table-column-select {
141
145
  line-height: 0; // prevent 24x28 icon height :/
@@ -183,5 +187,4 @@ $list-width-md: calc(800px - var(--spacing-xl)); // all popup width - (paddings
183
187
  margin-bottom: var(--spacing-sm);
184
188
  }
185
189
  }
186
-
187
190
  </style>
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --tabs-underiline-height: 1px;
4
3
  --tabs-underiline-color: transparent;
@@ -6,7 +6,7 @@
6
6
  class="wt-tabs"
7
7
  >
8
8
  <button
9
- v-for="(tab) in tabs"
9
+ v-for="tab in tabs"
10
10
  :key="tab.value"
11
11
  :class="{
12
12
  'wt-tab--highlight': tab.value === current.value,
@@ -20,7 +20,7 @@
20
20
  :name="tab.value"
21
21
  v-bind="{ tab, current }"
22
22
  >
23
- <span style="display: block;">{{ tab.text }}</span>
23
+ <span style="display: block">{{ tab.text }}</span>
24
24
  </slot>
25
25
  </button>
26
26
 
@@ -28,7 +28,7 @@
28
28
  <div
29
29
  :style="{
30
30
  width: `${activeLineWidth}px`,
31
- transform: `translateX(${activeLineOffset}px)`
31
+ transform: `translateX(${activeLineOffset}px)`,
32
32
  }"
33
33
  class="wt-tab__underline--highlight"
34
34
  />
@@ -72,7 +72,8 @@ export default {
72
72
 
73
73
  moveActiveLine(newValue) {
74
74
  if (!this.current) return;
75
- if (!this.$refs || !this.$refs[newValue] || !this.$refs[newValue][0]) return;
75
+ if (!this.$refs || !this.$refs[newValue] || !this.$refs[newValue][0])
76
+ return;
76
77
  const element = this.$refs[newValue][0];
77
78
  this.activeLineWidth = element.clientWidth;
78
79
  this.activeLineOffset = element.offsetLeft;
@@ -118,7 +119,7 @@ export default {
118
119
  background: transparent;
119
120
 
120
121
  &:hover,
121
- &:focus, {
122
+ &:focus {
122
123
  color: var(--wt-tabs-text-hover-color);
123
124
  border-bottom-color: var(--wt-tabs-underline-active-color);
124
125
  }
@@ -138,5 +139,4 @@ export default {
138
139
  font-weight: bold;
139
140
  }
140
141
  }
141
-
142
142
  </style>
@@ -34,17 +34,17 @@ describe('WtTagsInput', () => {
34
34
  value: [
35
35
  { label: 'Vue.js', text: 'JavaScript' },
36
36
  { label: 'Vue2.js', text: 'JavaScript' },
37
- { label: 'Vue3.js', text: 'JavaScript' }
37
+ { label: 'Vue3.js', text: 'JavaScript' },
38
38
  ],
39
- options: [
40
- { label: 'Vue.js', text: 'JavaScript' }
41
- ]
39
+ options: [{ label: 'Vue.js', text: 'JavaScript' }],
42
40
  },
43
41
  });
44
- expect(wrapper.findComponent({ name: 'vue-multiselect' }).vm.$props.options.length).toEqual(3);
42
+ expect(
43
+ wrapper.findComponent({ name: 'vue-multiselect' }).vm.$props.options
44
+ .length,
45
+ ).toEqual(3);
45
46
  });
46
47
 
47
-
48
48
  it('in manual mode doesnt emit "input" event at native "tag" event', () => {
49
49
  const tag = '123';
50
50
  const wrapper = mount(WtTagsInput, {
@@ -17,7 +17,9 @@ export default {
17
17
  if (typeof newTag === 'string') {
18
18
  return this.options.some((elem) => elem === newTag);
19
19
  }
20
- return this.options.some((elem) => elem[this.trackBy] === newTag[this.trackBy]);
20
+ return this.options.some(
21
+ (elem) => elem[this.trackBy] === newTag[this.trackBy],
22
+ );
21
23
  };
22
24
 
23
25
  if (isTagExist(tag)) return;
@@ -160,20 +160,20 @@ export default {
160
160
  return [];
161
161
  }
162
162
 
163
- const newOptions = this.value.filter(valObj => {
164
- return !this.options.find(option => {
165
- return deepEqual(option, valObj)
163
+ const newOptions = this.value.filter((valObj) => {
164
+ return !this.options.find((option) => {
165
+ return deepEqual(option, valObj);
166
166
  });
167
167
  });
168
168
 
169
- this.options.unshift(...newOptions)
170
- }
169
+ this.options.unshift(...newOptions);
170
+ },
171
171
  },
172
172
  created() {
173
173
  if (!this.isApiMode) {
174
- this.initializeOptions()
174
+ this.initializeOptions();
175
175
  }
176
- }
176
+ },
177
177
  };
178
178
  </script>
179
179
 
@@ -195,9 +195,7 @@ export default {
195
195
  .wt-tags-input :deep(.multiselect) {
196
196
  .multiselect__tags {
197
197
  padding-right: calc(
198
- var(--input-padding)
199
- + var(--icon-md-size)
200
- + var(--select-caret-right-pos)
198
+ var(--input-padding) + var(--icon-md-size) + var(--select-caret-right-pos)
201
199
  );
202
200
  padding-bottom: 0;
203
201
 
@@ -30,7 +30,9 @@ describe('WtTextarea', () => {
30
30
  },
31
31
  props: { autoresize: true },
32
32
  });
33
- wrapper.find('.wt-textarea__textarea').trigger('keypress', { key: 'Enter' });
33
+ wrapper
34
+ .find('.wt-textarea__textarea')
35
+ .trigger('keypress', { key: 'Enter' });
34
36
  expect(wrapper.emitted().enter).toBeTruthy();
35
37
  });
36
38
 
@@ -40,7 +42,9 @@ describe('WtTextarea', () => {
40
42
  WtLabel,
41
43
  },
42
44
  });
43
- wrapper.find('.wt-textarea__textarea').trigger('keypress', { key: 'Enter' });
45
+ wrapper
46
+ .find('.wt-textarea__textarea')
47
+ .trigger('keypress', { key: 'Enter' });
44
48
  expect(wrapper.emitted().enter).toBeFalsy();
45
49
  });
46
50
  });
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --textarea-min-height: 100px;
4
3
  --textarea-padding: var(--input-padding);
@@ -39,7 +39,7 @@
39
39
  >
40
40
  <slot name="after-input" />
41
41
  <wt-icon-btn
42
- :class="{ 'hidden': !value }"
42
+ :class="{ hidden: !value }"
43
43
  :disabled="disabled"
44
44
  class="wt-textarea__reset-icon-btn"
45
45
  icon="close--filled"
@@ -127,7 +127,7 @@ export default {
127
127
  this.updateInputPaddings();
128
128
  },
129
129
  updated() {
130
- if(this.autoresize && !this.value) this.resetGrow();
130
+ if (this.autoresize && !this.value) this.resetGrow();
131
131
  },
132
132
 
133
133
  methods: {
@@ -146,7 +146,7 @@ export default {
146
146
  const bordersSize = 2; // + 2px for height because of --rounded-action-border-size
147
147
 
148
148
  inputEl.style.height = 'auto';
149
- inputEl.style.height = (inputEl.scrollHeight + bordersSize) + "px";
149
+ inputEl.style.height = inputEl.scrollHeight + bordersSize + 'px';
150
150
  },
151
151
 
152
152
  resetGrow() {
@@ -158,9 +158,9 @@ export default {
158
158
  // cant test this thing cause vue test utils doesnt render elements width :/
159
159
  const afterWrapperWidth = this.$refs['after-wrapper'].offsetWidth;
160
160
  const inputEl = this.$refs['wt-textarea'];
161
- const defaultInputPadding = getComputedStyle(document.documentElement).getPropertyValue(
162
- '--textarea-padding',
163
- );
161
+ const defaultInputPadding = getComputedStyle(
162
+ document.documentElement,
163
+ ).getPropertyValue('--textarea-padding');
164
164
  inputEl.style.paddingRight = `calc(${defaultInputPadding} * 2 + ${afterWrapperWidth}px)`;
165
165
  },
166
166
  },
@@ -192,7 +192,6 @@ export default {
192
192
  .wt-textarea__wrapper {
193
193
  height: 100%;
194
194
  }
195
-
196
195
  }
197
196
  }
198
197
 
@@ -29,7 +29,7 @@
29
29
  class="wt-time-input__input"
30
30
  type="number"
31
31
  @input="$emit('input', $event.target.value)"
32
- >
32
+ />
33
33
  </div>
34
34
  <wt-input-info
35
35
  v-if="showInfo"
@@ -151,7 +151,6 @@ export default {
151
151
  }
152
152
  }
153
153
 
154
-
155
154
  .wt-time-input__wrapper {
156
155
  position: relative;
157
156
  }
@@ -1,5 +1,4 @@
1
-
2
1
  :root {
3
2
  --timepicker-input-width: 75px;
4
3
  --timepicker-input-margin: var(--spacing-xs);
5
- }
4
+ }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- :class="{'wt-timepicker--invalid': invalid}"
3
+ :class="{ 'wt-timepicker--invalid': invalid }"
4
4
  class="wt-timepicker"
5
5
  >
6
6
  <wt-label
@@ -120,15 +120,15 @@ export default {
120
120
  return this.format.includes('ss');
121
121
  },
122
122
  labelHours() {
123
- if(this.noLabel) return null;
123
+ if (this.noLabel) return null;
124
124
  return this.label ? null : this.$t('webitelUI.timepicker.hour');
125
125
  },
126
126
  labelMin() {
127
- if(this.noLabel) return null;
127
+ if (this.noLabel) return null;
128
128
  return this.label ? null : this.$t('webitelUI.timepicker.min');
129
129
  },
130
130
  labelSec() {
131
- if(this.noLabel) return null;
131
+ if (this.noLabel) return null;
132
132
  return this.label ? null : this.$t('webitelUI.timepicker.sec');
133
133
  },
134
134
  hour: {
@@ -159,7 +159,9 @@ export default {
159
159
  },
160
160
  sec: {
161
161
  get() {
162
- return this.dateMode ? new Date(+this.value).getSeconds() : Math.floor(this.value % 60);
162
+ return this.dateMode
163
+ ? new Date(+this.value).getSeconds()
164
+ : Math.floor(this.value % 60);
163
165
  },
164
166
  set(value) {
165
167
  const newValue = this.dateMode
@@ -169,7 +171,9 @@ export default {
169
171
  },
170
172
  },
171
173
  requiredLabel() {
172
- return this.required ? `${this.label} (${this.format})*` : `${this.label} (${this.format})`;
174
+ return this.required
175
+ ? `${this.label} (${this.format})*`
176
+ : `${this.label} (${this.format})`;
173
177
  },
174
178
  },
175
179
 
@@ -182,7 +186,6 @@ export default {
182
186
  </style>
183
187
 
184
188
  <style lang="scss" scoped>
185
-
186
189
  .wt-timepicker {
187
190
  display: flex;
188
191
  flex-direction: column;
@@ -200,5 +203,4 @@ export default {
200
203
  margin-right: 0;
201
204
  }
202
205
  }
203
-
204
206
  </style>
@@ -19,7 +19,12 @@ const HIDE_EVENT_MAP = {
19
19
  };
20
20
 
21
21
  // eslint-disable-next-line import/prefer-default-export
22
- export const useTooltipTriggerSubscriptions = ({ target, triggers, show, hide }) => {
22
+ export const useTooltipTriggerSubscriptions = ({
23
+ target,
24
+ triggers,
25
+ show,
26
+ hide,
27
+ }) => {
23
28
  const subscribeTriggers = () => {
24
29
  const setEventListeners = (target, triggers) => {
25
30
  triggers.forEach((trigger) => {
@@ -39,6 +39,4 @@ useTooltipTriggerSubscriptions({
39
39
  });
40
40
  </script>
41
41
 
42
- <style lang="scss" scoped>
43
-
44
- </style>
42
+ <style lang="scss" scoped></style>
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --tooltip-padding: var(--spacing-2xs) var(--spacing-xs);
4
3