@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.
- package/CHANGELOG.md +271 -131
- package/README.md +6 -0
- package/dist/img/sprite/index.js +8 -2
- package/dist/img/sprite/tree-collapse.svg +4 -0
- package/dist/img/sprite/tree-cross.svg +5 -0
- package/dist/img/sprite/tree-line.svg +10 -0
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +7736 -7442
- package/dist/ui-sdk.umd.cjs +17 -17
- package/package.json +13 -6
- package/src/api/axios/generateInstance.js +6 -2
- package/src/api/clients/agents/agentChats.js +18 -19
- package/src/api/clients/agents/agents.js +29 -7
- package/src/api/clients/buckets/buckets.js +16 -3
- package/src/api/clients/calendars/calendars.js +21 -3
- package/src/api/clients/catalog/catalog.js +1 -3
- package/src/api/clients/chatGateways/chatGateways.js +41 -12
- package/src/api/clients/communications/communications.js +25 -6
- package/src/api/clients/configurations/configurations.js +13 -3
- package/src/api/clients/flows/flow.js +20 -9
- package/src/api/clients/gateways/gateways.js +12 -3
- package/src/api/clients/lists/blacklists.js +16 -3
- package/src/api/clients/media/media.js +16 -3
- package/src/api/clients/queues/queues.js +16 -6
- package/src/api/clients/roles/roles.js +3 -1
- package/src/api/clients/skills/skills.js +16 -3
- package/src/api/clients/teams/teams.js +17 -7
- package/src/api/clients/users/__tests__/users.spec.js +3 -1
- package/src/api/clients/users/users.js +8 -2
- package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +21 -13
- package/src/api/clients//321/201ontacts/contacts.js +38 -15
- package/src/api/history/transcript/callTranscript.js +10 -2
- package/src/api/interceptors/request/updateToken.interceptor.js +2 -1
- package/src/api/transformers/applyTransform.js +5 -1
- package/src/api/transformers/camelToSnake/camelToSnake.transformer.js +2 -1
- package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.js +2 -1
- package/src/assets/icons/sprite/index.js +8 -2
- package/src/assets/icons/sprite/tree-collapse.svg +4 -0
- package/src/assets/icons/sprite/tree-cross.svg +5 -0
- package/src/assets/icons/sprite/tree-line.svg +10 -0
- package/src/components/index.js +8 -12
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +4 -2
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +3 -4
- package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +6 -6
- package/src/components/on-demand/wt-route-transition/wt-route-transition.vue +12 -12
- package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -3
- package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
- package/src/components/on-demand/wt-start-page/components/start-page-card.vue +4 -2
- package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
- package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -3
- package/src/components/on-demand/wt-table-transition/wt-table-transition.vue +7 -7
- package/src/components/wt-action-bar/wt-action-bar.vue +16 -12
- package/src/components/wt-app-header/__tests__/WtHeaderActions.spec.js +3 -1
- package/src/components/wt-app-header/_variables.scss +0 -1
- package/src/components/wt-app-header/wt-app-header.vue +4 -4
- package/src/components/wt-app-header/wt-app-navigator.vue +6 -7
- package/src/components/wt-app-header/wt-header-actions.vue +6 -8
- package/src/components/wt-avatar/wt-avatar.vue +4 -3
- package/src/components/wt-badge/wt-badge.vue +1 -2
- package/src/components/wt-button/wt-button.vue +3 -5
- package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +6 -2
- package/src/components/wt-button-select/wt-button-select.vue +3 -4
- package/src/components/wt-checkbox/_variables.scss +1 -2
- package/src/components/wt-checkbox/wt-checkbox.vue +1 -2
- package/src/components/wt-chip/_variables.scss +0 -1
- package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +15 -5
- package/src/components/wt-context-menu/_variables.scss +3 -1
- package/src/components/wt-context-menu/wt-context-menu.vue +1 -3
- package/src/components/wt-copy-action/wt-copy-action.vue +1 -2
- package/src/components/wt-datepicker/_variables.scss +17 -5
- package/src/components/wt-datepicker/wt-datepicker.vue +2 -7
- package/src/components/wt-divider/_variables.scss +0 -1
- package/src/components/wt-divider/wt-divider.vue +5 -3
- package/src/components/wt-dual-panel/__tests__/WtDualPanel.js +2 -2
- package/src/components/wt-dual-panel/wt-dual-panel.vue +6 -5
- package/src/components/wt-dummy/_variables.scss +0 -1
- package/src/components/wt-dummy/wt-dummy.vue +1 -1
- package/src/components/wt-empty/wt-empty.vue +42 -34
- package/src/components/wt-error-page/_variables.scss +0 -1
- package/src/components/wt-error-page/wt-error-page.vue +2 -4
- package/src/components/wt-expansion-panel/_variables.scss +0 -1
- package/src/components/wt-expansion-panel/wt-expansion-panel.vue +3 -8
- package/src/components/wt-filters-panel-wrapper/__tests__/WtFiltersPanelWrapper.spec.js +12 -4
- package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +8 -7
- package/src/components/wt-headline/_variables.scss +0 -1
- package/src/components/wt-headline-nav/_variables.scss +0 -1
- package/src/components/wt-headline-nav/wt-headline-nav.vue +2 -1
- package/src/components/wt-hint/wt-hint.vue +1 -3
- package/src/components/wt-icon/_variables.scss +0 -1
- package/src/components/wt-icon-action/wt-icon-action.vue +13 -12
- package/src/components/wt-icon-btn/_variables.scss +0 -2
- package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -6
- package/src/components/wt-image/wt-image.vue +14 -13
- package/src/components/wt-indicator/wt-indicator.vue +2 -7
- package/src/components/wt-input/_variables.scss +1 -2
- package/src/components/wt-input/wt-input.vue +13 -10
- package/src/components/wt-input-info/_variables.scss +0 -1
- package/src/components/wt-intersection-observer/__tests__/WtIntersectionObserver.spec.js +1 -1
- package/src/components/wt-intersection-observer/wt-intersection-observer.vue +9 -8
- package/src/components/wt-item-link/_variables.scss +0 -1
- package/src/components/wt-label/_variables.scss +0 -1
- package/src/components/wt-label/wt-label.vue +1 -4
- package/src/components/wt-load-bar/_variables.scss +0 -1
- package/src/components/wt-load-bar/wt-load-bar.vue +0 -1
- package/src/components/wt-loader/_variables.scss +0 -2
- package/src/components/wt-loader/wt-loader.vue +1 -3
- package/src/components/wt-logo/wt-logo.vue +1 -1
- package/src/components/wt-navigation-bar/__tests__/WtNavigationBar.spec.js +9 -3
- package/src/components/wt-navigation-bar/_variables.scss +9 -3
- package/src/components/wt-navigation-bar/wt-navigation-bar.vue +27 -11
- package/src/components/wt-notification/_variables.scss +0 -1
- package/src/components/wt-notifications-bar/__tests__/WtNotificationsBar.spec.js +1 -1
- package/src/components/wt-notifications-bar/_variables.scss +1 -2
- package/src/components/wt-notifications-bar/wt-notifications-bar.vue +4 -2
- package/src/components/wt-page-header/wt-page-header.vue +3 -2
- package/src/components/wt-page-wrapper/__tests__/WtPageWrapper.spec.js +3 -1
- package/src/components/wt-page-wrapper/_variables.scss +0 -1
- package/src/components/wt-page-wrapper/wt-page-wrapper.vue +0 -2
- package/src/components/wt-pagination/_variables.scss +1 -2
- package/src/components/wt-pagination/wt-pagination.vue +2 -1
- package/src/components/wt-player/_variables.scss +6 -2
- package/src/components/wt-player/wt-player.vue +52 -53
- package/src/components/wt-popup/_variables.scss +0 -1
- package/src/components/wt-popup/wt-popup.vue +2 -8
- package/src/components/wt-progress-bar/_variables.scss +0 -1
- package/src/components/wt-progress-bar/wt-progress-bar.vue +7 -6
- package/src/components/wt-radio/_variables.scss +1 -2
- package/src/components/wt-radio/wt-radio.vue +1 -2
- package/src/components/wt-rounded-action/_variables.scss +3 -1
- package/src/components/wt-search-bar/_variables.scss +4 -2
- package/src/components/wt-search-bar/wt-search-bar.vue +10 -4
- package/src/components/wt-select/_multiselect.scss +9 -15
- package/src/components/wt-select/_variables.scss +3 -2
- package/src/components/wt-select/mixins/multiselectMixin.js +2 -1
- package/src/components/wt-select/wt-select.vue +25 -26
- package/src/components/wt-slider/_variables.scss +0 -1
- package/src/components/wt-slider/wt-slider.vue +3 -3
- package/src/components/wt-status-select/_variables.scss +8 -4
- package/src/components/wt-stepper/_variables.scss +0 -1
- package/src/components/wt-stepper/wt-stepper.vue +5 -5
- package/src/components/wt-switcher/_variables.scss +0 -1
- package/src/components/wt-switcher/wt-switcher.vue +2 -3
- package/src/components/wt-table/__tests__/WtTable.spec.js +8 -2
- package/src/components/wt-table/_variables.scss +0 -1
- package/src/components/wt-table/types/table-header.ts +8 -0
- package/src/components/wt-table/wt-table.vue +111 -109
- package/src/components/wt-table-actions/_variables.scss +1 -2
- package/src/components/wt-table-actions/wt-table-actions.vue +1 -2
- package/src/components/wt-table-column-select/wt-table-column-select.vue +11 -8
- package/src/components/wt-tabs/_variables.scss +0 -1
- package/src/components/wt-tabs/wt-tabs.vue +6 -6
- package/src/components/wt-tags-input/__tests__/WtTagsInput.spec.js +6 -6
- package/src/components/wt-tags-input/mixin/taggableMixin.js +3 -1
- package/src/components/wt-tags-input/wt-tags-input.vue +8 -10
- package/src/components/wt-textarea/__tests__/WtTextarea.spec.js +6 -2
- package/src/components/wt-textarea/_variables.scss +0 -1
- package/src/components/wt-textarea/wt-textarea.vue +6 -7
- package/src/components/wt-time-input/wt-time-input.vue +1 -2
- package/src/components/wt-timepicker/_variables.scss +1 -2
- package/src/components/wt-timepicker/wt-timepicker.vue +10 -8
- package/src/components/wt-tooltip/_internals/useTooltipTriggerSubscriptions.js +6 -1
- package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +1 -3
- package/src/components/wt-tooltip/_variables.scss +0 -1
- package/src/components/wt-tooltip/wt-tooltip.vue +13 -2
- package/src/components/wt-tree-table/_variables.scss +19 -0
- package/src/components/wt-tree-table/wt-tree-table.vue +323 -0
- package/src/components/wt-tree-table-row/wt-tree-table-row.vue +171 -0
- package/src/composables/useAccessControl/useAccessControl.js +12 -4
- package/src/composables/useCachedInterval/useCachedInterval.js +6 -2
- package/src/composables/useCachedItemInstanceName/useCachedItemInstanceName.js +4 -1
- package/src/composables/useCard/useCardComponent.js +10 -9
- package/src/composables/useCard/useCardTabs.js +6 -3
- package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +20 -10
- package/src/composables/useValidate/useValidate.js +1 -1
- package/src/composables/useWtTable/useWtTable.ts +25 -0
- package/src/css/main.scss +7 -1
- package/src/css/pages/table-page.scss +1 -2
- package/src/css/styleguide/border-radius/_border-radius.scss +1 -1
- package/src/css/styleguide/colors/_deprecated.scss +83 -24
- package/src/css/styleguide/colors/_palette.scss +1340 -251
- package/src/css/styleguide/colors/reusable/_text-field.scss +6 -2
- package/src/css/styleguide/fonts/_fonts.scss +36 -18
- package/src/css/styleguide/spacings/_spacings.scss +1 -1
- package/src/css/styleguide/transitions/_transitions.scss +1 -1
- package/src/css/styleguide/transitions/fade/_fade.scss +5 -4
- package/src/css/styleguide/viewport-breakpoints/_viewport-breakpoints.scss +0 -1
- package/src/enums/WebitelApplications/WebitelApplications.enum.js +7 -7
- package/src/enums/index.js +5 -10
- package/src/locale/en/en.js +5 -2
- package/src/locale/ru/ru.js +7 -3
- package/src/locale/ua/ua.js +7 -3
- package/src/mixins/dataFilterMixins/__tests__/apiFilterMixin.spec.js +2 -1
- package/src/mixins/dataFilterMixins/apiFilterMixin.js +3 -1
- package/src/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.js +2 -1
- package/src/mixins/dataFilterMixins/enumFilterMixin.js +2 -1
- package/src/mixins/dataFilterMixins/paginationFilterMixin.js +4 -1
- package/src/mixins/dataFilterMixins/sortFilterMixin.js +2 -1
- package/src/mixins/validationMixin/useValidation.js +17 -7
- package/src/mixins/validationMixin/validationMixin.js +16 -8
- package/src/modules/AgentStatusSelect/api/pause-cause.js +4 -1
- package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +18 -6
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +3 -2
- package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +5 -2
- package/src/modules/Appearance/components/__tests__/wt-dark-mode-switcher.spec.js +6 -2
- package/src/modules/AuditForm/components/__tests__/audit-form-question-write-wrapper.spec.js +12 -4
- package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +18 -5
- package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +4 -2
- package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +15 -5
- package/src/modules/AuditForm/components/audit-form-question.vue +10 -4
- package/src/modules/AuditForm/components/audit-form.vue +24 -7
- package/src/modules/AuditForm/components/questions/options/__tests__/audit-form-question-options.spec.js +6 -2
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +5 -5
- package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +9 -4
- package/src/modules/CSVExport/CSVExport.js +5 -2
- package/src/modules/CSVExport/XLSExport.js +7 -7
- package/src/modules/CSVExport/__tests__/CSVExport.spec.js +4 -1
- package/src/modules/CSVExport/mixins/exportCSVMixin.js +3 -1
- package/src/modules/CSVExport/mixins/exportXLSMixin.js +3 -1
- package/src/modules/CardStoreModule/composables/useCardStore.js +6 -2
- package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +3 -3
- package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +6 -3
- package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -2
- package/src/modules/FilesExport/mixins/exportFilesMixin.js +6 -2
- package/src/modules/FilesExport/scripts/generateMediaURL.js +2 -1
- package/src/modules/Filters/classes/BaseFilterSchema.js +15 -6
- package/src/modules/Filters/components/filter-datetime.vue +7 -5
- package/src/modules/Filters/components/filter-pagination.vue +7 -5
- package/src/modules/Filters/components/filter-search.vue +4 -4
- package/src/modules/Filters/components/filter-select.vue +33 -24
- package/src/modules/Filters/components/filter-table-fields.vue +1 -3
- package/src/modules/Filters/composables/useTableFilters.js +3 -1
- package/src/modules/Filters/scripts/getters/localStorageGetter.js +6 -2
- package/src/modules/Filters/scripts/getters/queryGetter.js +2 -1
- package/src/modules/Filters/scripts/setters/localStorageSetter.js +6 -2
- package/src/modules/Filters/scripts/setters/querySetter.js +2 -1
- package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -1
- package/src/modules/Filters/store/FiltersStoreModule.js +3 -3
- package/src/modules/Notifications/store/NotificationsStoreModule.js +14 -5
- package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +10 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-role-select.vue +1 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +8 -5
- package/src/modules/ObjectPermissions/_internals/modules/filters/store/filters.store.js +3 -4
- package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +1 -2
- package/src/modules/ObjectPermissions/_internals/store/modules/objectPermissionsStoreModule.js +10 -14
- package/src/modules/ObjectPermissions/components/permissions-tab.vue +12 -12
- package/src/modules/ObjectPermissions/store/index.js +2 -6
- package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +3 -1
- package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +6 -2
- package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +7 -2
- package/src/modules/QueryFilters/components/abstract-api-filter.vue +15 -5
- package/src/modules/QueryFilters/components/abstract-enum-filter.vue +15 -5
- package/src/modules/QueryFilters/components/filter-datetime.vue +1 -3
- package/src/modules/QueryFilters/components/filter-from-to.vue +1 -1
- package/src/modules/QueryFilters/components/filter-search.vue +1 -3
- package/src/modules/QueryFilters/components/filter-table-fields.vue +1 -3
- package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +4 -1
- package/src/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.js +9 -3
- package/src/modules/QueryFilters/mixins/enumFilterMixin.js +10 -3
- package/src/modules/QueryFilters/mixins/paginationFilterMixin.js +4 -2
- package/src/modules/QueryFilters/mixins/sortFilterMixin.js +2 -1
- package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +2 -1
- package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +10 -3
- package/src/modules/TableComponentModule/composables/useTableEmpty.js +13 -4
- package/src/modules/TableStoreModule/composables/useTableStore.js +18 -6
- package/src/modules/TableStoreModule/store/TableStoreModule.js +36 -21
- package/src/modules/TableStoreModule/store/__tests__/TableStoreModule.spec.js +7 -2
- package/src/modules/Userinfo/api/userinfo.js +4 -1
- package/src/modules/Userinfo/classes/ApplicationsAccess.js +3 -1
- package/src/modules/Userinfo/store/UserinfoStoreModule.js +25 -9
- package/src/plugins/breakpoint/breakpoint.plugin.js +2 -1
- package/src/scripts/__tests__/caseConverters.spec.js +4 -1
- package/src/scripts/__tests__/updateObject.spec.js +6 -2
- package/src/scripts/caseConverters.js +37 -29
- package/src/scripts/compareSize.ts +9 -6
- package/src/scripts/debounce.js +2 -1
- package/src/scripts/index.js +2 -8
- package/src/scripts/logger.js +4 -4
- package/src/scripts/preventHiddenPageCallsDecorator.js +6 -2
- package/src/scripts/saveAsJSON.js +3 -1
- package/src/scripts/sortQueryAdapters.js +11 -0
- package/src/store/BaseStoreModules/ApiStoreModule.js +26 -7
- package/src/store/BaseStoreModules/BaseStoreModule.js +2 -1
- package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +28 -7
- package/src/store/helpers/getNamespacedState.js +3 -1
- package/src/store/new/modules/apiStoreModule/apiStoreModule.js +19 -14
- package/src/store/new/modules/cardStoreModule/useCardStore.js +6 -2
- package/src/store/new/modules/tableStoreModule/__tests__/tableStoreModule.spec.js +6 -8
- package/src/store/new/modules/tableStoreModule/tableStoreModule.js +31 -28
- package/src/store/new/modules/tableStoreModule/useTableStore.js +18 -6
- package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +2 -1
- package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +3 -1
- package/src/components/wt-table/_internals/getSortOrder.js +0 -12
- /package/dist/img/sprite/{plus.svg → tree-expand.svg} +0 -0
- /package/src/assets/icons/sprite/{plus.svg → tree-expand.svg} +0 -0
|
@@ -38,14 +38,12 @@
|
|
|
38
38
|
v-bind="$attrs"
|
|
39
39
|
@input="inputHandler"
|
|
40
40
|
@keyup="$emit('keyup', $event)"
|
|
41
|
-
|
|
41
|
+
/>
|
|
42
42
|
<div
|
|
43
43
|
ref="AfterWrapper"
|
|
44
44
|
class="wt-input__after-wrapper"
|
|
45
45
|
>
|
|
46
|
-
<slot
|
|
47
|
-
name="after-input"
|
|
48
|
-
/>
|
|
46
|
+
<slot name="after-input" />
|
|
49
47
|
<slot
|
|
50
48
|
v-if="isPassword"
|
|
51
49
|
name="show-password"
|
|
@@ -182,7 +180,10 @@ const slots = useSlots();
|
|
|
182
180
|
// https://stackoverflow.com/questions/72408463/use-props-in-composables-vue3
|
|
183
181
|
const { v, customValidators } = toRefs(props);
|
|
184
182
|
|
|
185
|
-
const { isValidation, invalid, validationText } = useValidation({
|
|
183
|
+
const { isValidation, invalid, validationText } = useValidation({
|
|
184
|
+
v,
|
|
185
|
+
customValidators,
|
|
186
|
+
});
|
|
186
187
|
|
|
187
188
|
// toggles password <-> text at showPassword
|
|
188
189
|
const inputType = ref('');
|
|
@@ -238,7 +239,9 @@ const showPasswordIcon = computed(() => {
|
|
|
238
239
|
});
|
|
239
240
|
|
|
240
241
|
function inputHandler(event) {
|
|
241
|
-
const value = props.preventTrim
|
|
242
|
+
const value = props.preventTrim
|
|
243
|
+
? event.target.value
|
|
244
|
+
: event.target.value.trim();
|
|
242
245
|
emit('update:modelValue', value);
|
|
243
246
|
emit('input', value);
|
|
244
247
|
}
|
|
@@ -252,14 +255,14 @@ function updateInputPaddings() {
|
|
|
252
255
|
// cant test this thing cause vue test utils doesnt render elements width :/
|
|
253
256
|
const afterWrapperWidth = AfterWrapper.value.offsetWidth;
|
|
254
257
|
const inputEl = WtInput.value;
|
|
255
|
-
const defaultInputPadding = getComputedStyle(
|
|
256
|
-
|
|
257
|
-
);
|
|
258
|
+
const defaultInputPadding = getComputedStyle(
|
|
259
|
+
document.documentElement,
|
|
260
|
+
).getPropertyValue('--input-padding');
|
|
258
261
|
if (afterWrapperWidth >= inputEl.offsetWidth) return; // fixes https://my.webitel.com/browse/WTEL-2635
|
|
259
262
|
inputEl.style.paddingRight = `calc(${defaultInputPadding} * 2 + ${afterWrapperWidth}px)`;
|
|
260
263
|
}
|
|
261
264
|
|
|
262
|
-
function focus
|
|
265
|
+
function focus() {
|
|
263
266
|
WtInput.value.focus();
|
|
264
267
|
}
|
|
265
268
|
|
|
@@ -21,9 +21,7 @@ const props = defineProps({
|
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
-
const emit = defineEmits([
|
|
25
|
-
'next',
|
|
26
|
-
]);
|
|
24
|
+
const emit = defineEmits(['next']);
|
|
27
25
|
|
|
28
26
|
const intersectionTarget = ref(null);
|
|
29
27
|
|
|
@@ -35,11 +33,14 @@ onMounted(() => {
|
|
|
35
33
|
* Note, observer triggers at init, so it should be used also as init function
|
|
36
34
|
* however, current filters module version is initializing list by itself, so we need to refactor filters ASAP
|
|
37
35
|
*/
|
|
38
|
-
const { stop } = useIntersectionObserver(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
const { stop } = useIntersectionObserver(
|
|
37
|
+
intersectionTarget.value,
|
|
38
|
+
([{ isIntersecting }]) => {
|
|
39
|
+
if (isIntersecting && props.next) {
|
|
40
|
+
emit('next');
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
);
|
|
43
44
|
|
|
44
45
|
stopObs = stop;
|
|
45
46
|
});
|
|
@@ -30,7 +30,9 @@ describe('WtNavigationBar', () => {
|
|
|
30
30
|
props: { nav },
|
|
31
31
|
});
|
|
32
32
|
const navLinksLen = nav.filter((nav) => !nav.subNav).length;
|
|
33
|
-
expect(wrapper.findAll('.wt-navigation-bar__nav-item-link').length).toBe(
|
|
33
|
+
expect(wrapper.findAll('.wt-navigation-bar__nav-item-link').length).toBe(
|
|
34
|
+
navLinksLen,
|
|
35
|
+
);
|
|
34
36
|
});
|
|
35
37
|
|
|
36
38
|
it('renders navigation expansions with subNav inside it', async () => {
|
|
@@ -43,7 +45,9 @@ describe('WtNavigationBar', () => {
|
|
|
43
45
|
wrapper.find('.wt-navigation-bar__nav-expansion').trigger('click');
|
|
44
46
|
await wrapper.vm.$nextTick();
|
|
45
47
|
const navExpansion = nav.find((nav) => nav.subNav).subNav.length;
|
|
46
|
-
expect(
|
|
48
|
+
expect(
|
|
49
|
+
wrapper.findAll('.wt-navigation-bar__nav-item-link--subnav').length,
|
|
50
|
+
).toBe(navExpansion);
|
|
47
51
|
});
|
|
48
52
|
|
|
49
53
|
it('correctly computes subNav nested routes', async () => {
|
|
@@ -56,7 +60,9 @@ describe('WtNavigationBar', () => {
|
|
|
56
60
|
await wrapper.find('.wt-navigation-bar__nav-expansion').trigger('click');
|
|
57
61
|
await wrapper.vm.$nextTick();
|
|
58
62
|
expect(
|
|
59
|
-
wrapper
|
|
63
|
+
wrapper
|
|
64
|
+
.findComponent('.wt-navigation-bar__nav-item-link--subnav')
|
|
65
|
+
.attributes('href'),
|
|
60
66
|
).toBe('/2/3');
|
|
61
67
|
});
|
|
62
68
|
});
|
|
@@ -10,13 +10,19 @@
|
|
|
10
10
|
--wt-navigation-bar-link-padding: var(--wt-navigation-bar-padding);
|
|
11
11
|
--wt-navigation-bar-subnav-padding-left: var(--spacing-lg);
|
|
12
12
|
--wt-navigation-bar-active-expansion-flag-width: 5px;
|
|
13
|
-
--wt-navigation-bar-active-expansion-name-max-width: calc(
|
|
13
|
+
--wt-navigation-bar-active-expansion-name-max-width: calc(
|
|
14
|
+
100% - var(--icon-md-size) - var(--spacing-xs)
|
|
15
|
+
);
|
|
14
16
|
|
|
15
17
|
--wt-navigation-bar-background-color: var(--dp-18-surface-color);
|
|
16
18
|
--wt-navigation-bar-option-text-color: var(--text-main-color);
|
|
17
19
|
--wt-navigation-bar-option-text-active-color: var(--primary-on-color);
|
|
18
|
-
--wt-navigation-bar-option-background-color: var(
|
|
20
|
+
--wt-navigation-bar-option-background-color: var(
|
|
21
|
+
--wt-navigation-bar-background-color
|
|
22
|
+
);
|
|
19
23
|
--wt-navigation-bar-option-background-hover-color: var(--dp-20-surface-color);
|
|
20
|
-
--wt-navigation-bar-option-background-active-color: var(
|
|
24
|
+
--wt-navigation-bar-option-background-active-color: var(
|
|
25
|
+
--primary-light-color
|
|
26
|
+
);
|
|
21
27
|
--wt-navigation-bar-expansion-ribbon-color: var(--primary-color);
|
|
22
28
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
class="wt-navigation-bar"
|
|
5
5
|
>
|
|
6
6
|
<wt-icon-btn
|
|
7
|
-
:class="{
|
|
7
|
+
:class="{ active: isOpened }"
|
|
8
8
|
class="wt-navigation-bar__menu-btn"
|
|
9
9
|
icon="menu"
|
|
10
10
|
@click="isOpened = !isOpened"
|
|
@@ -18,9 +18,11 @@
|
|
|
18
18
|
<!-- vue cli build target lib cant handle dynamic require :( -->
|
|
19
19
|
<img
|
|
20
20
|
:alt="currentApp"
|
|
21
|
-
:src="
|
|
21
|
+
:src="
|
|
22
|
+
darkMode ? appLogo[currentApp].dark : appLogo[currentApp].light
|
|
23
|
+
"
|
|
22
24
|
class="wt-navigation-bar__app-pic"
|
|
23
|
-
|
|
25
|
+
/>
|
|
24
26
|
<wt-icon-btn
|
|
25
27
|
class="wt-navigation-bar__nav-close"
|
|
26
28
|
icon="close"
|
|
@@ -37,7 +39,10 @@
|
|
|
37
39
|
<div v-if="!navItem.subNav">
|
|
38
40
|
<div class="wt-navigation-bar__nav-item-wrapper">
|
|
39
41
|
<router-link
|
|
40
|
-
:class="{
|
|
42
|
+
:class="{
|
|
43
|
+
'wt-navigation-bar__nav-item-link--active':
|
|
44
|
+
currentNav.nav === navItem.value,
|
|
45
|
+
}"
|
|
41
46
|
:to="navItem.route"
|
|
42
47
|
class="wt-navigation-bar__nav-item-link"
|
|
43
48
|
@click="close"
|
|
@@ -49,14 +54,18 @@
|
|
|
49
54
|
<div v-else>
|
|
50
55
|
<button
|
|
51
56
|
:class="{
|
|
52
|
-
'wt-navigation-bar__nav-expansion--expanded':
|
|
53
|
-
|
|
57
|
+
'wt-navigation-bar__nav-expansion--expanded':
|
|
58
|
+
isExpanded(navItem),
|
|
59
|
+
'wt-navigation-bar__nav-expansion--active':
|
|
60
|
+
currentNav.expansion === navItem.value,
|
|
54
61
|
}"
|
|
55
62
|
class="wt-navigation-bar__nav-expansion"
|
|
56
63
|
type="button"
|
|
57
64
|
@click="expand(navItem)"
|
|
58
65
|
>
|
|
59
|
-
<span class="wt-navigation-bar__nav-expansion-name">{{
|
|
66
|
+
<span class="wt-navigation-bar__nav-expansion-name">{{
|
|
67
|
+
navItem.name || navItem.value
|
|
68
|
+
}}</span>
|
|
60
69
|
<wt-icon
|
|
61
70
|
class="wt-navigation-bar__expansion-arrow"
|
|
62
71
|
color="active"
|
|
@@ -72,7 +81,10 @@
|
|
|
72
81
|
>
|
|
73
82
|
<div class="wt-navigation-bar__nav-item-wrapper">
|
|
74
83
|
<router-link
|
|
75
|
-
:class="{
|
|
84
|
+
:class="{
|
|
85
|
+
'wt-navigation-bar__nav-item-link--active':
|
|
86
|
+
currentNav.nav === subNavItem.value,
|
|
87
|
+
}"
|
|
76
88
|
:to="nestedRoute(subNavItem, navItem)"
|
|
77
89
|
class="wt-navigation-bar__nav-item-link wt-navigation-bar__nav-item-link--subnav"
|
|
78
90
|
@click="close"
|
|
@@ -162,7 +174,8 @@ export default {
|
|
|
162
174
|
const path = this.$route.fullPath;
|
|
163
175
|
const currentNav = this.nav
|
|
164
176
|
.reduce((flatNav, currentNavItem) => {
|
|
165
|
-
if (currentNavItem.subNav)
|
|
177
|
+
if (currentNavItem.subNav)
|
|
178
|
+
return flatNav.concat(currentNavItem.subNav);
|
|
166
179
|
return [...flatNav, currentNavItem];
|
|
167
180
|
}, [])
|
|
168
181
|
.find((navItem) => path.includes(navItem.route));
|
|
@@ -177,10 +190,13 @@ export default {
|
|
|
177
190
|
},
|
|
178
191
|
methods: {
|
|
179
192
|
nestedRoute(subNavItem, navItem) {
|
|
180
|
-
return navItem.route
|
|
193
|
+
return navItem.route
|
|
194
|
+
? `${navItem.route}/${subNavItem.route}`
|
|
195
|
+
: subNavItem.route;
|
|
181
196
|
},
|
|
182
197
|
expand(navItem) {
|
|
183
|
-
this.expandedName =
|
|
198
|
+
this.expandedName =
|
|
199
|
+
this.expandedName !== navItem.value ? navItem.value : '';
|
|
184
200
|
},
|
|
185
201
|
isExpanded(navItem) {
|
|
186
202
|
return this.expandedName === navItem.value;
|
|
@@ -15,7 +15,7 @@ describe('WtNotificationsBar', () => {
|
|
|
15
15
|
const wrapper = shallowMount(WtNotificationsBar, {
|
|
16
16
|
global: { provide: { $eventBus: eventBus } },
|
|
17
17
|
});
|
|
18
|
-
|
|
18
|
+
eventBus.$emit('notification', {
|
|
19
19
|
type: 'error',
|
|
20
20
|
text: 'error',
|
|
21
21
|
});
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
>
|
|
7
7
|
<wt-notification
|
|
8
8
|
v-for="(notification, key) of notifications"
|
|
9
|
-
:key="key+notification.text"
|
|
9
|
+
:key="key + notification.text"
|
|
10
10
|
:type="notification.type"
|
|
11
11
|
@close="closeNotification(notification)"
|
|
12
12
|
>
|
|
@@ -33,7 +33,9 @@ export default {
|
|
|
33
33
|
if (this.$eventBus) {
|
|
34
34
|
this.eventBus = this.$eventBus;
|
|
35
35
|
} else {
|
|
36
|
-
loggr.warn({ entity: 'component', module: 'wt-notification-bar' })(
|
|
36
|
+
loggr.warn({ entity: 'component', module: 'wt-notification-bar' })(
|
|
37
|
+
'no globally provided $eventBus found, using default webitel-ui eventBus',
|
|
38
|
+
);
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
this.eventBus.$on('notification', this.showNotification);
|
|
@@ -65,11 +65,12 @@ const props = defineProps({
|
|
|
65
65
|
},
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
const emptySecondary = computed(
|
|
68
|
+
const emptySecondary = computed(
|
|
69
|
+
() => !(props.secondaryAction || props.secondaryText),
|
|
70
|
+
);
|
|
69
71
|
</script>
|
|
70
72
|
|
|
71
73
|
<style lang="scss" scoped>
|
|
72
|
-
|
|
73
74
|
.wt-headline {
|
|
74
75
|
.wt-button {
|
|
75
76
|
margin-left: var(--spacing-sm);
|
|
@@ -20,7 +20,9 @@ describe('WtPageWrapper', () => {
|
|
|
20
20
|
const wrapper = shallowMount(WtPageWrapper, {
|
|
21
21
|
slots: { 'actions-panel': content },
|
|
22
22
|
});
|
|
23
|
-
expect(wrapper.find('.wt-page-wrapper__actions-panel').text()).toBe(
|
|
23
|
+
expect(wrapper.find('.wt-page-wrapper__actions-panel').text()).toBe(
|
|
24
|
+
content,
|
|
25
|
+
);
|
|
24
26
|
});
|
|
25
27
|
|
|
26
28
|
it('renders page wrapper main content via main slot', () => {
|
|
@@ -6,8 +6,12 @@
|
|
|
6
6
|
--plyr-controls-icon-size: var(--icon-sm-size);
|
|
7
7
|
--plyr-controls-icon-padding: var(--spacing-2xs);
|
|
8
8
|
--plyr-audio-control-background-hover: transparent;
|
|
9
|
-
--plyr-audio-progress-buffered-background: var(
|
|
10
|
-
|
|
9
|
+
--plyr-audio-progress-buffered-background: var(
|
|
10
|
+
--dp-14-surface-color
|
|
11
|
+
); // loaded color
|
|
12
|
+
--wt-player-audio-progress-background: var(
|
|
13
|
+
--wt-slider-background-color
|
|
14
|
+
); // not played color
|
|
11
15
|
--plyr-tooltip-background: var(--wt-tooltip-background-color);
|
|
12
16
|
--plyr-tooltip-color: var(--wt-tooltip-text-color);
|
|
13
17
|
|
|
@@ -200,70 +200,69 @@ export default {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
203
|
+
:deep(.plyr) {
|
|
204
|
+
max-width: 100%; // prevents <video> container overflow
|
|
205
|
+
border-radius: var(--border-radius);
|
|
206
|
+
box-shadow: var(--elevation-10);
|
|
207
|
+
|
|
208
|
+
.plyr__controls > .plyr__control,
|
|
209
|
+
.plyr__controls > .plyr__controls__item > .plyr__control {
|
|
210
|
+
padding: var(--plyr-controls-icon-padding);
|
|
211
|
+
}
|
|
212
212
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
.plyr__controls > .plyr__control > svg,
|
|
214
|
+
.plyr__controls > .plyr__controls__item > .plyr__control > svg {
|
|
215
|
+
width: var(--plyr-controls-icon-size);
|
|
216
|
+
height: var(--plyr-controls-icon-size);
|
|
217
|
+
}
|
|
218
218
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
219
|
+
.plyr__control--overlaid svg {
|
|
220
|
+
left: 0; // reset plyr style for video "play" button icon
|
|
221
|
+
}
|
|
222
222
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
.plyr__progress__buffer {
|
|
224
|
+
background: var(--wt-player-audio-progress-background);
|
|
225
|
+
}
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
.plyr__progress input,
|
|
228
|
+
.plyr__volume input {
|
|
229
|
+
cursor: pointer;
|
|
230
230
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
231
|
+
&::-webkit-slider-thumb {
|
|
232
|
+
transition: var(--transition);
|
|
233
|
+
border: var(--wt-slider-border);
|
|
234
|
+
border-radius: var(--wt-slider-pointer-radius);
|
|
235
|
+
background: var(--wt-slider-pointer-background-color);
|
|
236
|
+
-webkit-appearance: none;
|
|
237
|
+
}
|
|
238
238
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
&::-webkit-slider-runnable-track {
|
|
240
|
+
-webkit-appearance: none;
|
|
241
|
+
}
|
|
242
242
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
243
|
+
&::-moz-range-thumb {
|
|
244
|
+
width: var(--wt-slider-pointer-size);
|
|
245
|
+
height: var(--wt-slider-pointer-size);
|
|
246
|
+
transition: var(--transition);
|
|
247
|
+
border: var(--wt-slider-border);
|
|
248
|
+
border-color: var(--wt-slider-pointer-border-color);
|
|
249
|
+
border-radius: var(--wt-slider-pointer-radius);
|
|
250
|
+
background: var(--wt-slider-pointer-background-color);
|
|
251
|
+
-moz-appearance: none;
|
|
252
|
+
}
|
|
253
253
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
&::-moz-range-track {
|
|
255
|
+
-moz-appearance: none;
|
|
256
|
+
}
|
|
257
257
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
&::-ms-thumb {
|
|
259
|
+
appearance: none;
|
|
260
|
+
}
|
|
261
261
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
262
|
+
&::-ms-track {
|
|
263
|
+
appearance: none;
|
|
265
264
|
}
|
|
266
265
|
}
|
|
267
266
|
}
|
|
268
|
-
|
|
267
|
+
}
|
|
269
268
|
</style>
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-show="wrapperShown"
|
|
4
|
-
:class="[
|
|
5
|
-
`wt-popup--size-${size}`,
|
|
6
|
-
{ 'wt-popup--overflow': overflow }
|
|
7
|
-
]"
|
|
4
|
+
:class="[`wt-popup--size-${size}`, { 'wt-popup--overflow': overflow }]"
|
|
8
5
|
class="wt-popup"
|
|
9
6
|
>
|
|
10
|
-
<transition-slide
|
|
11
|
-
:offset="[0, -1440/2]"
|
|
12
|
-
>
|
|
7
|
+
<transition-slide :offset="[0, -1440 / 2]">
|
|
13
8
|
<aside
|
|
14
9
|
v-if="shown"
|
|
15
10
|
class="wt-popup__popup"
|
|
@@ -131,7 +126,6 @@ export default {
|
|
|
131
126
|
width: var(--wt-popup-size-lg);
|
|
132
127
|
}
|
|
133
128
|
}
|
|
134
|
-
|
|
135
129
|
}
|
|
136
130
|
}
|
|
137
131
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
:class="[
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
:class="[
|
|
4
|
+
{
|
|
5
|
+
'wt-progress-bar--overflow': isOverflow,
|
|
6
|
+
},
|
|
7
|
+
`wt-progress-bar--${color}`,
|
|
7
8
|
]"
|
|
8
9
|
class="wt-progress-bar"
|
|
9
10
|
>
|
|
@@ -51,7 +52,6 @@ export default {
|
|
|
51
52
|
</style>
|
|
52
53
|
|
|
53
54
|
<style lang="scss" scoped>
|
|
54
|
-
|
|
55
55
|
.wt-progress-bar {
|
|
56
56
|
position: relative;
|
|
57
57
|
box-sizing: border-box;
|
|
@@ -67,7 +67,8 @@ export default {
|
|
|
67
67
|
display: inline-block;
|
|
68
68
|
height: var(--wt-progress-bar-height);
|
|
69
69
|
transition: var(--transition);
|
|
70
|
-
border-radius: var(--wt-progress-bar-border-radius) 0 0
|
|
70
|
+
border-radius: var(--wt-progress-bar-border-radius) 0 0
|
|
71
|
+
var(--wt-progress-bar-border-radius);
|
|
71
72
|
background: var(--wt-progress-bar-background-primary-color);
|
|
72
73
|
will-change: width;
|
|
73
74
|
}
|