diff --git a/packages/_vue3-migration-test/CHANGELOG.md b/packages/_vue3-migration-test/CHANGELOG.md index 8b93d30a7e..68e242cf04 100644 --- a/packages/_vue3-migration-test/CHANGELOG.md +++ b/packages/_vue3-migration-test/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.0-alpha.35](https://github.com/empathyco/x/compare/vue3-migration-test@1.0.0-alpha.34...vue3-migration-test@1.0.0-alpha.35) (2024-06-24) + + +### Features + +* replace DisableAnimationMixin by useDisableAnimation composable (#1469) ([f498d3f](https://github.com/empathyco/x/commit/f498d3fba5d294391dcfca47f9724558e98f50f0)) + + + +## [1.0.0-alpha.34](https://github.com/empathyco/x/compare/vue3-migration-test@1.0.0-alpha.33...vue3-migration-test@1.0.0-alpha.34) (2024-06-24) + + +### Features + +* **extra-params:** migrate extra params and snippet config extra params (#1531) ([d869f18](https://github.com/empathyco/x/commit/d869f1886c11f74af8a6350033d7567385ad629d)) + + + ## [1.0.0-alpha.33](https://github.com/empathyco/x/compare/vue3-migration-test@1.0.0-alpha.32...vue3-migration-test@1.0.0-alpha.33) (2024-06-19) diff --git a/packages/_vue3-migration-test/package.json b/packages/_vue3-migration-test/package.json index 5d08eda105..042051a216 100644 --- a/packages/_vue3-migration-test/package.json +++ b/packages/_vue3-migration-test/package.json @@ -1,7 +1,7 @@ { "name": "vue3-migration-test", "private": "true", - "version": "1.0.0-alpha.33", + "version": "1.0.0-alpha.35", "scripts": { "dev": "vite", "preview": "vite preview", diff --git a/packages/_vue3-migration-test/src/components/animations/index.ts b/packages/_vue3-migration-test/src/components/animations/index.ts index 4d2c00cf2b..f1ee0800dd 100644 --- a/packages/_vue3-migration-test/src/components/animations/index.ts +++ b/packages/_vue3-migration-test/src/components/animations/index.ts @@ -3,3 +3,4 @@ export { default as TestCollapseHeight } from './test-collapse-height.vue'; export { default as TestCollapseWidth } from './test-collapse-width.vue'; export { default as TestCrossFade } from './test-cross-fade.vue'; export { default as TestFade } from './test-fade.vue'; +export { default as TestFadeAndSlide } from './test-fade-and-slide.vue'; diff --git a/packages/_vue3-migration-test/src/components/animations/test-fade-and-slide.vue b/packages/_vue3-migration-test/src/components/animations/test-fade-and-slide.vue new file mode 100644 index 0000000000..8553f4e244 --- /dev/null +++ b/packages/_vue3-migration-test/src/components/animations/test-fade-and-slide.vue @@ -0,0 +1,11 @@ + + + diff --git a/packages/_vue3-migration-test/src/components/extra-params/test-extra-params.vue b/packages/_vue3-migration-test/src/components/extra-params/test-extra-params.vue new file mode 100644 index 0000000000..a7638946e6 --- /dev/null +++ b/packages/_vue3-migration-test/src/components/extra-params/test-extra-params.vue @@ -0,0 +1,13 @@ + + diff --git a/packages/_vue3-migration-test/src/components/index.ts b/packages/_vue3-migration-test/src/components/index.ts index 45c4690d74..66a0cf6ff6 100644 --- a/packages/_vue3-migration-test/src/components/index.ts +++ b/packages/_vue3-migration-test/src/components/index.ts @@ -14,3 +14,4 @@ export { default as TestBasePanel } from './panels/test-base-panel.vue'; export { default as TestBaseKeyboardNavigation } from './test-base-keyboard-navigation.vue'; export { default as TestBaseEventsModal } from './modals/test-base-events-modal.vue'; export { default as TestBaseIdModal } from './modals/test-base-id-modal.vue'; +export { default as TestExtraParams } from './extra-params/test-extra-params.vue'; diff --git a/packages/_vue3-migration-test/src/main.ts b/packages/_vue3-migration-test/src/main.ts index 93980039b4..42b9b949cb 100644 --- a/packages/_vue3-migration-test/src/main.ts +++ b/packages/_vue3-migration-test/src/main.ts @@ -1,15 +1,16 @@ import { QuerySuggestionsRequest, XComponentsAdapter } from '@empathyco/x-types'; import { Component, configureCompat, createApp } from 'vue'; import { createStore } from 'vuex'; -import { xPlugin } from '../../x-components/src/plugins/x-plugin'; import { getRelatedTagsStub } from '../../x-components/src/__stubs__/related-tags-stubs.factory'; import { getQuerySuggestionsStub } from '../../x-components/src/__stubs__/query-suggestions-stubs.factory'; import { + createResultStub, getBannersStub, getNextQueriesStub, getPromotedsStub, getResultsStub } from '../../x-components/src/__stubs__/index'; +import { XInstaller } from '../../x-components/src/x-installer/x-installer/x-installer'; import App from './App.vue'; import router from './router'; import { @@ -40,8 +41,7 @@ if (VUE_COMPAT_MODE === 2) { INSTANCE_LISTENERS: 'suppress-warning', INSTANCE_ATTRS_CLASS_STYLE: 'suppress-warning', RENDER_FUNCTION: false, - COMPONENT_V_MODEL: false, - WATCH_ARRAY: false + COMPONENT_V_MODEL: false }); } @@ -78,7 +78,11 @@ const adapter = { promoteds: getPromotedsStub(), banners: getBannersStub() }); - }) + }), + identifierResults: () => + new Promise(resolve => + resolve({ results: ['123A', '123B', '123C', '123D'].map(id => createResultStub(id)) }) + ) } as unknown as XComponentsAdapter; const store = createStore({}); @@ -86,20 +90,25 @@ const store = createStore({}); createApp(App as Component) .use(router) .use(store) - .use(xPlugin, { - adapter, - store, - __PRIVATE__xModules: { - facets: facetsXModule, - nextQueries: nextQueriesXModule, - scroll: scrollXModule, - search: searchXModule, - queriesPreview: queriesPreviewXModule, - semanticQueries: semanticQueriesXModule, - recommendations: recommendationsXModule, - identifierResults: identifierResultsXModule, - popularSearches: popularSearchesXModule, - experienceControls: experienceControlsXModule - } - }) .mount('#app'); + +window.initX = { + instance: 'empathy', + lang: 'en' +}; +new XInstaller({ + adapter, + store, + __PRIVATE__xModules: { + facets: facetsXModule, + nextQueries: nextQueriesXModule, + scroll: scrollXModule, + search: searchXModule, + queriesPreview: queriesPreviewXModule, + semanticQueries: semanticQueriesXModule, + recommendations: recommendationsXModule, + identifierResults: identifierResultsXModule, + popularSearches: popularSearchesXModule, + experienceControls: experienceControlsXModule + } +}).init(); diff --git a/packages/_vue3-migration-test/src/router.ts b/packages/_vue3-migration-test/src/router.ts index 7b98a047b7..e54da2e82f 100644 --- a/packages/_vue3-migration-test/src/router.ts +++ b/packages/_vue3-migration-test/src/router.ts @@ -11,6 +11,7 @@ import { TestElementsList, TestFacets, TestFade, + TestFadeAndSlide, TestScroll, TestSortDropdown, TestSortList, @@ -40,6 +41,7 @@ import { TestPopularSearches, TestNextQueries, TestIdentifierResults, + TestExtraParams, TestExperienceControls } from './'; @@ -74,6 +76,11 @@ const routes = [ name: 'BaseModal', component: TestBaseModal }, + { + path: '/fade-and-slide', + name: 'FadeAndSlide', + component: TestFadeAndSlide + }, { path: '/base-dropdown', name: 'BaseDropdown', @@ -248,6 +255,11 @@ const routes = [ path: '/experience-controls', name: 'ExperienceControls', component: TestExperienceControls + }, + { + path: '/snippet-config-extraparams', + name: 'SnippetConfigExtraparams', + component: TestExtraParams } ]; diff --git a/packages/_vue3-migration-test/src/x-modules/identifier-results/x-module.ts b/packages/_vue3-migration-test/src/x-modules/identifier-results/x-module.ts index 70ba15093a..d801729f7f 100644 --- a/packages/_vue3-migration-test/src/x-modules/identifier-results/x-module.ts +++ b/packages/_vue3-migration-test/src/x-modules/identifier-results/x-module.ts @@ -1,6 +1,5 @@ import { PrivateXModuleOptions } from '../../../../x-components/src/plugins/x-plugin.types'; import { IdentifierResultsXModule } from '../../../../x-components/src/x-modules/identifier-results/x-module'; -import { createResultStub } from '../../../../x-components/src/__stubs__/results-stubs.factory'; export const identifierResultsXModule: PrivateXModuleOptions = { storeModule: { @@ -11,7 +10,7 @@ export const identifierResultsXModule: PrivateXModuleOptions createResultStub(id)), + identifierResults: [], origin: null, query: 'test', params: {}, diff --git a/packages/x-components/CHANGELOG.md b/packages/x-components/CHANGELOG.md index 4f1152e099..659ed5a190 100644 --- a/packages/x-components/CHANGELOG.md +++ b/packages/x-components/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.0-alpha.54](https://github.com/empathyco/x/compare/@empathyco/x-components@5.0.0-alpha.53...@empathyco/x-components@5.0.0-alpha.54) (2024-06-24) + + +### Features + +* replace DisableAnimationMixin by useDisableAnimation composable (#1469) ([f498d3f](https://github.com/empathyco/x/commit/f498d3fba5d294391dcfca47f9724558e98f50f0)) + + + +## [5.0.0-alpha.53](https://github.com/empathyco/x/compare/@empathyco/x-components@5.0.0-alpha.52...@empathyco/x-components@5.0.0-alpha.53) (2024-06-24) + + +### Features + +* **extra-params:** migrate extra params and snippet config extra params (#1531) ([d869f18](https://github.com/empathyco/x/commit/d869f1886c11f74af8a6350033d7567385ad629d)) + + + ## [5.0.0-alpha.52](https://github.com/empathyco/x/compare/@empathyco/x-components@5.0.0-alpha.51...@empathyco/x-components@5.0.0-alpha.52) (2024-06-20) diff --git a/packages/x-components/package.json b/packages/x-components/package.json index ded2851221..96f4814caf 100644 --- a/packages/x-components/package.json +++ b/packages/x-components/package.json @@ -1,6 +1,6 @@ { "name": "@empathyco/x-components", - "version": "5.0.0-alpha.52", + "version": "5.0.0-alpha.54", "description": "Empathy X Components", "author": "Empathy Systems Corporation S.L.", "license": "Apache-2.0", diff --git a/packages/x-components/src/components/animations/__tests__/disable-animation-mixin.spec.ts b/packages/x-components/src/components/animations/__tests__/use-disable-animation.spec.ts similarity index 60% rename from packages/x-components/src/components/animations/__tests__/disable-animation-mixin.spec.ts rename to packages/x-components/src/components/animations/__tests__/use-disable-animation.spec.ts index c3bc5bf904..91a642a215 100644 --- a/packages/x-components/src/components/animations/__tests__/disable-animation-mixin.spec.ts +++ b/packages/x-components/src/components/animations/__tests__/use-disable-animation.spec.ts @@ -1,36 +1,33 @@ -import { mount, Wrapper } from '@vue/test-utils'; -import { Component, Prop, Provide } from 'vue-property-decorator'; -import Vue, { ComponentOptions, CreateElement, VNode } from 'vue'; -import DisableAnimationMixin from '../disable-animation.mixin'; +import { mount } from '@vue/test-utils'; +import { defineComponent, provide, ref } from 'vue'; import { DISABLE_ANIMATIONS_KEY } from '../../decorators/injection.consts'; +import { useDisableAnimation } from '../use-disable-animation'; -@Component -class Provider extends Vue { - @Prop() - @Provide(DISABLE_ANIMATIONS_KEY as string) - public disableAnimation!: boolean; - - render(h: CreateElement): VNode { +const Provider = defineComponent({ + props: { + disableAnimation: Boolean + }, + setup(props) { + provide(DISABLE_ANIMATIONS_KEY as string, ref(props.disableAnimation)); + }, + render(h) { return this.$slots.default?.[0] ?? h(); } -} +}); /** * Animation component. */ -const Animation: ComponentOptions = { - mixins: [DisableAnimationMixin], +const Animation = defineComponent({ + setup() { + return useDisableAnimation('x-animation'); + }, template: `

Animation

- `, - data() { - return { - animationName: 'x-animation' - }; - } -}; + ` +}); /** * Function that returns an Animation wrapper. @@ -38,9 +35,7 @@ const Animation: ComponentOptions = { * @param disableAnimation - Flag to disable the animation. * @returns Animation wrapper. */ -function renderDisableAnimation({ - disableAnimation = true -}: DisableAnimationOptions = {}): DisableAnimationAPI { +function renderDisableAnimation({ disableAnimation = true }: DisableAnimationOptions = {}) { const wrapper = mount({ template: ` @@ -78,8 +73,3 @@ interface DisableAnimationOptions { /** Flag to disable the animation. */ disableAnimation?: boolean; } - -interface DisableAnimationAPI { - /** The wrapper of the mounted component. */ - wrapper: Wrapper; -} diff --git a/packages/x-components/src/components/animations/collapse-height.vue b/packages/x-components/src/components/animations/collapse-height.vue index 9ded2cfd63..7c512b4871 100644 --- a/packages/x-components/src/components/animations/collapse-height.vue +++ b/packages/x-components/src/components/animations/collapse-height.vue @@ -1,11 +1,12 @@