Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - empathyco/x: Commerce Search & Discovery frontend web components · GitHub
Skip to content

Commerce Search & Discovery: Interface X

LicenselernaGitHub contributorsCreated by

Whether you use Empathy Search API endpoints, Elasticsearch, Solr or other search APIs, bring your commerce search and discovery experience to life with Interface X, an irresistible, expressive, and joyful search UI. Interface X is used within some of the most beautiful commerce search experiences out there, e.g. Primor.eu, Carrefour.es, Casadellibro.es and MotiveMarket.com.

Interface X is a library of standalone, configurable building blocks (available as Vue.js based X Components) that allow you to quickly construct the search UI for your shop. You can create a smooth, personalized search and discovery experience, while significantly minimizing development time.

Each component represents a graphical part of the UI, with its own unique view and behavior. They’ve been smartly designed to work together yet independently, so a single component adds real value to your UI by itself. The more components you add and combine, the more functionality you get. You can craft your own UI bundle with the right components for your shop. There are numerous components to choose from, and the catalog evolves quickly with new experiences.

See an overview of the Empathy Platform features supported by Interface X.

Highlights

  • Easy-to-add interface layer. Installing and setting up the interface is simple: just add a few lines of code.
  • Use it anywhere. A search interface layer that is easy to integrate into any website, with X Components ready to use in your Vue.js projects.
  • Interoperable. Interface X can adapt and work independently with any search service endpoints!
  • Fully customizable experience. Choose the configuration components, layouts, styles, and behaviors to craft exclusive search and discovery experiences.
  • Expressive design. Wrap the experience up in a neat, intuitive, and interactive UI design that fully matches your brand identity and your website’s look and feel.
  • Scalable solution. Extend the experience whenever you want with additional features and components.
  • Intuitive search. Interface X learns from shopper behavior and queries to understand shopper intent.

About the Interface X ecosystem

Interface X is formed by multiple packages. Watch this space as the project will be updated regularly.

While most of the packages are minor dependencies, there is a key package to bear in mind:

  • @empathyco/x-components - This is the core package of the project. These standalone and configurable building blocks allow you to quickly build the search UI for your shop. Create a smooth, personalized search and discovery experience, while significantly minimizing development time.

On top of the packages of this monorepo, there is another project using all the X-Components to build a search experience:

  • @empathyco/x-archetype - This project is Empathy’s vision of the ideal mix of X Components. A project showing the power of the X Components, ready to connect to any search API with customizable layout through design tokens. It is the perfect example to learn how to use the X Components to get you started. This package is now a project outside this monorepo.

Product documentation

Each component contains inline comments. Alternatively, you can read the product documentation on Empathy’s eDocs documentation portal.

How to install

This project is a monorepo that is handled by Lerna & pnpm & Nx. To prepare your development environment, proceed as follows:

  1. Install pnpm (Recommended v9.15.9)
  2. Fork the X repository and then clone it to your local environment: git clone https://github.com/empathyco/x.git.
  3. Install the dependencies in the root folder: pnpm install --frozen-lockfile. This links all the projects.

Have a look to this article to see why we moved to a mono repo and how we did it. Take into account that the article talks about the previous version of this monorepo managed by Lerna & npm.

How to implement Interface X

Once you have installed the project, follow the step-by-step guide - How to build your search UI.

Watch Ivan Tajes’ explanation on how to build a search experience using the X Components.

How to contribute

We are building the Interface X ecosystem. If you are interested in helping us out and being part of the future of search experiences, please check our contributing guidelines.

Contributors

Contributors image list

License

Apache 2.0

Releases

Packages

Used by

Contributors

Languages