@coveo/atomic 3.32.3-pre.71fbb06acc → 3.32.3-pre.737243f85a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +0 -2
- package/dist/atomic/components/_index.js +0 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-search-interface.js +10 -3
- package/dist/atomic/components/atomic-search-interface.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/store.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +19 -7
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/commerce-layout.js +2 -2
- package/dist/atomic/components/components/common/atomic-layout-section/{search-layout.js → layout.js} +2 -2
- package/dist/atomic/components/components/search/atomic-search-interface/store.js +1 -1
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +58 -0
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.tw.css.js +2 -0
- package/dist/atomic/components/components/search/{atomic-layout → atomic-search-layout}/search-layout.js +2 -2
- package/dist/atomic/components/components/search/index.js +1 -0
- package/dist/atomic/components/components/search/lazy-index.js +1 -0
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/p-2583cef7.entry.js +2 -0
- package/dist/atomic/p-2583cef7.entry.js.map +1 -0
- package/dist/atomic/{p-5be3f0fb.entry.js → p-3338f55f.entry.js} +2 -2
- package/dist/atomic/{p-f364c346.js → p-3848b8c7.js} +2 -2
- package/dist/atomic/{p-d5aed275.entry.js → p-9df50df5.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-e717f7da.js → analytics-config-a5c69585.js} +2 -2
- package/dist/cjs/{analytics-config-e717f7da.js.map → analytics-config-a5c69585.js.map} +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +15 -9
- package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/index-757bc886.js +0 -4
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-a45b0683.js → analytics-config-deac2659.js} +2 -2
- package/dist/esm/{analytics-config-a45b0683.js.map → analytics-config-deac2659.js.map} +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-search-interface.entry.js +11 -5
- package/dist/esm/atomic-search-interface.entry.js.map +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/index-3f35faca.js +0 -4
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +8 -4
- package/dist/types/components/common/atomic-layout-section/layout.d.ts +2 -0
- package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +27 -0
- package/dist/types/components/search/index.d.ts +1 -0
- package/dist/types/components.d.ts +0 -33
- package/docs/atomic-docs.json +1 -58
- package/package.json +3 -3
- package/dist/atomic/components/atomic-search-layout.d.ts +0 -11
- package/dist/atomic/components/atomic-search-layout.js +0 -65
- package/dist/atomic/components/atomic-search-layout.js.map +0 -1
- package/dist/atomic/components/mixins/commerce-layout-mixin.js +0 -48
- package/dist/atomic/components/search-layout.js +0 -100
- package/dist/atomic/components/search-layout.js.map +0 -1
- package/dist/atomic/p-1605f228.entry.js +0 -2
- package/dist/atomic/p-1605f228.entry.js.map +0 -1
- package/dist/atomic/p-a06e88d4.entry.js +0 -2
- package/dist/atomic/p-a06e88d4.entry.js.map +0 -1
- package/dist/atomic/p-d4fbce1c.js +0 -2
- package/dist/atomic/p-d4fbce1c.js.map +0 -1
- package/dist/cjs/atomic-search-layout.cjs.entry.js +0 -57
- package/dist/cjs/atomic-search-layout.cjs.entry.js.map +0 -1
- package/dist/cjs/search-layout-419e7eb4.js +0 -106
- package/dist/cjs/search-layout-419e7eb4.js.map +0 -1
- package/dist/esm/atomic-search-layout.entry.js +0 -53
- package/dist/esm/atomic-search-layout.entry.js.map +0 -1
- package/dist/esm/search-layout-1e3bd9fd.js +0 -100
- package/dist/esm/search-layout-1e3bd9fd.js.map +0 -1
- package/dist/types/components/common/atomic-layout-section/search-layout.d.ts +0 -2
- package/dist/types/components/search/atomic-layout/atomic-search-layout.d.ts +0 -16
- package/dist/types/mixins/commerce-layout-mixin.d.ts +0 -18
- /package/dist/atomic/{p-5be3f0fb.entry.js.map → p-3338f55f.entry.js.map} +0 -0
- /package/dist/atomic/{p-f364c346.js.map → p-3848b8c7.js.map} +0 -0
- /package/dist/atomic/{p-d5aed275.entry.js.map → p-9df50df5.entry.js.map} +0 -0
- /package/dist/types/components/search/{atomic-layout → atomic-search-layout}/search-layout.d.ts +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* The `atomic-search-layout` helps organize elements in the page.
|
|
4
|
+
*
|
|
5
|
+
* @slot default - The default slot where you can add child components to the layout.
|
|
6
|
+
*
|
|
7
|
+
* @cssprop --atomic-layout-max-search-box-input-width: The maximum width that the search box input will take.
|
|
8
|
+
* @cssprop --atomic-layout-max-search-box-double-suggestions-width: The maximum width that the search box suggestions will take when displaying a double list.
|
|
9
|
+
* @cssprop --atomic-layout-search-box-left-suggestions-width: When displaying a double list, the width of the left list.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AtomicSearchLayout extends LitElement {
|
|
12
|
+
static styles: import("lit").CSSResult[];
|
|
13
|
+
error: Error;
|
|
14
|
+
constructor();
|
|
15
|
+
/**
|
|
16
|
+
* CSS value that defines where the layout goes from mobile to desktop.
|
|
17
|
+
* e.g., 800px, 65rem.
|
|
18
|
+
*/
|
|
19
|
+
mobileBreakpoint: string;
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
'atomic-search-layout': AtomicSearchLayout;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -2536,15 +2536,6 @@ export namespace Components {
|
|
|
2536
2536
|
*/
|
|
2537
2537
|
"timezone"?: string;
|
|
2538
2538
|
}
|
|
2539
|
-
/**
|
|
2540
|
-
* The `atomic-search-layout` helps organize elements in the page.
|
|
2541
|
-
*/
|
|
2542
|
-
interface AtomicSearchLayout {
|
|
2543
|
-
/**
|
|
2544
|
-
* CSS value that defines where the layout goes from mobile to desktop. e.g., 800px, 65rem.
|
|
2545
|
-
*/
|
|
2546
|
-
"mobileBreakpoint": string;
|
|
2547
|
-
}
|
|
2548
2539
|
/**
|
|
2549
2540
|
* The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.
|
|
2550
2541
|
*/
|
|
@@ -4258,15 +4249,6 @@ declare global {
|
|
|
4258
4249
|
prototype: HTMLAtomicSearchInterfaceElement;
|
|
4259
4250
|
new (): HTMLAtomicSearchInterfaceElement;
|
|
4260
4251
|
};
|
|
4261
|
-
/**
|
|
4262
|
-
* The `atomic-search-layout` helps organize elements in the page.
|
|
4263
|
-
*/
|
|
4264
|
-
interface HTMLAtomicSearchLayoutElement extends Components.AtomicSearchLayout, HTMLStencilElement {
|
|
4265
|
-
}
|
|
4266
|
-
var HTMLAtomicSearchLayoutElement: {
|
|
4267
|
-
prototype: HTMLAtomicSearchLayoutElement;
|
|
4268
|
-
new (): HTMLAtomicSearchLayoutElement;
|
|
4269
|
-
};
|
|
4270
4252
|
/**
|
|
4271
4253
|
* The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.
|
|
4272
4254
|
*/
|
|
@@ -4666,7 +4648,6 @@ declare global {
|
|
|
4666
4648
|
"atomic-search-box-query-suggestions": HTMLAtomicSearchBoxQuerySuggestionsElement;
|
|
4667
4649
|
"atomic-search-box-recent-queries": HTMLAtomicSearchBoxRecentQueriesElement;
|
|
4668
4650
|
"atomic-search-interface": HTMLAtomicSearchInterfaceElement;
|
|
4669
|
-
"atomic-search-layout": HTMLAtomicSearchLayoutElement;
|
|
4670
4651
|
"atomic-segmented-facet": HTMLAtomicSegmentedFacetElement;
|
|
4671
4652
|
"atomic-segmented-facet-scrollable": HTMLAtomicSegmentedFacetScrollableElement;
|
|
4672
4653
|
"atomic-smart-snippet": HTMLAtomicSmartSnippetElement;
|
|
@@ -7041,15 +7022,6 @@ declare namespace LocalJSX {
|
|
|
7041
7022
|
*/
|
|
7042
7023
|
"timezone"?: string;
|
|
7043
7024
|
}
|
|
7044
|
-
/**
|
|
7045
|
-
* The `atomic-search-layout` helps organize elements in the page.
|
|
7046
|
-
*/
|
|
7047
|
-
interface AtomicSearchLayout {
|
|
7048
|
-
/**
|
|
7049
|
-
* CSS value that defines where the layout goes from mobile to desktop. e.g., 800px, 65rem.
|
|
7050
|
-
*/
|
|
7051
|
-
"mobileBreakpoint"?: string;
|
|
7052
|
-
}
|
|
7053
7025
|
/**
|
|
7054
7026
|
* The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.
|
|
7055
7027
|
*/
|
|
@@ -7560,7 +7532,6 @@ declare namespace LocalJSX {
|
|
|
7560
7532
|
"atomic-search-box-query-suggestions": AtomicSearchBoxQuerySuggestions;
|
|
7561
7533
|
"atomic-search-box-recent-queries": AtomicSearchBoxRecentQueries;
|
|
7562
7534
|
"atomic-search-interface": AtomicSearchInterface;
|
|
7563
|
-
"atomic-search-layout": AtomicSearchLayout;
|
|
7564
7535
|
"atomic-segmented-facet": AtomicSegmentedFacet;
|
|
7565
7536
|
"atomic-segmented-facet-scrollable": AtomicSegmentedFacetScrollable;
|
|
7566
7537
|
"atomic-smart-snippet": AtomicSmartSnippet;
|
|
@@ -8078,10 +8049,6 @@ declare module "@stencil/core" {
|
|
|
8078
8049
|
* The `atomic-search-interface` component is the parent to all other atomic components in a search page. It handles the headless search engine and localization configurations.
|
|
8079
8050
|
*/
|
|
8080
8051
|
"atomic-search-interface": LocalJSX.AtomicSearchInterface & JSXBase.HTMLAttributes<HTMLAtomicSearchInterfaceElement>;
|
|
8081
|
-
/**
|
|
8082
|
-
* The `atomic-search-layout` helps organize elements in the page.
|
|
8083
|
-
*/
|
|
8084
|
-
"atomic-search-layout": LocalJSX.AtomicSearchLayout & JSXBase.HTMLAttributes<HTMLAtomicSearchLayoutElement>;
|
|
8085
8052
|
/**
|
|
8086
8053
|
* The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.
|
|
8087
8054
|
*/
|
package/docs/atomic-docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2025-08-
|
|
2
|
+
"timestamp": "2025-08-12T21:29:48",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.20.0",
|
|
@@ -12645,63 +12645,6 @@
|
|
|
12645
12645
|
]
|
|
12646
12646
|
}
|
|
12647
12647
|
},
|
|
12648
|
-
{
|
|
12649
|
-
"filePath": "src/components/search/atomic-layout/atomic-search-layout.tsx",
|
|
12650
|
-
"encapsulation": "none",
|
|
12651
|
-
"tag": "atomic-search-layout",
|
|
12652
|
-
"docs": "The `atomic-search-layout` helps organize elements in the page.",
|
|
12653
|
-
"docsTags": [],
|
|
12654
|
-
"usage": {},
|
|
12655
|
-
"props": [
|
|
12656
|
-
{
|
|
12657
|
-
"name": "mobileBreakpoint",
|
|
12658
|
-
"type": "string",
|
|
12659
|
-
"complexType": {
|
|
12660
|
-
"original": "string",
|
|
12661
|
-
"resolved": "string",
|
|
12662
|
-
"references": {}
|
|
12663
|
-
},
|
|
12664
|
-
"mutable": false,
|
|
12665
|
-
"attr": "mobile-breakpoint",
|
|
12666
|
-
"reflectToAttr": true,
|
|
12667
|
-
"docs": "CSS value that defines where the layout goes from mobile to desktop.\ne.g., 800px, 65rem.",
|
|
12668
|
-
"docsTags": [],
|
|
12669
|
-
"default": "DEFAULT_MOBILE_BREAKPOINT",
|
|
12670
|
-
"values": [
|
|
12671
|
-
{
|
|
12672
|
-
"type": "string"
|
|
12673
|
-
}
|
|
12674
|
-
],
|
|
12675
|
-
"optional": false,
|
|
12676
|
-
"required": false
|
|
12677
|
-
}
|
|
12678
|
-
],
|
|
12679
|
-
"methods": [],
|
|
12680
|
-
"events": [],
|
|
12681
|
-
"listeners": [],
|
|
12682
|
-
"styles": [
|
|
12683
|
-
{
|
|
12684
|
-
"name": "--atomic-layout-max-search-box-double-suggestions-width",
|
|
12685
|
-
"annotation": "prop",
|
|
12686
|
-
"docs": "The maximum width that the search box suggestions will take when displaying a double list."
|
|
12687
|
-
},
|
|
12688
|
-
{
|
|
12689
|
-
"name": "--atomic-layout-max-search-box-input-width",
|
|
12690
|
-
"annotation": "prop",
|
|
12691
|
-
"docs": "The maximum width that the search box input will take."
|
|
12692
|
-
},
|
|
12693
|
-
{
|
|
12694
|
-
"name": "--atomic-layout-search-box-left-suggestions-width",
|
|
12695
|
-
"annotation": "prop",
|
|
12696
|
-
"docs": "When displaying a double list, the width of the left list."
|
|
12697
|
-
}
|
|
12698
|
-
],
|
|
12699
|
-
"slots": [],
|
|
12700
|
-
"parts": [],
|
|
12701
|
-
"dependents": [],
|
|
12702
|
-
"dependencies": [],
|
|
12703
|
-
"dependencyGraph": {}
|
|
12704
|
-
},
|
|
12705
12648
|
{
|
|
12706
12649
|
"filePath": "src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.tsx",
|
|
12707
12650
|
"encapsulation": "shadow",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coveo/atomic",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.32.3-pre.
|
|
4
|
+
"version": "3.32.3-pre.737243f85a",
|
|
5
5
|
"description": "A web-component library for building modern UIs interfacing with the Coveo platform",
|
|
6
6
|
"homepage": "https://docs.coveo.com/en/atomic/latest/",
|
|
7
7
|
"repository": {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"@coveo/bueno": "1.1.0",
|
|
85
|
-
"@coveo/headless": "3.28.3-pre.
|
|
85
|
+
"@coveo/headless": "3.28.3-pre.737243f85a",
|
|
86
86
|
"@lit/context": "1.1.6",
|
|
87
87
|
"@popperjs/core": "2.11.8",
|
|
88
88
|
"@salesforce-ux/design-system": "2.27.2",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
},
|
|
170
170
|
"peerDependencies": {
|
|
171
171
|
"@coveo/bueno": "1.1.0",
|
|
172
|
-
"@coveo/headless": "3.28.3-pre.
|
|
172
|
+
"@coveo/headless": "3.28.3-pre.737243f85a",
|
|
173
173
|
"typescript": ">=5.0.0"
|
|
174
174
|
},
|
|
175
175
|
"peerDependenciesMeta": {
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../../types/components";
|
|
2
|
-
|
|
3
|
-
interface AtomicSearchLayout extends Components.AtomicSearchLayout, HTMLElement {}
|
|
4
|
-
export const AtomicSearchLayout: {
|
|
5
|
-
prototype: AtomicSearchLayout;
|
|
6
|
-
new (): AtomicSearchLayout;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
|
|
2
|
-
import { I as InitializeBindings } from './initialization-utils.js';
|
|
3
|
-
import { D as DEFAULT_MOBILE_BREAKPOINT } from './replace-breakpoint.js';
|
|
4
|
-
import { r as randomID } from './utils.js';
|
|
5
|
-
import { b as buildSearchLayout } from './search-layout.js';
|
|
6
|
-
|
|
7
|
-
const atomicSearchLayoutCss = ".atomic-modal-opened{overflow-y:hidden}atomic-layout-section[section='search']{grid-area:atomic-section-search}atomic-layout-section[section='facets']{grid-area:atomic-section-facets}atomic-layout-section[section='main']{grid-area:atomic-section-main}atomic-layout-section[section='status']{grid-area:atomic-section-status}atomic-layout-section[section='pagination']{grid-area:atomic-section-pagination}atomic-search-layout{width:100%;height:100%;display:none;grid-template-areas:'. atomic-section-search .'\n '. atomic-section-main .';grid-template-columns:var(--atomic-layout-spacing-x) minmax(0, 1fr) var(--atomic-layout-spacing-x)}atomic-search-layout atomic-layout-section[section='search']{margin:var(--atomic-layout-spacing-y) 0;max-width:var(--atomic-layout-max-search-box-input-width, 678px);width:100%;justify-self:center}atomic-search-layout atomic-layout-section[section='search'] atomic-search-box::part(suggestions-double-list){width:125%;max-width:var(--atomic-layout-max-search-box-double-suggestions-width, 800px)}atomic-search-layout atomic-layout-section[section='search'] atomic-search-box::part(suggestions-left){flex-basis:var(--atomic-layout-search-box-left-suggestions-width, 30%)}atomic-search-layout atomic-layout-section[section='search'] atomic-search-box::part(suggestions-right){flex-basis:calc(100% - var(--atomic-layout-search-box-left-suggestions-width, 30%))}atomic-search-layout atomic-layout-section[section='facets']{display:none}atomic-search-layout atomic-layout-section[section='facets'] *{margin-bottom:var(--atomic-layout-spacing-y)}atomic-search-layout atomic-layout-section[section='main']{margin-bottom:var(--atomic-layout-spacing-y)}atomic-search-layout atomic-layout-section[section='horizontal-facets']{display:flex;flex-wrap:wrap;margin-bottom:var(--atomic-layout-spacing-y);row-gap:0.5rem}atomic-search-layout atomic-layout-section[section='horizontal-facets']>*{max-width:100%}atomic-search-layout atomic-layout-section[section='horizontal-facets']>atomic-segmented-facet,atomic-search-layout atomic-layout-section[section='horizontal-facets']>atomic-popover{margin-right:0.5rem}atomic-search-layout atomic-layout-section[section='horizontal-facets']>atomic-popover{display:none}atomic-search-layout atomic-layout-section[section='status']{display:grid;justify-content:space-between;grid-template-areas:'atomic-breadbox atomic-breadbox'\n 'atomic-query-summary atomic-sort'\n 'atomic-did-you-mean atomic-did-you-mean'\n 'atomic-notifications atomic-notifications'}atomic-search-layout atomic-layout-section[section='status']>*{margin-bottom:var(--atomic-layout-spacing-y)}atomic-search-layout atomic-layout-section[section='status'] atomic-breadbox{grid-area:atomic-breadbox}atomic-search-layout atomic-layout-section[section='status'] atomic-query-summary{grid-area:atomic-query-summary;align-self:center;overflow:hidden}atomic-search-layout atomic-layout-section[section='status'] atomic-sort-dropdown{grid-area:atomic-sort;justify-self:end}atomic-search-layout atomic-layout-section[section='status'] atomic-refine-toggle{grid-area:atomic-sort}atomic-search-layout atomic-layout-section[section='status'] atomic-did-you-mean{grid-area:atomic-did-you-mean}atomic-search-layout atomic-layout-section[section='status'] atomic-notifications{grid-area:atomic-notifications}atomic-search-layout atomic-layout-section[section='results'] atomic-smart-snippet{margin-bottom:1.5rem}atomic-search-layout atomic-layout-section[section='results'] atomic-smart-snippet-suggestions{margin-bottom:1.5rem}atomic-search-layout atomic-layout-section[section='pagination']{display:flex;flex-direction:column;justify-content:space-between;align-items:center}atomic-search-layout atomic-layout-section[section='pagination'] atomic-load-more-results{width:100%}atomic-search-layout atomic-layout-section[section='pagination']:has(:only-child){justify-content:center}atomic-search-layout atomic-layout-section[section='pagination']>*{margin-top:var(--atomic-layout-spacing-y)}@media only screen and (min-width: 50rem){atomic-search-layout atomic-layout-section[section='pagination']{flex-direction:row}}";
|
|
8
|
-
const AtomicSearchLayoutStyle0 = atomicSearchLayoutCss;
|
|
9
|
-
|
|
10
|
-
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
11
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
12
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
13
|
-
r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
-
else
|
|
15
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
16
|
-
if (d = decorators[i])
|
|
17
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
};
|
|
20
|
-
const AtomicSearchLayout$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSearchLayout extends HTMLElement {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.__registerHost();
|
|
24
|
-
/**
|
|
25
|
-
* CSS value that defines where the layout goes from mobile to desktop.
|
|
26
|
-
* e.g., 800px, 65rem.
|
|
27
|
-
*/
|
|
28
|
-
this.mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;
|
|
29
|
-
this.mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;
|
|
30
|
-
}
|
|
31
|
-
componentDidLoad() {
|
|
32
|
-
const id = this.host.id || randomID('atomic-search-layout-');
|
|
33
|
-
this.host.id = id;
|
|
34
|
-
const styleTag = this.bindings.createStyleElement();
|
|
35
|
-
styleTag.innerHTML = buildSearchLayout(this.host, this.mobileBreakpoint);
|
|
36
|
-
this.host.appendChild(styleTag);
|
|
37
|
-
}
|
|
38
|
-
get host() { return this; }
|
|
39
|
-
static get style() { return AtomicSearchLayoutStyle0; }
|
|
40
|
-
}, [0, "atomic-search-layout", {
|
|
41
|
-
"mobileBreakpoint": [513, "mobile-breakpoint"]
|
|
42
|
-
}]);
|
|
43
|
-
__decorate([
|
|
44
|
-
InitializeBindings()
|
|
45
|
-
], AtomicSearchLayout$1.prototype, "bindings", void 0);
|
|
46
|
-
function defineCustomElement$1() {
|
|
47
|
-
if (typeof customElements === "undefined") {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const components = ["atomic-search-layout"];
|
|
51
|
-
components.forEach(tagName => { switch (tagName) {
|
|
52
|
-
case "atomic-search-layout":
|
|
53
|
-
if (!customElements.get(tagName)) {
|
|
54
|
-
customElements.define(tagName, AtomicSearchLayout$1);
|
|
55
|
-
}
|
|
56
|
-
break;
|
|
57
|
-
} });
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const AtomicSearchLayout = AtomicSearchLayout$1;
|
|
61
|
-
const defineCustomElement = defineCustomElement$1;
|
|
62
|
-
|
|
63
|
-
export { AtomicSearchLayout, defineCustomElement };
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=atomic-search-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"atomic-search-layout.js","mappings":";;;;;;AAAA,MAAM,qBAAqB,GAAG,mkIAAmkI,CAAC;AAClmI,iCAAe,qBAAqB;;;;;;;;;;;;MCiBvBA,oBAAkB;;;;;;;;QAQC,qBAAgB,GAAG,yBAAyB,CAAC;gCAA1B,yBAAyB;;IAGnE,gBAAgB;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACpD,QAAQ,CAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KACjC;;;;;;AAR4B;IAA5B,kBAAkB,EAAE;sDAA4B;;;;;;;;;;;;;;;;;;;;","names":["AtomicSearchLayout"],"sources":["src/components/search/atomic-layout/atomic-search-layout.pcss?tag=atomic-search-layout","src/components/search/atomic-layout/atomic-search-layout.tsx"],"sourcesContent":[".atomic-modal-opened {\n overflow-y: hidden;\n}\n\natomic-layout-section[section='search'] {\n grid-area: atomic-section-search;\n}\n\natomic-layout-section[section='facets'] {\n grid-area: atomic-section-facets;\n}\n\natomic-layout-section[section='main'] {\n grid-area: atomic-section-main;\n}\n\natomic-layout-section[section='status'] {\n grid-area: atomic-section-status;\n}\n\natomic-layout-section[section='pagination'] {\n grid-area: atomic-section-pagination;\n}\n\n/**\n * @prop --atomic-layout-max-search-box-input-width: The maximum width that the search box input will take.\n * @prop --atomic-layout-max-search-box-double-suggestions-width: The maximum width that the search box suggestions will take when displaying a double list.\n * @prop --atomic-layout-search-box-left-suggestions-width: When displaying a double list, the width of the left list.\n */\natomic-search-layout {\n width: 100%;\n height: 100%;\n display: none;\n grid-template-areas:\n '. atomic-section-search .'\n '. atomic-section-main .';\n grid-template-columns: var(--atomic-layout-spacing-x) minmax(0, 1fr) var(--atomic-layout-spacing-x);\n\n atomic-layout-section[section='search'] {\n margin: var(--atomic-layout-spacing-y) 0;\n max-width: var(--atomic-layout-max-search-box-input-width, 678px);\n width: 100%;\n justify-self: center;\n\n /* Only affects desktop */\n atomic-search-box {\n &::part(suggestions-double-list) {\n width: 125%;\n max-width: var(--atomic-layout-max-search-box-double-suggestions-width, 800px);\n }\n\n &::part(suggestions-left) {\n flex-basis: var(--atomic-layout-search-box-left-suggestions-width, 30%);\n }\n\n &::part(suggestions-right) {\n flex-basis: calc(100% - var(--atomic-layout-search-box-left-suggestions-width, 30%));\n }\n }\n }\n\n atomic-layout-section[section='facets'] {\n display: none;\n\n & * {\n margin-bottom: var(--atomic-layout-spacing-y);\n }\n }\n\n atomic-layout-section[section='main'] {\n margin-bottom: var(--atomic-layout-spacing-y);\n }\n\n atomic-layout-section[section='horizontal-facets'] {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: var(--atomic-layout-spacing-y);\n row-gap: 0.5rem;\n\n & > * {\n max-width: 100%;\n }\n\n & > atomic-segmented-facet,\n & > atomic-popover {\n margin-right: 0.5rem;\n }\n\n & > atomic-popover {\n display: none;\n }\n }\n\n atomic-layout-section[section='status'] {\n display: grid;\n justify-content: space-between;\n grid-template-areas:\n 'atomic-breadbox atomic-breadbox'\n 'atomic-query-summary atomic-sort'\n 'atomic-did-you-mean atomic-did-you-mean'\n 'atomic-notifications atomic-notifications';\n\n & > * {\n margin-bottom: var(--atomic-layout-spacing-y);\n }\n\n atomic-breadbox {\n grid-area: atomic-breadbox;\n }\n\n atomic-query-summary {\n grid-area: atomic-query-summary;\n align-self: center;\n overflow: hidden;\n }\n\n atomic-sort-dropdown {\n grid-area: atomic-sort;\n justify-self: end;\n }\n\n atomic-refine-toggle {\n grid-area: atomic-sort;\n }\n\n atomic-did-you-mean {\n grid-area: atomic-did-you-mean;\n }\n\n atomic-notifications {\n grid-area: atomic-notifications;\n }\n }\n\n atomic-layout-section[section='results'] {\n atomic-smart-snippet {\n margin-bottom: 1.5rem;\n }\n\n atomic-smart-snippet-suggestions {\n margin-bottom: 1.5rem;\n }\n }\n\n atomic-layout-section[section='pagination'] {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n\n atomic-load-more-results {\n width: 100%;\n }\n\n &:has(:only-child) {\n justify-content: center;\n }\n\n & > * {\n margin-top: var(--atomic-layout-spacing-y);\n }\n\n /* Approx. width of pager & results per page */\n @media only screen and (min-width: 50rem) {\n flex-direction: row;\n }\n }\n}\n","import {Component, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint';\nimport {randomID} from '../../../utils/utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {buildSearchLayout} from './search-layout';\n\n/**\n * The `atomic-search-layout` helps organize elements in the page.\n */\n@Component({\n tag: 'atomic-search-layout',\n styleUrl: 'atomic-search-layout.pcss',\n shadow: false,\n})\nexport class AtomicSearchLayout implements InitializableComponent<Bindings> {\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n /**\n * CSS value that defines where the layout goes from mobile to desktop.\n * e.g., 800px, 65rem.\n */\n @Prop({reflect: true}) public mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;\n @InitializeBindings() public bindings!: Bindings;\n\n public componentDidLoad() {\n const id = this.host.id || randomID('atomic-search-layout-');\n this.host.id = id;\n const styleTag = this.bindings.createStyleElement();\n styleTag.innerHTML = buildSearchLayout(this.host, this.mobileBreakpoint);\n this.host.appendChild(styleTag);\n }\n}\n"],"version":3}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { unsafeCSS } from 'lit';
|
|
8
|
-
import { buildCommerceLayout } from '../components/commerce/atomic-commerce-layout/commerce-layout';
|
|
9
|
-
import { injectStylesForNoShadowDOM } from '../decorators/inject-styles-for-no-shadow-dom';
|
|
10
|
-
import { randomID } from '../utils/utils';
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param superClass The class to extend, typically a LitElement.
|
|
14
|
-
* @param cssResult The CSSResult to inject into the component styles.
|
|
15
|
-
* @returns A new class that extends the provided superClass with the commerce layout mixin.
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* Any Lit component using this mixin MUST declare the following public properties:
|
|
19
|
-
* - `error: Error`
|
|
20
|
-
* - `mobileBreakpoint: string`
|
|
21
|
-
*/
|
|
22
|
-
export const CommerceLayoutMixin = (superClass, cssResult) => {
|
|
23
|
-
var CommerceLayoutMixinClass_1;
|
|
24
|
-
let CommerceLayoutMixinClass = CommerceLayoutMixinClass_1 = class CommerceLayoutMixinClass extends superClass {
|
|
25
|
-
// biome-ignore lint/suspicious/noExplicitAny: <>
|
|
26
|
-
constructor(...args) {
|
|
27
|
-
super(...args);
|
|
28
|
-
if (!this.id) {
|
|
29
|
-
this.id = randomID('atomic-commerce-layout-');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
connectedCallback() {
|
|
33
|
-
super.connectedCallback();
|
|
34
|
-
// @ts-expect-error: Casting to CommerceLayoutRequirements to access required properties (`error`, `mobileBreakpoint`) without changing the mixin's template type from LitElement. This keeps the mixin simple but handles invalid values.
|
|
35
|
-
const self = this;
|
|
36
|
-
if (self.mobileBreakpoint === undefined) {
|
|
37
|
-
self.error = new Error('The "mobileBreakpoint" property is not defined. Make sure the component is initialized with a valid value.');
|
|
38
|
-
}
|
|
39
|
-
const layout = unsafeCSS(buildCommerceLayout(this, self.mobileBreakpoint));
|
|
40
|
-
CommerceLayoutMixinClass_1.styles.unshift(layout);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
CommerceLayoutMixinClass.styles = [cssResult];
|
|
44
|
-
CommerceLayoutMixinClass = CommerceLayoutMixinClass_1 = __decorate([
|
|
45
|
-
injectStylesForNoShadowDOM
|
|
46
|
-
], CommerceLayoutMixinClass);
|
|
47
|
-
return CommerceLayoutMixinClass;
|
|
48
|
-
};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { s as sectionSelector, f as findSection } from './sections.js';
|
|
2
|
-
|
|
3
|
-
function makeDesktopQuery$1(mobileBreakpoint) {
|
|
4
|
-
return `only screen and (min-width: ${mobileBreakpoint})`;
|
|
5
|
-
}
|
|
6
|
-
function buildSearchLayoutCommon(element, mobileBreakpoint, layoutWebComponentTagName, containerWebComponentTagName, noItemsSelector, errorSelector, refineToggleSelector, sortDropdownSelector) {
|
|
7
|
-
const id = element.id;
|
|
8
|
-
const layoutSelector = `${layoutWebComponentTagName}#${id}`;
|
|
9
|
-
const cleanStatusSelector = `${containerWebComponentTagName}:not(.${noItemsSelector}, .${errorSelector})`;
|
|
10
|
-
const mediaQuerySelector = `@media ${makeDesktopQuery$1(mobileBreakpoint)}`;
|
|
11
|
-
const display = `${layoutSelector} { display: grid }`;
|
|
12
|
-
const search = `${mediaQuerySelector} {
|
|
13
|
-
${layoutSelector} ${sectionSelector('search')} {
|
|
14
|
-
justify-self: start;
|
|
15
|
-
width: 80%;
|
|
16
|
-
}
|
|
17
|
-
}`;
|
|
18
|
-
const facets = () => {
|
|
19
|
-
const facetsSection = findSection(element, 'facets');
|
|
20
|
-
const mainSection = findSection(element, 'main');
|
|
21
|
-
if (!facetsSection || !mainSection) {
|
|
22
|
-
return '';
|
|
23
|
-
}
|
|
24
|
-
const facetsMin = facetsSection.minWidth || '17rem';
|
|
25
|
-
const facetsMax = facetsSection.maxWidth || '22rem';
|
|
26
|
-
const mainMin = mainSection.minWidth || '50%';
|
|
27
|
-
const mainMax = mainSection.maxWidth || '70rem';
|
|
28
|
-
return `${mediaQuerySelector} {
|
|
29
|
-
${layoutSelector} {
|
|
30
|
-
grid-template-areas:
|
|
31
|
-
'. . atomic-section-search .'
|
|
32
|
-
'. atomic-section-main atomic-section-main .';
|
|
33
|
-
grid-template-columns:
|
|
34
|
-
1fr minmax(${facetsMin}, ${facetsMax}) minmax(${mainMin}, ${mainMax}) 1fr;
|
|
35
|
-
column-gap: var(--atomic-layout-spacing-x);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
${cleanStatusSelector} ${layoutSelector} {
|
|
39
|
-
grid-template-areas:
|
|
40
|
-
'. . atomic-section-search .'
|
|
41
|
-
'. atomic-section-facets atomic-section-main .'
|
|
42
|
-
'. atomic-section-facets . .';
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
${cleanStatusSelector} ${layoutSelector} ${sectionSelector('facets')} {
|
|
46
|
-
display: block;
|
|
47
|
-
}
|
|
48
|
-
}`;
|
|
49
|
-
};
|
|
50
|
-
const refine = () => {
|
|
51
|
-
const statusSection = findSection(element, 'status');
|
|
52
|
-
if (!statusSection) {
|
|
53
|
-
return '';
|
|
54
|
-
}
|
|
55
|
-
const refineToggle = statusSection.querySelector(refineToggleSelector);
|
|
56
|
-
if (!refineToggle) {
|
|
57
|
-
return '';
|
|
58
|
-
}
|
|
59
|
-
const statusSelector = `${layoutSelector} ${sectionSelector('status')}`;
|
|
60
|
-
return `${statusSelector} ${sortDropdownSelector} {
|
|
61
|
-
display: none;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
${mediaQuerySelector} {
|
|
65
|
-
${statusSelector} ${sortDropdownSelector} {
|
|
66
|
-
display: block;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
${statusSelector} ${refineToggleSelector} {
|
|
70
|
-
display: none;
|
|
71
|
-
}
|
|
72
|
-
}`;
|
|
73
|
-
};
|
|
74
|
-
const horizontalFacets = () => {
|
|
75
|
-
return `${mediaQuerySelector} {
|
|
76
|
-
${layoutSelector} ${sectionSelector('horizontal-facets')} > atomic-popover:not(.atomic-hidden) {
|
|
77
|
-
display: block;
|
|
78
|
-
}
|
|
79
|
-
}`;
|
|
80
|
-
};
|
|
81
|
-
return [display, search, facets(), refine(), horizontalFacets()]
|
|
82
|
-
.filter((declaration) => declaration !== '')
|
|
83
|
-
.join('\n\n');
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const layoutWebComponentTagName = 'atomic-search-layout';
|
|
87
|
-
const containerWebComponentTagName = 'atomic-search-interface';
|
|
88
|
-
const noResultsSelector = `${containerWebComponentTagName}-no-results`;
|
|
89
|
-
const errorSelector = `${containerWebComponentTagName}-error`;
|
|
90
|
-
const firstSearchExecutedSelector = `${containerWebComponentTagName}-search-executed`;
|
|
91
|
-
function makeDesktopQuery(mobileBreakpoint) {
|
|
92
|
-
return `only screen and (min-width: ${mobileBreakpoint})`;
|
|
93
|
-
}
|
|
94
|
-
function buildSearchLayout(element, mobileBreakpoint) {
|
|
95
|
-
return buildSearchLayoutCommon(element, mobileBreakpoint, layoutWebComponentTagName, containerWebComponentTagName, noResultsSelector, errorSelector, 'atomic-refine-toggle', 'atomic-sort-dropdown');
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export { buildSearchLayout as b, errorSelector as e, firstSearchExecutedSelector as f, makeDesktopQuery as m, noResultsSelector as n };
|
|
99
|
-
|
|
100
|
-
//# sourceMappingURL=search-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"search-layout.js","mappings":"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","names":["makeDesktopQuery"],"sources":["src/components/common/atomic-layout-section/search-layout.ts","src/components/search/atomic-layout/search-layout.ts"],"sourcesContent":["import {\n findSection,\n sectionSelector,\n} from '../../common/atomic-layout-section/sections';\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\nexport function buildSearchLayoutCommon(\n element: HTMLElement,\n mobileBreakpoint: string,\n layoutWebComponentTagName: string,\n containerWebComponentTagName: string,\n noItemsSelector: string,\n errorSelector: string,\n refineToggleSelector: string,\n sortDropdownSelector: string\n) {\n const id = element.id;\n const layoutSelector = `${layoutWebComponentTagName}#${id}`;\n const cleanStatusSelector = `${containerWebComponentTagName}:not(.${noItemsSelector}, .${errorSelector})`;\n const mediaQuerySelector = `@media ${makeDesktopQuery(mobileBreakpoint)}`;\n\n const display = `${layoutSelector} { display: grid }`;\n const search = `${mediaQuerySelector} {\n ${layoutSelector} ${sectionSelector('search')} {\n justify-self: start;\n width: 80%;\n }\n }`;\n\n const facets = () => {\n const facetsSection = findSection(element, 'facets');\n const mainSection = findSection(element, 'main');\n if (!facetsSection || !mainSection) {\n return '';\n }\n\n const facetsMin = facetsSection.minWidth || '17rem';\n const facetsMax = facetsSection.maxWidth || '22rem';\n const mainMin = mainSection.minWidth || '50%';\n const mainMax = mainSection.maxWidth || '70rem';\n\n return `${mediaQuerySelector} {\n ${layoutSelector} {\n grid-template-areas:\n '. . atomic-section-search .'\n '. atomic-section-main atomic-section-main .';\n grid-template-columns:\n 1fr minmax(${facetsMin}, ${facetsMax}) minmax(${mainMin}, ${mainMax}) 1fr;\n column-gap: var(--atomic-layout-spacing-x);\n }\n\n ${cleanStatusSelector} ${layoutSelector} {\n grid-template-areas:\n '. . atomic-section-search .'\n '. atomic-section-facets atomic-section-main .'\n '. atomic-section-facets . .';\n }\n\n ${cleanStatusSelector} ${layoutSelector} ${sectionSelector('facets')} {\n display: block;\n }\n }`;\n };\n\n const refine = (): string => {\n const statusSection = findSection(element, 'status');\n if (!statusSection) {\n return '';\n }\n\n const refineToggle = statusSection.querySelector(refineToggleSelector);\n if (!refineToggle) {\n return '';\n }\n\n const statusSelector = `${layoutSelector} ${sectionSelector('status')}`;\n return `${statusSelector} ${sortDropdownSelector} {\n display: none;\n }\n\n ${mediaQuerySelector} {\n ${statusSelector} ${sortDropdownSelector} {\n display: block;\n }\n\n ${statusSelector} ${refineToggleSelector} {\n display: none;\n }\n }`;\n };\n\n const horizontalFacets = () => {\n return `${mediaQuerySelector} {\n ${layoutSelector} ${sectionSelector(\n 'horizontal-facets'\n )} > atomic-popover:not(.atomic-hidden) {\n display: block;\n }\n }`;\n };\n\n return [display, search, facets(), refine(), horizontalFacets()]\n .filter((declaration) => declaration !== '')\n .join('\\n\\n');\n}\n","import {buildSearchLayoutCommon} from '../../common/atomic-layout-section/search-layout';\n\nexport const layoutWebComponentTagName = 'atomic-search-layout';\nexport const containerWebComponentTagName = 'atomic-search-interface';\nexport const noResultsSelector = `${containerWebComponentTagName}-no-results`;\nexport const errorSelector = `${containerWebComponentTagName}-error`;\nexport const firstSearchExecutedSelector = `${containerWebComponentTagName}-search-executed`;\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\nexport function buildSearchLayout(\n element: HTMLElement,\n mobileBreakpoint: string\n) {\n return buildSearchLayoutCommon(\n element,\n mobileBreakpoint,\n layoutWebComponentTagName,\n containerWebComponentTagName,\n noResultsSelector,\n errorSelector,\n 'atomic-refine-toggle',\n 'atomic-sort-dropdown'\n );\n}\n"],"version":3}
|