<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>searchstudio-ux-vue Archives - SearchStax Docs</title>
	<atom:link href="https://demo.searchstax.com/docs/searchstudio_categories/searchstudio-ux-vue/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Documentation</description>
	<lastBuildDate>Thu, 03 Apr 2025 10:10:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://demo.searchstax.com/docs/wp-content/uploads/2023/10/cropped-favicon-32x32.png</url>
	<title>searchstudio-ux-vue Archives - SearchStax Docs</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>What is searchstudio-ux-vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/overview-searchstudio-ux-vue/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 20:52:52 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16246</guid>

					<description><![CDATA[<p>What is searchstudio-ux-vue Searchstudio-ux-vue offers the power of the SearchStax Site Search solution within Vue.js applications. It provides ready-made Vue components that integrate seamlessly to deliver exceptional search experiences. Goal&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/overview-searchstudio-ux-vue/">Continue reading <span class="screen-reader-text">What is searchstudio-ux-vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/overview-searchstudio-ux-vue/">What is searchstudio-ux-vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-what-is-searchstudio-ux-vue">What is searchstudio-ux-vue</h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Searchstudio-ux-vue</strong> offers the power of the <a href="https://www.searchstax.com/site-search/">SearchStax Site Search</a> solution within Vue.js applications. It provides ready-made Vue components that integrate seamlessly to deliver exceptional search experiences.</p>



<h2 class="wp-block-heading"><strong>Goal of the Components Library</strong></h2>



<p>The goal of SearchStudio-UX-Vue is to streamline the development of stunning search UIs in Vue.js apps by handling all frontend and UI complexities.</p>



<p>It offers a suite of Vue components like search box, results, filters etc. that can be easily combined to create engaging search interfaces. The focus on performance, accessibility and visual appeal allows you to craft remarkable search UIs with minimal effort.</p>



<h2 class="wp-block-heading"><strong>Key Benefits of Using SearchStudio-UX-Vue</strong></h2>



<ul class="wp-block-list">
<li>Fully integrates with Site Search capabilities like typo tolerance, synonyms, facets etc.</li>



<li>Ready-made performant and accessible Vue components for search</li>



<li>Customizable components to match your brand style</li>



<li>Handles UI complexities allowing you to focus on UX</li>



<li>Quickly build visually appealing search experiences</li>



<li>Leverage Site Search features without UI implementation concern</li>



<li>Seamless integration into existing Vue.js applications</li>
</ul>



<p><a href="https://demo.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/">Get started</a> now to build awesome search experiences faster than ever before with searchstudio-ux-vue.</p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/overview-searchstudio-ux-vue/">What is searchstudio-ux-vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting Started with searchstudio-ux-vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 17:05:19 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16251</guid>

					<description><![CDATA[<p>Getting Started with searchstudio-ux-vue Example This is an example of using Vue with the SearchStax Site Search solution. For a full example, see searchstudio-ux-vue. Installation Install the searchstudio-ux-vue package: Import&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/">Continue reading <span class="screen-reader-text">Getting Started with searchstudio-ux-vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/">Getting Started with searchstudio-ux-vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-getting-started-with-searchstudio-ux-vue">Getting Started with searchstudio-ux-vue</h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="h-example">Example</h3>



<p>This is an example of using Vue with the SearchStax Site Search solution.</p>



<p>For a full example, see <a href="https://www.npmjs.com/package/@searchstax-inc/searchstudio-ux-vue">searchstudio-ux-vue</a>. </p>



<h3 class="wp-block-heading" id="h-installation">Installation</h3>



<p>Install the searchstudio-ux-vue package:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
npm install --save @searchstax-inc/searchstudio-ux-vue
</pre></div>


<h3 class="wp-block-heading">Import and Register Components</h3>



<p>Import and globally register the Site Search components:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
import { SearchstaxWrapper, SearchstaxInputWidget } from &#039;@searchstax-inc/searchstudio-ux-vue&#039;;

Vue.component(&#039;SearchstaxWrapper&#039;, SearchstaxWrapper);
Vue.component(&#039;SearchstaxInputWidget&#039;, SearchstaxInputWidget);



</pre></div>


<h3 class="wp-block-heading">Wrapper Component</h3>



<p>Wrap all other Site Search components within the SearchstaxWrapper component:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxWrapper&gt;

&amp;lt;!-- Other SearchStudio components here --&gt;

&amp;lt;/SearchstaxWrapper&gt;


</pre></div>


<h3 class="wp-block-heading">Configuration</h3>



<p>Pass search configuration to the SearchstaxWrapper component:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxWrapper
    :language=&quot;sampleConfig.language&quot;
    :searchURL=&quot;sampleConfig.searchURL&quot;
    :suggesterURL=&quot;sampleConfig.suggesterURL&quot;
    :trackApiKey=&quot;sampleConfig.trackApiKey&quot;
    :searchAuth=&quot;sampleConfig.searchAuth&quot;
    :authType=&quot;sampleConfig.authType&quot;
    :router=&quot;sampleConfig.router&quot;
    :beforeSearch=&quot;sampleConfig.hooks.beforeSearch&quot; 
    :afterSearch=&quot;sampleConfig.hooks.afterSearch&quot;
  &gt;
  &amp;lt;/SearchstaxWrapper&gt;

</pre></div>


<p>Initialization example:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sampleConfig = {
    language: &quot;en&quot;,
    searchURL: &quot;&quot;,
    suggesterURL: &quot;&quot;,
    trackApiKey: &quot;&quot;,
    searchAuth: &quot;&quot;,
    authType: &quot;basic&quot;,
    router: {
      enabled: true,
      routeName: &quot;searchstax&quot;,
      title: (result: ISearchObject) =&gt; {
        return &quot;Search results for: &quot; + result.query;
      },
      ignoredKeys: &#x5B;],
    },
    hooks: {
      beforeSearch: function (props: ISearchObject) {
        const propsCopy = { ...props };
        return propsCopy;
      },
      afterSearch: function (results: ISearchstaxParsedResult&#x5B;]) {
        const copy = &#x5B;...results];
        return copy;
      },
    }
  };

</pre></div>


<p>Initialization object needs to be of type:&nbsp;<strong>ISearchstaxConfig</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
interface ISearchstaxConfig {
  language: string; // language code. Example: &#039;en&#039;
  searchURL: string; // SearchStudio select endpoint
  suggesterURL: string; //SearchStudio suggest endpoint
  trackApiKey: string; // Api key used for tracking events
  searchAuth: string; // Authentication value. based on authType it&#039;s either a token value or basic auth value
  authType: &quot;token&quot; | &quot;basic&quot;; // Type of authentication
  autoCorrect?: boolean; // if set to true it will autoCorrect misspelled words. Default is false
  router?: IRouterConfig; // optional object containing router settings
  hooks?: {
    // optional object that provides various hook options
    beforeSearch?: (props: ISearchObject) =&gt; ISearchObject | null; // this function gets called before firing search. searchProps are being passed as a property and can be modified, if passed along further search will execute with modified properties, if null is returned then event gets canceled and search never fires.
    afterSearch?: (results: ISearchstaxParsedResult&#x5B;]) =&gt; ISearchstaxParsedResult&#x5B;]; // this function gets called after firing search and before rendering. It needs to return array of results that are either modified or untouched.
  };
}

</pre></div>


<h3 class="wp-block-heading">Adding Components</h3>



<p>Add any Site Search components needed:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxWrapper&gt;

  &amp;lt;SearchstaxInputWidget /&gt;

  &amp;lt;SearchstaxResultsWidget /&gt;

&amp;lt;!-- Other components --&gt;

&amp;lt;/SearchstaxWrapper&gt;


</pre></div>


<h3 class="wp-block-heading">Styles</h3>



<p>Import the CSS styles:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
@import &#039;@searchstax-inc/searchstudio-ux-vue/dist/styles/mainTheme.css&#039;;


</pre></div>


<p>See the <a href="/docs/searchstudio/styling/">Styling</a> section for information on theming and customization.</p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/">Getting Started with searchstudio-ux-vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vue Widgets</title>
		<link>https://demo.searchstax.com/docs/searchstudio/widgets/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:48:44 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16255</guid>

					<description><![CDATA[<p>Searchstudio-ux-vue Widgets The SearchStax Site Search solution offers a variety of Vue widgets for your custom search page. To learn more about the Searchstudio-ux-vue Widgets, follow the links to each&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/widgets/">Continue reading <span class="screen-reader-text">Vue Widgets</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/widgets/">Vue Widgets</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstudio-ux-vue-widgets">Searchstudio-ux-vue Widgets</h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The SearchStax Site Search solution offers a variety of Vue widgets for your custom search page. </p>



<p>To learn more about the <code>Searchstudio-ux-vue</code> Widgets, follow the links to each page to see the templates and examples:</p>



<ul class="wp-block-list">
<li><a href="/docs/searchstudio/searchstaxinputwidget/">SearchstaxInputWidget</a> &#8211; provides a search input box with autosuggest/autocomplete functionality</li>



<li><a href="https://demo.searchstax.com/docs/searchstudio/searchstaxresultwidget/">SearchstaxResultWidget</a> &#8211; displays the search results</li>



<li><a href="/docs/searchstudio/searchstaxfacetswidget/">SearchstaxFacetsWidget</a> &#8211; displays the facet filters</li>



<li><a href="/docs/searchstudio/searchstaxpaginationwidget/">SearchstaxPaginationWidget</a> &#8211; displays pagination controls for search results</li>



<li><a href="/docs/searchstudio/searchstaxsearchfeedbackwidget/">SearchstaxSearchFeedbackWidget</a> &#8211; displays search feedback like number of results found</li>



<li><a href="/docs/searchstudio/searchstax-externalpromotionswidget/">SeaerchstaxExternalPromotionsWidget</a> &#8211; displays external promotions fetched from the API</li>



<li><a href="/docs/searchstudio/searchstaxsortingwidget/">SearchstaxSortingWidget</a> &#8211; displays sorting options for search results</li>
</ul>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20UX%20searchstudio-ux-js Widgets" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/widgets/">Vue Widgets</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SearchstaxInputWidget for Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxinputwidget/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:49:55 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16257</guid>

					<description><![CDATA[<p>SearchstaxInputWidget Vue SearchStax Site Search solution offers a Vue search-input widget to assist with your custom search page. The SearchstaxInputWidget provides a search input box with autosuggest/autocomplete functionality. Usage Props&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxinputwidget/">Continue reading <span class="screen-reader-text">SearchstaxInputWidget for Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxinputwidget/">SearchstaxInputWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstaxinputwidget-vue">SearchstaxInputWidget Vue</h1>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>SearchStax Site Search solution offers a Vue search-input widget to assist with your custom search page.</p>



<p>The <strong><code>SearchstaxInputWidget</code></strong> provides a search input box with autosuggest/autocomplete functionality.</p>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;&amp;lt;/SearchstaxInputWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Props</h3>



<ul class="wp-block-list">
<li><code>afterAutosuggest</code>&nbsp;&#8211; Callback function invoked after autosuggest results are received. Allows modifying the suggestions.</li>



<li><code>beforeAutosuggest</code>&nbsp;&#8211; Callback function invoked before making the autosuggest API call. Allows modifying the request parameters.</li>



<li><code>searchInputId</code>&nbsp;&#8211; ID of the search input element. Default:&nbsp;<code>searchstax-search-input</code></li>



<li><code>suggestAfterMinChars</code>&nbsp;&#8211; Minimum number of characters required to trigger autosuggest. Default:&nbsp;<code>3</code></li>
</ul>



<h3 class="wp-block-heading">Slots</h3>



<p><strong>#input</strong></p>



<p>Allows customizing the input box UI.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>suggestions</code>&nbsp;&#8211; Array of autosuggestion results</li>



<li><code>onMouseLeave</code>&nbsp;&#8211; Handler for mouse leave event</li>



<li><code>onMouseOver</code>&nbsp;&#8211; Handler for mouse over event</li>



<li><code>onMouseClick</code>&nbsp;&#8211; Handler for mouse click event</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;&amp;lt;/SearchstaxInputWidget&gt;

</pre></div>


<h3 class="wp-block-heading" id="h-example">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;
	&amp;lt;template #input=&quot;{ suggestions, onMouseLeave, onMouseOver, onMouseClick }&quot;&gt;
            &amp;lt;div class=&quot;searchstax-search-input-wrapper&quot;&gt;
              &amp;lt;input
                type=&quot;text&quot;
                id=&quot;searchstax-search-input&quot;
                class=&quot;searchstax-search-input&quot;
                placeholder=&quot;SEARCH FOR...&quot;
              /&gt;
              &amp;lt;div
                class=&quot;searchstax-autosuggest-container&quot;
                :class=&quot;{ &#039;hidden&#039;: suggestions.length === 0 }&quot;
                @mouseleave=&quot;onMouseLeave&quot;
              &gt;
                &amp;lt;div
                  class=&quot;searchstax-autosuggest-item&quot;
                  v-for=&quot;suggestion in suggestions&quot;
                  :key=&quot;suggestion.term&quot;
                &gt;
                  &amp;lt;div
                    class=&quot;searchstax-autosuggest-item-term-container&quot;
                    v-html=&quot;suggestion.term&quot;
                    @mouseover=&quot;onMouseOver(suggestion)&quot;
                    @click.stop=&quot;onMouseClick()&quot;
                  &gt;&amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/div&gt;
              &amp;lt;button
                class=&quot;searchstax-spinner-icon&quot;
                id=&quot;searchstax-search-input-action-button&quot;
              &gt;
              &amp;lt;/button&gt;
            &amp;lt;/div&gt;
	&amp;lt;/template&gt;
&amp;lt;/SearchstaxInputWidget&gt;
</pre></div>


<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxinputwidget/">SearchstaxInputWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SearchstaxResultWidget for Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxresultwidget/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:51:15 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16261</guid>

					<description><![CDATA[<p>Searchstax ResultWidget for Vue The SearchStax Site Search solution offers a Vue results widget to assist with your custom search page. The SearchstaxResultsWidget component displays the search results. Props Slots&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxresultwidget/">Continue reading <span class="screen-reader-text">SearchstaxResultWidget for Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxresultwidget/">SearchstaxResultWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstax-resultwidget-for-vue">Searchstax ResultWidget for Vue</h1>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The SearchStax Site Search solution offers a Vue results widget to assist with your custom search page. </p>



<p>The <code>SearchstaxResultsWidget</code> component displays the search results.</p>



<h3 class="wp-block-heading"><strong>Props</strong></h3>



<ul class="wp-block-list">
<li><code>afterLinkClick</code>&nbsp;&#8211; Callback function invoked when a result link is clicked. Allows modifying the result object.</li>
</ul>



<h3 class="wp-block-heading"><strong>Slots</strong></h3>



<p><strong>#noResult</strong></p>



<p>Custom content when no results are found.</p>



<p><strong>#results</strong></p>



<p>Custom template for rendering the results.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>searchResults</code>&nbsp;&#8211; Array of result items</li>



<li><code>resultClicked</code>&nbsp;&#8211; Handler for result click events</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxResultWidget :afterLinkClick=&quot;afterLinkClick&quot;&gt;
&amp;lt;/SearchstaxResultWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxResultWidget :afterLinkClick=&quot;afterLinkClick&quot;&gt;
              &amp;lt;template #results=&quot;{ searchResults, resultClicked }&quot;&gt;
                &amp;lt;div
                  class=&quot;searchstax-search-results&quot;
                  v-if=&quot;searchResults &amp;amp;&amp;amp; searchResults.length&quot;
                &gt;
                  &amp;lt;div
                    class=&quot;searchstax-search-result&quot;
                    :class=&quot;{ &#039;has-thumbnail&#039;: searchResult.thumbnail }&quot;
                    :key=&quot;searchResult.uniqueId&quot;
                    v-for=&quot;searchResult in searchResults&quot;
                  &gt;
                    &amp;lt;div
                      v-if=&quot;searchResult.promoted&quot;
                      class=&quot;searchstax-search-result-promoted&quot;
                    &gt;&amp;lt;/div&gt;
                    &amp;lt;a
                      v-if=&quot;searchResult.url&quot;
                      :href=&quot;searchResult.url&quot;
                      :data-searchstax-unique-result-id=&quot;searchResult.uniqueId&quot;
                      @click=&quot;resultClicked(searchResult, $event)&quot;
                      class=&quot;searchstax-result-item-link&quot;
                    &gt;&amp;lt;/a&gt;
                    &amp;lt;div
                      v-if=&quot;searchResult.ribbon&quot;
                      class=&quot;searchstax-search-result-ribbon&quot;
                    &gt; {{ searchResult.ribbon }} &amp;lt;/div&gt;
                    &amp;lt;img
                      v-if=&quot;searchResult.thumbnail&quot;
                      :src=&quot;searchResult.thumbnail&quot;
                      class=&quot;searchstax-thumbnail&quot;
                    /&gt;
                    &amp;lt;div class=&quot;searchstax-search-result-title-container&quot;&gt;
                      &amp;lt;span class=&quot;searchstax-search-result-title&quot;&gt;{{ searchResult.title }}&amp;lt;/span&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;p
                      v-if=&quot;searchResult.paths&quot;
                      class=&quot;searchstax-search-result-common&quot;
                    &gt; {{ searchResult.paths }} &amp;lt;/p&gt;
                    &amp;lt;p
                      v-if=&quot;searchResult.description&quot;
                      class=&quot;searchstax-search-result-description searchstax-search-result-common&quot;
                    &gt; {{ searchResult.description }} &amp;lt;/p&gt;
                    &amp;lt;div
                      :key=&quot;unmappedField.key&quot;
                      v-for=&quot;unmappedField in searchResult.unmappedFields&quot;
                    &gt;
                      &amp;lt;div
                        v-if=&quot;unmappedField.isImage &amp;amp;&amp;amp; typeof unmappedField.value === &#039;string&#039;&quot;
                        class=&quot;searchstax-search-result-image-container&quot;
                      &gt;
                        &amp;lt;img
                          :src=&quot;unmappedField.value&quot;
                          class=&quot;searchstax-result-image&quot;
                        /&gt;
                      &amp;lt;/div&gt;
                      &amp;lt;div v-else&gt;
                        &amp;lt;p class=&quot;searchstax-search-result-common&quot;&gt; {{ unmappedField.value }} &amp;lt;/p&gt;
                      &amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                  &amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/template&gt;
&amp;lt;/SearchstaxResultWidget&gt;

</pre></div>


<p>The component handles fetching results from the search API and passing them to the slots. Slots allow full customization of result templates and no result content.</p>



<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxresultwidget/">SearchstaxResultWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SearchstaxFacetsWidget for Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxfacetswidget/</link>
		
		<dc:creator><![CDATA[Gurinder Singh]]></dc:creator>
		<pubDate>Thu, 14 Sep 2023 15:56:08 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16264</guid>

					<description><![CDATA[<p>SearchstaxFacetsWidget for Vue The SearchStax Site Search solution offers a Vue SearchstaxFacetsWidget component to display facets on your custom search page. Facet Selection and Order Facet lists are configured and&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxfacetswidget/">Continue reading <span class="screen-reader-text">SearchstaxFacetsWidget for Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxfacetswidget/">SearchstaxFacetsWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstaxfacetswidget-for-vue">SearchstaxFacetsWidget for Vue</h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>The SearchStax Site Search solution offers a Vue <code>SearchstaxFacetsWidget</code> component to display facets on your custom search page.</p>



<div class="alert alert-info">
<h3>Facet Selection and Order</h3>
<p>Facet lists are configured and ordered on the Site Search <a href="https://demo.searchstax.com/docs/searchstudio/faceting-tab/">Faceting Tab</a>. </p>
</div>



<h3 class="wp-block-heading"><strong>Props</strong></h3>



<ul class="wp-block-list">
<li><code>facetingType</code>&nbsp;&#8211; Faceting mode: &#8216;and&#8217;, &#8216;or&#8217;, &#8216;showUnavailable&#8217;, &#8216;tabs&#8217;</li>



<li><code>itemsPerPageDesktop</code>&nbsp;&#8211; Facets to show per group on desktop</li>



<li><code>itemsPerPageMobile</code>&nbsp;&#8211; Facets to show per group on mobile</li>



<li><code>specificFacets</code>&nbsp;&#8211; Array of facet names to display</li>
</ul>



<h3 class="wp-block-heading"><strong>Slots</strong></h3>



<h3 class="wp-block-heading"><strong>#desktopFacets</strong></h3>



<p>Custom template for desktop facets.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>facetsTemplateDataDesktop</code>&nbsp;&#8211; Facets data object</li>



<li><code>isNotDeactivated</code>&nbsp;&#8211; Check if facet group is active</li>



<li><code>toggleFacetGroup</code>&nbsp;&#8211; Toggle facet group active state</li>



<li><code>isChecked</code>&nbsp;&#8211; Check if facet value is selected</li>



<li><code>selectFacet</code>&nbsp;&#8211; Handler for facet select</li>



<li><code>showMoreLessDesktop</code>&nbsp;&#8211; Show more/less facets handler</li>



<li><code>facetContainers</code>&nbsp;&#8211; Object of facet DOM containers</li>
</ul>



<h3 class="wp-block-heading"><strong>#mobileFacets</strong></h3>



<p>Custom template for mobile facets.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>facetsTemplateDataMobile</code>&nbsp;&#8211; Facets data object</li>



<li><code>selectedFacetsCheckboxes</code>&nbsp;&#8211; Selected facet values</li>



<li>Other handlers (same as #desktopFacets)</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxFacetsWidget
              :facetingType=&quot;&#039;or&#039;&quot;
              :itemsPerPageDesktop=&quot;3&quot;
              :itemsPerPageMobile=&quot;99&quot;
&gt;&amp;lt;/SearchstaxFacetsWidget&gt;

</pre></div>


<p>The <code>**SearchstaxFacetsWidget**</code> component displays the facet filters.</p>



<h3 class="wp-block-heading"><strong>Props</strong></h3>



<ul class="wp-block-list">
<li><code>facetingType</code>&nbsp;&#8211; Faceting mode: &#8216;and&#8217;, &#8216;or&#8217;, &#8216;showUnavailable&#8217;, &#8216;tabs&#8217;</li>



<li><code>itemsPerPageDesktop</code>&nbsp;&#8211; Facets to show per group on desktop</li>



<li><code>itemsPerPageMobile</code>&nbsp;&#8211; Facets to show per group on mobile</li>



<li><code>specificFacets</code>&nbsp;&#8211; Array of facet names to display</li>
</ul>



<h3 class="wp-block-heading"><strong>Slots</strong></h3>



<h3 class="wp-block-heading"><strong>#desktopFacets</strong></h3>



<p>Custom template for desktop facets.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>facetsTemplateDataDesktop</code>&nbsp;&#8211; Facets data object</li>



<li><code>isNotDeactivated</code>&nbsp;&#8211; Check if facet group is active</li>



<li><code>toggleFacetGroup</code>&nbsp;&#8211; Toggle facet group active state</li>



<li><code>isChecked</code>&nbsp;&#8211; Check if facet value is selected</li>



<li><code>selectFacet</code>&nbsp;&#8211; Handler for facet select</li>



<li><code>showMoreLessDesktop</code>&nbsp;&#8211; Show more/less facets handler</li>



<li><code>facetContainers</code>&nbsp;&#8211; Object of facet DOM containers</li>
</ul>



<h3 class="wp-block-heading"><strong>#mobileFacets</strong></h3>



<p>Custom template for mobile facets.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>facetsTemplateDataMobile</code>&nbsp;&#8211; Facets data object</li>



<li><code>selectedFacetsCheckboxes</code>&nbsp;&#8211; Selected facet values</li>



<li>Other handlers (same as #desktopFacets)</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxFacetsWidget
              :facetingType=&quot;&#039;or&#039;&quot;
              :itemsPerPageDesktop=&quot;3&quot;
              :itemsPerPageMobile=&quot;99&quot;
&gt;&amp;lt;/SearchstaxFacetsWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxFacetsWidget
              :facetingType=&quot;&#039;or&#039;&quot;
              :itemsPerPageDesktop=&quot;3&quot;
              :itemsPerPageMobile=&quot;99&quot;
            &gt;
              &amp;lt;template
                #desktopFacets=&quot;{ facetsTemplateDataDesktop, isNotDeactivated, toggleFacetGroup, isChecked, selectFacet, showMoreLessDesktop, facetContainers }&quot;
              &gt;
                &amp;lt;div
                  v-if=&quot;facetsTemplateDataDesktop?.hasResultsOrExternalPromotions&quot;
                  class=&quot;searchstax-facets-container-desktop&quot;
                &gt;
                  &amp;lt;div
                    v-for=&quot;facet in facetsTemplateDataDesktop.facets&quot;
                    :key=&quot;facet&quot;
                    class=&quot;searchstax-facet-container&quot;
                    :class=&quot;{ &#039;active&#039;: isNotDeactivated(facet.name) }&quot;
                  &gt;
                    &amp;lt;div&gt;
                      &amp;lt;div
                        class=&quot;searchstax-facet-title-container&quot;
                        @click=&quot;toggleFacetGroup(facet.name)&quot;
                      &gt;
                        &amp;lt;div class=&quot;searchstax-facet-title&quot;&gt; {{ facet.label }} &amp;lt;/div&gt;
                        &amp;lt;div class=&quot;searchstax-facet-title-arrow active&quot;&gt;&amp;lt;/div&gt;
                      &amp;lt;/div&gt;
                      &amp;lt;div class=&quot;searchstax-facet-values-container&quot;&gt;
                        &amp;lt;div
                          v-for=&quot;(facetValue, key) in facet.values&quot;
                          :key=&quot;facetValue.value + facetValue.parentName&quot;
                          class=&quot;searchstax-facet-value-container&quot;
                          :class=&quot;{ &#039;searchstax-facet-value-disabled&#039;: facetValue.disabled }&quot;
                          :ref=&quot;el =&gt; { facetContainers&#x5B;key + facet.name] = el }&quot;
                        &gt;
                          &amp;lt;div class=&quot;searchstax-facet-input&quot;&gt;
                            &amp;lt;input
                              type=&quot;checkbox&quot;
                              class=&quot;searchstax-facet-input-checkbox&quot;
                              :checked=&quot;isChecked(facetValue)&quot;
                              :disabled=&quot;facetValue.disabled&quot;
                              @click=&quot;selectFacet(key + facet.name, $event, facetValue, true)&quot;
                            /&gt;
                          &amp;lt;/div&gt;
                          &amp;lt;div
                            class=&quot;searchstax-facet-value-label&quot;
                            @click=&quot;selectFacet(key + facet.name, $event, facetValue, false)&quot;
                          &gt;{{ facetValue.value }}&amp;lt;/div&gt;
                          &amp;lt;div
                            class=&quot;searchstax-facet-value-count&quot;
                            @click=&quot;selectFacet(key + facet.name, $event, facetValue, false)&quot;
                          &gt;({{ facetValue.count }})&amp;lt;/div&gt;
                        &amp;lt;/div&gt;
                        &amp;lt;div
                          class=&quot;searchstax-facet-show-more-container&quot;
                          v-if=&quot;facet.hasMoreFacets&quot;
                        &gt;
                          &amp;lt;div
                            class=&quot;searchstax-facet-show-more-container&quot;
                            @click=&quot;showMoreLessDesktop($event, facet)&quot;
                          &gt;
                            &amp;lt;div
                              v-if=&quot;facet.showingAllFacets&quot;
                              class=&quot;searchstax-facet-show-less-button searchstax-facet-show-button&quot;
                            &gt;less&amp;lt;/div&gt;
                            &amp;lt;div
                              v-else
                              class=&quot;searchstax-facet-show-more-button  searchstax-facet-show-button&quot;
                            &gt;more&amp;lt;/div&gt;
                          &amp;lt;/div&gt;
                        &amp;lt;/div&gt;
                      &amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                  &amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/template&gt;
              &amp;lt;template
                #mobileFacets=&quot;{ facetsTemplateDataMobile, selectedFacetsCheckboxes, isNotDeactivated, toggleFacetGroup, isChecked, selectFacet, showMoreLessDesktop, facetContainers, openOverlay, unselectFacet, unselectAll, closeOverlay }&quot;
              &gt;
                &amp;lt;div
                  class=&quot;searchstax-facets-container-mobile&quot;
                  v-if=&quot;facetsTemplateDataMobile?.hasResultsOrExternalPromotions&quot;
                &gt;
                  &amp;lt;div class=&quot;searchstax-facets-pills-container&quot;&gt;
                    &amp;lt;div
                      class=&quot;searchstax-facets-pill searchstax-facets-pill-filter-by&quot;
                      @click=&quot;openOverlay&quot;
                    &gt;
                      &amp;lt;div class=&quot;searchstax-facets-pill-label&quot;&gt;Filter By&amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;div class=&quot;searchstax-facets-pills-selected&quot;&gt;
                      &amp;lt;div
                        class=&quot;searchstax-facets-pill searchstax-facets-pill-facets&quot;
                        v-for=&quot;facet in selectedFacetsCheckboxes&quot;
                        :key=&quot;facet.value&quot;
                        @click=&quot;unselectFacet(facet)&quot;
                      &gt;
                        &amp;lt;div class=&quot;searchstax-facets-pill-label&quot;&gt;{{ facet.value }} ({{ facet.count }})&amp;lt;/div&gt;
                        &amp;lt;div class=&quot;searchstax-facets-pill-icon-close&quot;&gt;&amp;lt;/div&gt;
                      &amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;div
                      class=&quot;searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all&quot;
                      v-if=&quot;selectedFacetsCheckboxes.length&quot;
                      @click=&quot;unselectAll&quot;
                    &gt;
                      &amp;lt;div class=&quot;searchstax-facets-pill-label&quot;&gt;Clear Filters&amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                  &amp;lt;/div&gt;
                  &amp;lt;div
                    class=&quot;searchstax-facets-mobile-overlay&quot;
                    :class=&quot;{ &#039;searchstax-show&#039;: facetsTemplateDataMobile?.overlayOpened }&quot;
                  &gt;
                    &amp;lt;div class=&quot;searchstax-facets-mobile-overlay-header&quot;&gt;
                      &amp;lt;div class=&quot;searchstax-facets-mobile-overlay-header-title&quot;&gt;Filter By&amp;lt;/div&gt;
                      &amp;lt;div
                        class=&quot;searchstax-search-close&quot;
                        @click=&quot;closeOverlay&quot;
                      &gt;&amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;div class=&quot;searchstax-facets-container-mobile&quot;&gt;
                      &amp;lt;div
                        v-for=&quot;facet in facetsTemplateDataMobile?.facets&quot;
                        :key=&quot;facet&quot;
                        class=&quot;searchstax-facet-container&quot;
                        :class=&quot;{ &#039;active&#039;: isNotDeactivated(facet.name) }&quot;
                      &gt;
                        &amp;lt;div&gt;
                          &amp;lt;div
                            class=&quot;searchstax-facet-title-container&quot;
                            @click=&quot;toggleFacetGroup(facet.name)&quot;
                          &gt;
                            &amp;lt;div class=&quot;searchstax-facet-title&quot;&gt; {{ facet.label }} &amp;lt;/div&gt;
                            &amp;lt;div class=&quot;searchstax-facet-title-arrow active&quot;&gt;&amp;lt;/div&gt;
                          &amp;lt;/div&gt;
                          &amp;lt;div class=&quot;searchstax-facet-values-container&quot;&gt;
                            &amp;lt;div
                              v-for=&quot;(facetValue, key) in facet.values&quot;
                              :key=&quot;facetValue.value + facetValue.parentName&quot;
                              class=&quot;searchstax-facet-value-container&quot;
                              :class=&quot;{ &#039;searchstax-facet-value-disabled&#039;: facetValue.disabled }&quot;
                              :ref=&quot;el =&gt; { facetContainers&#x5B;key + facet.name] = el }&quot;
                            &gt;
                              &amp;lt;div class=&quot;searchstax-facet-input&quot;&gt;
                                &amp;lt;input
                                  type=&quot;checkbox&quot;
                                  class=&quot;searchstax-facet-input-checkbox&quot;
                                  :checked=&quot;isChecked(facetValue)&quot;
                                  :disabled=&quot;facetValue.disabled&quot;
                                  @click=&quot;selectFacet(key + facet.name, $event, facetValue, true)&quot;
                                /&gt;
                              &amp;lt;/div&gt;
                              &amp;lt;div
                                class=&quot;searchstax-facet-value-label&quot;
                                @click=&quot;selectFacet(key + facet.name, $event, facetValue, false)&quot;
                              &gt;{{ facetValue.value }}&amp;lt;/div&gt;
                              &amp;lt;div
                                class=&quot;searchstax-facet-value-count&quot;
                                @click=&quot;selectFacet(key + facet.name, $event, facetValue, false)&quot;
                              &gt;({{ facetValue.count }})&amp;lt;/div&gt;
                            &amp;lt;/div&gt;
                            &amp;lt;div
                              class=&quot;searchstax-facet-show-more-container&quot;
                              v-if=&quot;facet.hasMoreFacets&quot;
                            &gt;
                              &amp;lt;div
                                class=&quot;searchstax-facet-show-more-container&quot;
                                @click=&quot;showMoreLessDesktop($event, facet)&quot;
                              &gt;
                                &amp;lt;div
                                  v-if=&quot;facet.showingAllFacets&quot;
                                  class=&quot;searchstax-facet-show-less-button searchstax-facet-show-button&quot;
                                &gt;less&amp;lt;/div&gt;
                                &amp;lt;div
                                  v-else
                                  class=&quot;searchstax-facet-show-more-button  searchstax-facet-show-button&quot;
                                &gt;more&amp;lt;/div&gt;
                              &amp;lt;/div&gt;
                            &amp;lt;/div&gt;
                          &amp;lt;/div&gt;
                        &amp;lt;/div&gt;
                      &amp;lt;/div&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;button
                      class=&quot;searchstax-facets-mobile-overlay-done&quot;
                      @click=&quot;closeOverlay&quot;
                    &gt;Done&amp;lt;/button&gt;
                  &amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/template&gt;
            &amp;lt;/SearchstaxFacetsWidget&gt;

</pre></div>


<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxfacetswidget/">SearchstaxFacetsWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Searchstax-PaginationWidget Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxpaginationwidget/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:12:36 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16266</guid>

					<description><![CDATA[<p>Searchstax PaginationWidget for Vue The SearchStax Site Search solution offers a Vue pagination widget to assist with you custom search page. The SearchstaxPaginationWidget component displays pagination controls for search results.&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxpaginationwidget/">Continue reading <span class="screen-reader-text">Searchstax-PaginationWidget Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxpaginationwidget/">Searchstax-PaginationWidget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstax-paginationwidget-for-vue">Searchstax PaginationWidget for Vue</h1>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The SearchStax Site Search solution offers a Vue pagination widget to assist with you custom search page.</p>



<p>The <code>SearchstaxPaginationWidget</code> component displays pagination controls for search results.</p>



<h3 class="wp-block-heading">Slots</h3>



<p><strong>#pagination</strong></p>



<p>Allows customizing the pagination UI.</p>



<p><strong>Slot props:</strong></p>



<ul class="wp-block-list">
<li><code>paginationData</code>&nbsp;&#8211; Pagination info object</li>



<li><code>nextPage</code>&nbsp;&#8211; Handler for next page click</li>



<li><code>previousPage</code>&nbsp;&#8211; Handler for previous page click</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxPaginationWidget&gt;&amp;lt;/SearchstaxPaginationWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;template #pagination=&quot;{ paginationData, previousPage, nextPage }&quot;&gt;
                &amp;lt;div
                  class=&quot;searchstax-pagination-container&quot;
                  v-if=&quot;paginationData&quot;
                &gt;
                  &amp;lt;div class=&quot;searchstax-pagination-content&quot;&gt;
                    &amp;lt;a
                      class=&quot;searchstax-pagination-previous&quot;
                      :disabled=&quot;paginationData?.isFirstPage&quot;
                      @click=&quot;previousPage&quot;
                      id=&quot;searchstax-pagination-previous&quot;
                    &gt; &amp;amp;lt; Previous &amp;lt;/a&gt;
                    &amp;lt;div class=&quot;searchstax-pagination-details&quot;&gt; {{ paginationData?.startResultIndex }} - {{
                      paginationData?.endResultIndex }} of {{ paginationData?.totalResults }} &amp;lt;/div&gt;
                    &amp;lt;a
                      class=&quot;searchstax-pagination-next&quot;
                      :disabled=&quot;paginationData?.isLastPage&quot;
                      @click=&quot;nextPage&quot;
                      id=&quot;searchstax-pagination-next&quot;
                    &gt;Next &gt;&amp;lt;/a&gt;
                  &amp;lt;/div&gt;
                &amp;lt;/div&gt;
&amp;lt;/template&gt;
</pre></div>


<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxpaginationwidget/">Searchstax-PaginationWidget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SearchStaxInputWidget for Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxsearchfeedbackwidget/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 17:56:17 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16268</guid>

					<description><![CDATA[<p>SearchstaxInputWidget for Vue The SearchStax Site Search solution offers a Vue input widget to assist with you custom search page. The SearchstaxInputWidget provides a search input box with autosuggest/autocomplete functionality.&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxsearchfeedbackwidget/">Continue reading <span class="screen-reader-text">SearchStaxInputWidget for Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxsearchfeedbackwidget/">SearchStaxInputWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstaxinputwidget-for-vue">SearchstaxInputWidget for Vue</h1>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The SearchStax Site Search solution offers a Vue input widget to assist with you custom search page.</p>



<p>The <strong><code>SearchstaxInputWidget</code></strong> provides a search input box with autosuggest/autocomplete functionality.</p>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;&amp;lt;/SearchstaxInputWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Props</h3>



<ul class="wp-block-list">
<li><code>afterAutosuggest</code>&nbsp;&#8211; Callback function invoked after autosuggest results are received. Allows modifying the suggestions.</li>



<li><code>beforeAutosuggest</code>&nbsp;&#8211; Callback function invoked before making the autosuggest API call. Allows modifying the request parameters.</li>



<li><code>searchInputId</code>&nbsp;&#8211; ID of the search input element. Default:&nbsp;<code>searchstax-search-input</code></li>



<li><code>suggestAfterMinChars</code>&nbsp;&#8211; Minimum number of characters required to trigger autosuggest. Default:&nbsp;<code>3</code></li>
</ul>



<h3 class="wp-block-heading">Slots</h3>



<p><strong>#input</strong></p>



<p>Allows customizing the input box UI.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>suggestions</code>&nbsp;&#8211; Array of autosuggestion results</li>



<li><code>onMouseLeave</code>&nbsp;&#8211; Handler for mouse leave event</li>



<li><code>onMouseOver</code>&nbsp;&#8211; Handler for mouse over event</li>



<li><code>onMouseClick</code>&nbsp;&#8211; Handler for mouse click event</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;&amp;lt;/SearchstaxInputWidget&gt;

</pre></div>


<h3 class="wp-block-heading" id="h-example">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxInputWidget
          :afterAutosuggest=&quot;afterAutosuggest&quot;
          :beforeAutosuggest=&quot;beforeAutosuggest&quot;
          :suggestAfterMinChars=&quot;3&quot;
&gt;
	&amp;lt;template #input=&quot;{ suggestions, onMouseLeave, onMouseOver, onMouseClick }&quot;&gt;
            &amp;lt;div class=&quot;searchstax-search-input-wrapper&quot;&gt;
              &amp;lt;input
                type=&quot;text&quot;
                id=&quot;searchstax-search-input&quot;
                class=&quot;searchstax-search-input&quot;
                placeholder=&quot;SEARCH FOR...&quot;
              /&gt;
              &amp;lt;div
                class=&quot;searchstax-autosuggest-container&quot;
                :class=&quot;{ &#039;hidden&#039;: suggestions.length === 0 }&quot;
                @mouseleave=&quot;onMouseLeave&quot;
              &gt;
                &amp;lt;div
                  class=&quot;searchstax-autosuggest-item&quot;
                  v-for=&quot;suggestion in suggestions&quot;
                  :key=&quot;suggestion.term&quot;
                &gt;
                  &amp;lt;div
                    class=&quot;searchstax-autosuggest-item-term-container&quot;
                    v-html=&quot;suggestion.term&quot;
                    @mouseover=&quot;onMouseOver(suggestion)&quot;
                    @click.stop=&quot;onMouseClick()&quot;
                  &gt;&amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/div&gt;
              &amp;lt;button
                class=&quot;searchstax-spinner-icon&quot;
                id=&quot;searchstax-search-input-action-button&quot;
              &gt;
              &amp;lt;/button&gt;
            &amp;lt;/div&gt;
	&amp;lt;/template&gt;
&amp;lt;/SearchstaxInputWidget&gt;
</pre></div>


<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxsearchfeedbackwidget/">SearchStaxInputWidget for Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Searchstax-RelatedSearchesWidget Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstaxrelatedsearcheswidget/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:16:46 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16288</guid>

					<description><![CDATA[<p>Searchstax RelatedSearchesWidget Vue The SearchStax Site Search solution offers a Vue widget for displaying related searches. The SearchstaxRelatedSearchesWidget for Vue component displays related searches. Props Slots #related Allows customizing the&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstaxrelatedsearcheswidget/">Continue reading <span class="screen-reader-text">Searchstax-RelatedSearchesWidget Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxrelatedsearcheswidget/">Searchstax-RelatedSearchesWidget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-searchstax-relatedsearcheswidget-vue">Searchstax RelatedSearchesWidget Vue</h1>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>The SearchStax Site Search solution offers a Vue widget for displaying related searches. </p>



<p>The <code>SearchstaxRelatedSearchesWidget</code> for Vue component displays related searches.</p>



<h3 class="wp-block-heading">Props</h3>



<ul class="wp-block-list">
<li><code>relatedSearchesURL</code>&nbsp;&#8211; API URL for fetching related searches</li>



<li><code>relatedSearchesAPIKey</code>&nbsp;&#8211; API key for related searches API</li>
</ul>



<h3 class="wp-block-heading">Slots</h3>



<p><strong>#related</strong></p>



<p>Allows customizing the related searches UI.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>relatedData</code>&nbsp;&#8211; Related searches data object</li>



<li><code>executeSearch</code>&nbsp;&#8211; Handler to run new search from related term</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxRelatedSearchesWidget
	:relatedSearchesURL=&quot;config.relatedSearchesURL&quot;
	:relatedSearchesAPIKey=&quot;config.relatedSearchesAPIKey&quot;

	&amp;lt;template #related&gt;
  &amp;lt;/template&gt;

&gt;&amp;lt;/SearchstaxRelatedSearchesWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxRelatedSearchesWidget
              :relatedSearchesURL=&quot;config.relatedSearchesURL&quot;
              :relatedSearchesAPIKey=&quot;config.relatedSearchesAPIKey&quot;
            &gt;
              &amp;lt;template #related=&quot;{ relatedData, executeSearch }&quot;&gt;
                &amp;lt;div
                  class=&quot;searchstax-related-searches-container&quot;
                  id=&quot;searchstax-related-searches-container&quot;
                  v-if=&quot;relatedData &amp;amp;&amp;amp; relatedData?.searchExecuted &amp;amp;&amp;amp; relatedData?.hasRelatedSearches&quot;
                &gt; Related searches: &amp;lt;span id=&quot;searchstax-related-searches&quot;&gt;&amp;lt;/span&gt;
                  &amp;lt;span
                    class=&quot;searchstax-related-search&quot;
                    v-if=&quot;relatedData.relatedSearches&quot;
                  &gt;
                    &amp;lt;span
                      v-for=&quot;related in relatedData.relatedSearches&quot;
                      :key=&quot;related.related_search&quot;
                      @click=&quot;executeSearch(related)&quot;
                      class=&quot;searchstax-related-search searchstax-related-search-item&quot;
                    &gt; {{ related.related_search }}&amp;lt;span v-if=&quot;!related.last&quot;&gt;,&amp;lt;/span&gt;
                    &amp;lt;/span&gt;
                  &amp;lt;/span&gt;
                &amp;lt;/div&gt;
              &amp;lt;/template&gt;
            &amp;lt;/SearchstaxRelatedSearchesWidget&gt;
</pre></div>


<h3 class="wp-block-heading" id="questions">Questions?</h3>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstaxrelatedsearcheswidget/">Searchstax-RelatedSearchesWidget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Searchstax- ExternalPromotions-Widget Vue</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-externalpromotionswidget/</link>
		
		<dc:creator><![CDATA[Tom Humbarger]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 21:22:53 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=16270</guid>

					<description><![CDATA[<p>The SearchStax Site Search solution offers a Vue external-promotions widget for your custom search page. The SearchstaxExternalPromotionsWidget component displays external promotions fetched from the API. Slots #externalPromotions Allows customizing the&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-externalpromotionswidget/">Continue reading <span class="screen-reader-text">Searchstax- ExternalPromotions-Widget Vue</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-externalpromotionswidget/">Searchstax- ExternalPromotions-Widget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-"></h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>The SearchStax Site Search solution offers a Vue external-promotions widget for your custom search page. </p>



<p>The <code>SearchstaxExternalPromotionsWidget</code> component displays external promotions fetched from the API.</p>



<h3 class="wp-block-heading">Slots</h3>



<p><strong>#externalPromotions</strong></p>



<p>Allows customizing the external promotions UI.</p>



<p>Slot props:</p>



<ul class="wp-block-list">
<li><code>externalPromotionsData</code>&nbsp;&#8211; External promotions data object</li>



<li><code>trackClick</code>&nbsp;&#8211; Handler for tracking link clicks</li>
</ul>



<h3 class="wp-block-heading">Usage</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxExternalPromotionsWidget&gt;&amp;lt;/SearchstaxExternalPromotionsWidget&gt;

</pre></div>


<h3 class="wp-block-heading">Example</h3>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;SearchstaxExternalPromotionsWidget&gt;
              &amp;lt;template #externalPromotions=&quot;{ externalPromotionsData, trackClick }&quot;&gt;
                &amp;lt;div
                  class=&quot;searchstax-external-promotions-container&quot;
                  id=&quot;searchstax-external-promotions-container&quot;
                  v-if=&quot;externalPromotionsData &amp;amp;&amp;amp; externalPromotionsData?.searchExecuted &amp;amp;&amp;amp; externalPromotionsData?.hasExternalPromotions&quot;
                &gt;
                  &amp;lt;div
                    class=&quot;searchstax-external-promotion searchstax-search-result&quot;
                    v-for=&quot;externalPromotion in externalPromotionsData.externalPromotions&quot;
                    :key=&quot;externalPromotion.id&quot;
                  &gt;
                    &amp;lt;div class=&quot;icon-elevated&quot;&gt;&amp;lt;/div&gt;
                    &amp;lt;a
                      v-if=&quot;externalPromotion.url&quot;
                      href=&quot;{{externalPromotion.url}}&quot;
                      @click=&quot;trackClick(externalPromotion, $event)&quot;
                      class=&quot;searchstax-result-item-link&quot;
                    &gt;&amp;lt;/a&gt;
                    &amp;lt;div class=&quot;searchstax-search-result-title-container&quot;&gt;
                      &amp;lt;span class=&quot;searchstax-search-result-title&quot;&gt;{{ externalPromotion.name }}&amp;lt;/span&gt;
                    &amp;lt;/div&gt;
                    &amp;lt;p
                      v-if=&quot;externalPromotion.description&quot;
                      class=&quot;searchstax-search-result-description searchstax-search-result-common&quot;
                    &gt; {{ externalPromotion.description }} &amp;lt;/p&gt;
                    &amp;lt;p
                      v-if=&quot;externalPromotion.url&quot;
                      class=&quot;searchstax-search-result-description searchstax-search-result-common&quot;
                    &gt; {{ externalPromotion.url }} &amp;lt;/p&gt;
                  &amp;lt;/div&gt;
                &amp;lt;/div&gt;
              &amp;lt;/template&gt;
            &amp;lt;/SearchstaxExternalPromotionsWidget&gt;

</pre></div>


<p>The component fetches promotions data from the API and passes it to the slot. This allows customizing the promotions UI and handling link tracking.</p>



<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=SearchJS%20Developer%20Question" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-externalpromotionswidget/">Searchstax- ExternalPromotions-Widget Vue</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
