@coveo/atomic 3.35.0-pre.9ff9d0a5c9 → 3.35.0-pre.a26f9fce9b
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/components/atomic-category-facet.js +17 -7
- package/dist/atomic/components/atomic-category-facet.js.map +1 -1
- package/dist/atomic/components/atomic-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-result2.js +2 -3
- package/dist/atomic/components/atomic-insight-result2.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
- package/dist/atomic/components/atomic-recs-interface.js +1 -1
- package/dist/atomic/components/atomic-recs-list.js +1 -1
- package/dist/atomic/components/atomic-recs-result2.js +1 -2
- package/dist/atomic/components/atomic-recs-result2.js.map +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result2.js +1 -2
- package/dist/atomic/components/atomic-result2.js.map +1 -1
- package/dist/atomic/components/atomic-search-box.js +7 -3
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +3 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -0
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +3 -0
- package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +6 -1
- package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
- package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
- package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
- package/dist/atomic/components/components/common/layout/display-options.js +0 -28
- package/dist/atomic/components/components/common/layout/item-layout-controller.js +1 -1
- package/dist/atomic/components/components/common/layout/item-layout.js +29 -0
- package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
- package/dist/atomic/components/display-options.js +1 -30
- package/dist/atomic/components/display-options.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/{stencil-item-list-common.js → item-layout.js} +32 -2
- package/dist/atomic/components/item-layout.js.map +1 -0
- package/dist/atomic/components/stencil-suggestion-manager.js +1 -1
- package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
- package/dist/atomic/lang/cs.json +1 -1
- package/dist/atomic/lang/da.json +1 -1
- package/dist/atomic/lang/de.json +1 -1
- package/dist/atomic/lang/dev.json +1 -1
- package/dist/atomic/lang/el.json +1 -1
- package/dist/atomic/lang/en.json +1 -1
- package/dist/atomic/lang/es.json +1 -1
- package/dist/atomic/lang/fi.json +1 -1
- package/dist/atomic/lang/fr.json +1 -1
- package/dist/atomic/lang/hu.json +1 -1
- package/dist/atomic/lang/id.json +1 -1
- package/dist/atomic/lang/it.json +1 -1
- package/dist/atomic/lang/ja.json +1 -1
- package/dist/atomic/lang/ko.json +1 -1
- package/dist/atomic/lang/nl.json +1 -1
- package/dist/atomic/lang/no.json +1 -1
- package/dist/atomic/lang/pl.json +1 -1
- package/dist/atomic/lang/pt-BR.json +1 -1
- package/dist/atomic/lang/pt.json +1 -1
- package/dist/atomic/lang/ru.json +1 -1
- package/dist/atomic/lang/sv.json +1 -1
- package/dist/atomic/lang/th.json +1 -1
- package/dist/atomic/lang/tr.json +1 -1
- package/dist/atomic/lang/zh-CN.json +1 -1
- package/dist/atomic/lang/zh-TW.json +1 -1
- package/dist/atomic/lang/zh.json +1 -1
- package/dist/atomic/p-031c5d27.js +2 -0
- package/dist/atomic/p-031c5d27.js.map +1 -0
- package/dist/atomic/p-0b3198b8.entry.js +2 -0
- package/dist/atomic/p-0b3198b8.entry.js.map +1 -0
- package/dist/atomic/{p-61961f21.entry.js → p-2387e379.entry.js} +2 -2
- package/dist/atomic/{p-ff23598b.entry.js → p-2c8d8e83.entry.js} +2 -2
- package/dist/atomic/p-2c8d8e83.entry.js.map +1 -0
- package/dist/atomic/p-2c94b87e.js +2 -0
- package/dist/atomic/p-2c94b87e.js.map +1 -0
- package/dist/atomic/{p-72cdb9d8.entry.js → p-4ba1eb36.entry.js} +2 -2
- package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
- package/dist/atomic/p-5f3dd48d.js +2 -0
- package/dist/atomic/p-5f3dd48d.js.map +1 -0
- package/dist/atomic/p-66c5c9ee.entry.js +2 -0
- package/dist/atomic/{p-a9016629.entry.js.map → p-66c5c9ee.entry.js.map} +1 -1
- package/dist/atomic/{p-87eafe2f.entry.js → p-77727995.entry.js} +2 -2
- package/dist/atomic/p-8884c329.entry.js +2 -0
- package/dist/atomic/{p-582ce205.entry.js.map → p-8884c329.entry.js.map} +1 -1
- package/dist/atomic/p-8c0ea632.entry.js +2 -0
- package/dist/atomic/{p-d0937472.entry.js.map → p-8c0ea632.entry.js.map} +1 -1
- package/dist/atomic/p-af9dae70.entry.js +2 -0
- package/dist/atomic/{p-ae071697.entry.js.map → p-af9dae70.entry.js.map} +1 -1
- package/dist/atomic/p-b04df319.entry.js +2 -0
- package/dist/atomic/{p-e62caa78.entry.js.map → p-b04df319.entry.js.map} +1 -1
- package/dist/atomic/p-b0a14501.entry.js +2 -0
- package/dist/atomic/{p-d1fbb20a.entry.js.map → p-b0a14501.entry.js.map} +1 -1
- package/dist/atomic/p-d3f404a4.entry.js +2 -0
- package/dist/atomic/{p-fd7a8926.entry.js.map → p-d3f404a4.entry.js.map} +1 -1
- package/dist/atomic/p-e287e3f6.entry.js +2 -0
- package/dist/atomic/p-e287e3f6.entry.js.map +1 -0
- package/dist/atomic/p-f7e2c841.entry.js +2 -0
- package/dist/atomic/p-f7e2c841.entry.js.map +1 -0
- package/dist/cjs/atomic-category-facet.cjs.entry.js +17 -7
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +4 -3
- package/dist/cjs/atomic-insight-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-result.cjs.entry.js +3 -2
- package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -2
- package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -2
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js +3 -2
- package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-box.cjs.entry.js +8 -4
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/{display-options-10f84088.js → display-options-12b25742.js} +1 -31
- package/dist/cjs/display-options-12b25742.js.map +1 -0
- package/dist/cjs/item-layout-edcf5884.js +36 -0
- package/dist/cjs/item-layout-edcf5884.js.map +1 -0
- package/dist/cjs/{stencil-suggestion-manager-83efa596.js → stencil-suggestion-manager-62c42aa3.js} +2 -2
- package/dist/cjs/stencil-suggestion-manager-62c42aa3.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/atomic-category-facet.entry.js +17 -7
- package/dist/esm/atomic-category-facet.entry.js.map +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +1 -2
- package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -2
- package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +1 -2
- package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result.entry.js +3 -2
- package/dist/esm/atomic-insight-result.entry.js.map +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +1 -2
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +1 -2
- package/dist/esm/atomic-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-recs-result.entry.js +2 -1
- package/dist/esm/atomic-recs-result.entry.js.map +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -2
- package/dist/esm/atomic-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +1 -2
- package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
- package/dist/esm/atomic-result.entry.js +2 -1
- package/dist/esm/atomic-result.entry.js.map +1 -1
- package/dist/esm/atomic-search-box.entry.js +8 -4
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/{display-options-b7c33617.js → display-options-2dd6db0e.js} +2 -31
- package/dist/esm/display-options-2dd6db0e.js.map +1 -0
- package/dist/esm/item-layout-0df032fe.js +34 -0
- package/dist/esm/item-layout-0df032fe.js.map +1 -0
- package/dist/esm/{stencil-suggestion-manager-c1c4298e.js → stencil-suggestion-manager-3d2eea75.js} +2 -2
- package/dist/esm/stencil-suggestion-manager-3d2eea75.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -0
- package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +2 -0
- package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
- package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
- package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
- package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
- package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +1 -0
- package/dist/types/components/common/layout/display-options.d.ts +0 -10
- package/dist/types/components/common/layout/item-layout-controller.d.ts +2 -1
- package/dist/types/components/common/layout/item-layout.d.ts +11 -0
- package/dist/types/components/insight/atomic-insight-result/atomic-insight-result.d.ts +1 -1
- package/dist/types/components/recommendations/atomic-recs-result/atomic-recs-result.d.ts +1 -1
- package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
- package/dist/types/components.d.ts +10 -8
- package/dist/types/directives/hierarchical-path.d.ts +1 -1
- package/docs/atomic-docs.json +4 -4
- package/package.json +5 -8
- package/dist/atomic/components/stencil-item-list-common.js.map +0 -1
- package/dist/atomic/p-3ef52afa.js +0 -2
- package/dist/atomic/p-3ef52afa.js.map +0 -1
- package/dist/atomic/p-582ce205.entry.js +0 -2
- package/dist/atomic/p-72cdb9d8.entry.js.map +0 -1
- package/dist/atomic/p-a9016629.entry.js +0 -2
- package/dist/atomic/p-aa290a01.js +0 -2
- package/dist/atomic/p-aa290a01.js.map +0 -1
- package/dist/atomic/p-ae071697.entry.js +0 -2
- package/dist/atomic/p-b06de6f8.entry.js +0 -2
- package/dist/atomic/p-b06de6f8.entry.js.map +0 -1
- package/dist/atomic/p-d0937472.entry.js +0 -2
- package/dist/atomic/p-d1fbb20a.entry.js +0 -2
- package/dist/atomic/p-e62caa78.entry.js +0 -2
- package/dist/atomic/p-f654697b.entry.js +0 -2
- package/dist/atomic/p-f654697b.entry.js.map +0 -1
- package/dist/atomic/p-f800678c.entry.js +0 -2
- package/dist/atomic/p-f800678c.entry.js.map +0 -1
- package/dist/atomic/p-fd7a8926.entry.js +0 -2
- package/dist/atomic/p-ff23598b.entry.js.map +0 -1
- package/dist/cjs/display-options-10f84088.js.map +0 -1
- package/dist/cjs/stencil-suggestion-manager-83efa596.js.map +0 -1
- package/dist/esm/display-options-b7c33617.js.map +0 -1
- package/dist/esm/stencil-suggestion-manager-c1c4298e.js.map +0 -1
- /package/dist/atomic/{p-61961f21.entry.js.map → p-2387e379.entry.js.map} +0 -0
- /package/dist/atomic/{p-87eafe2f.entry.js.map → p-77727995.entry.js.map} +0 -0
@@ -1,7 +1,6 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
2
2
|
import { p as parentNodeToString } from './dom-utils.js';
|
3
|
-
import { r as resultComponentClass } from './
|
4
|
-
import { I as ItemLayout } from './display-options.js';
|
3
|
+
import { a as ItemLayout, r as resultComponentClass } from './item-layout.js';
|
5
4
|
|
6
5
|
const atomicResultCss = "/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */\n@layer properties;\natomic-result-section-badges {\n text-align: left;\n}\natomic-result-section-actions {\n text-align: right;\n}\natomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n}\natomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.5rem;\n}\n@layer components {\n :host :host {\n font-family: var(--atomic-font-family);\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n :host atomic-result-section-badges {\n text-align: left;\n }\n :host atomic-result-section-actions {\n text-align: left;\n }\n :host atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.5rem;\n }\n :host .result-root.with-sections {\n display: grid;\n justify-items: stretch;\n }\n :host .result-root.with-sections atomic-result-section-visual {\n grid-area: visual;\n }\n :host .result-root.with-sections atomic-result-section-badges {\n grid-area: badges;\n }\n :host .result-root.with-sections atomic-result-section-actions {\n grid-area: actions;\n }\n :host .result-root.with-sections atomic-result-section-actions atomic-result-quickview {\n display: inline-block;\n }\n :host .result-root.with-sections atomic-result-section-title {\n grid-area: title;\n color: var(--atomic-on-background);\n }\n :host .result-root.with-sections atomic-result-section-title-metadata {\n grid-area: title-metadata;\n }\n :host .result-root.with-sections atomic-result-section-emphasized {\n grid-area: emphasized;\n }\n :host .result-root.with-sections atomic-result-section-excerpt {\n grid-area: excerpt;\n color: var(--atomic-neutral-dark);\n }\n :host .result-root.with-sections atomic-result-section-bottom-metadata {\n grid-area: bottom-metadata;\n color: var(--atomic-neutral-dark);\n }\n :host .result-root.with-sections atomic-result-section-children {\n grid-area: children;\n }\n :host .result-root.with-sections atomic-result-section-badges, :host .result-root.with-sections atomic-result-section-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n max-height: calc(2 * var(--row-height, 2rem) + 0.5rem);\n }\n :host .result-root.with-sections atomic-result-section-visual, :host .result-root.with-sections atomic-result-section-badges, :host .result-root.with-sections atomic-result-section-actions, :host .result-root.with-sections atomic-result-section-title, :host .result-root.with-sections atomic-result-section-title-metadata, :host .result-root.with-sections atomic-result-section-emphasized, :host .result-root.with-sections atomic-result-section-excerpt, :host .result-root.with-sections atomic-result-section-bottom-metadata {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n :host .result-root.with-sections.image-icon atomic-result-section-visual {\n border-radius: var(--atomic-border-radius);\n }\n @media (width >= 1024px) {\n :host .result-root.with-sections.display-list.image-large.density-compact atomic-result-section-visual {\n width: 10.25rem;\n height: 10.25rem;\n }\n :host .result-root.with-sections.display-list atomic-result-section-children atomic-result-children::part(children-root), :host .result-root.with-sections.display-list atomic-result-section-children atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-visual {\n margin-right: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-actions {\n margin-bottom: 1.5rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-excerpt {\n margin-top: 1.75rem;\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-bottom-metadata {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 1.25rem;\n padding: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 1.25rem;\n padding: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-list.density-normal atomic-result-section-actions {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-excerpt {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-bottom-metadata {\n margin-top: 0.875rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.875rem;\n padding: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-list.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.875rem;\n padding: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-list.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-list.density-compact atomic-result-section-actions {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-excerpt {\n margin-top: 1rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-bottom-metadata {\n margin-top: 0.6875rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.25rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.475rem;\n padding: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.475rem;\n padding: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.image-large, :host .result-root.with-sections.display-list.image-small {\n grid-template-areas: 'badges badges . actions' 'visual title title title' 'visual title-metadata title-metadata title-metadata' 'visual emphasized emphasized emphasized' 'visual excerpt excerpt excerpt' 'visual bottom-metadata bottom-metadata bottom-metadata' 'visual children children children';\n grid-template-columns: minmax(0, min-content) auto 1fr auto;\n grid-template-rows: repeat(6, auto) minmax(0, 1fr);\n }\n :host .result-root.with-sections.display-list.image-large.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-list.image-large.density-normal atomic-result-section-visual {\n width: 20.375rem;\n height: 20.375rem;\n }\n :host .result-root.with-sections.display-list.image-small atomic-result-section-visual, :host .result-root.with-sections.display-list.image-large.density-compact atomic-result-section-visual {\n width: 10rem;\n height: 10rem;\n }\n :host .result-root.with-sections.display-list.image-icon {\n grid-template-areas: 'badges badges . actions' 'visual title title title' 'visual title-metadata title-metadata title-metadata' 'visual emphasized emphasized emphasized' 'visual excerpt excerpt excerpt' 'visual bottom-metadata bottom-metadata bottom-metadata' 'visual children children children';\n grid-template-columns: minmax(0, min-content) auto 1fr auto;\n grid-template-rows: repeat(7, minmax(0, min-content));\n }\n :host .result-root.with-sections.display-list.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-list.image-none {\n grid-template-areas: 'badges . actions' 'title title title' 'title-metadata title-metadata title-metadata' 'emphasized emphasized emphasized' 'excerpt excerpt excerpt' 'bottom-metadata bottom-metadata bottom-metadata' 'children children children';\n grid-template-columns: auto 1fr auto;\n grid-template-rows: repeat(6, auto);\n }\n :host .result-root.with-sections.display-list.image-none atomic-result-section-visual {\n display: none;\n }\n }\n @media not all and (width >= 1024px) {\n :host .result-root.with-sections.display-list atomic-result-section-children atomic-result-children::part(children-root), :host .result-root.with-sections.display-list atomic-result-section-children atomic-insight-result-children::part(children-root) {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n border-top-color: var(--atomic-neutral);\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-actions {\n margin-top: 1rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-excerpt {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-bottom-metadata {\n margin-top: 0.75rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(children-root) {\n padding-top: 1.75rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(children-root) {\n padding-top: 1.75rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-list.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-actions {\n margin-top: 0.75rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-excerpt {\n margin-top: 1rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-bottom-metadata {\n margin-top: 0.625rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(children-root) {\n padding-top: 1.5rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-list.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(children-root) {\n padding-top: 1.5rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-list.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-actions {\n margin-top: 0.5em;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-excerpt {\n margin-top: 0.75rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-bottom-metadata {\n margin-top: 0.4375rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.25rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(children-root) {\n padding-top: 1rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(children-root) {\n padding-top: 1rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-list.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-list.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-list.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-list.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.image-large {\n grid-template-areas: 'visual' 'badges' 'title' 'title-metadata' 'emphasized' 'excerpt' 'bottom-metadata' 'actions' 'children';\n grid-template-columns: 100%;\n grid-template-rows: repeat(8, auto);\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-list.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-list.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n :host .result-root.with-sections.display-list.image-large atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-list.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n :host .result-root.with-sections.display-list.image-large atomic-result-section-visual {\n width: 100%;\n margin-right: 0;\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.image-small {\n grid-template-areas: 'badges badges' 'visual title' 'visual title-metadata' 'visual emphasized' 'visual .' 'excerpt excerpt' 'bottom-metadata bottom-metadata' 'actions actions' 'children children';\n grid-template-columns: auto minmax(0, 1fr);\n grid-template-rows: repeat(4, auto) minmax(0, 1fr) repeat(3, auto);\n }\n :host .result-root.with-sections.display-list.image-small atomic-result-section-visual {\n width: 24vw;\n height: 24vw;\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-list.image-icon {\n grid-template-areas: 'badges badges' 'visual title' 'visual title-metadata' 'visual emphasized' 'visual excerpt' 'visual bottom-metadata' 'visual actions' 'visual children';\n grid-template-columns: auto minmax(0, 1fr);\n grid-template-rows: repeat(7, auto) 1fr;\n }\n :host .result-root.with-sections.display-list.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n margin-bottom: 0;\n }\n :host .result-root.with-sections.display-list.image-none {\n grid-template-areas: 'badges' 'title' 'title-metadata' 'emphasized' 'excerpt' 'bottom-metadata' 'actions' 'children';\n grid-template-columns: 100%;\n grid-template-rows: repeat(7, auto);\n }\n :host .result-root.with-sections.display-list.image-none atomic-result-section-visual {\n display: none;\n }\n }\n :host .result-root.with-sections.display-grid a, :host .result-root.with-sections.display-grid button {\n position: relative;\n }\n @media (width >= 1024px) {\n :host .result-root.with-sections.display-grid.image-large {\n grid-template-areas: 'badges' 'visual' 'title' 'title-metadata' 'emphasized' 'excerpt' 'children' 'bottom-metadata' 'actions';\n grid-template-columns: 100%;\n grid-template-rows: repeat(9, auto);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-large.density-comfortable.image-small atomic-result-section-visual {\n margin: 0 auto 2rem auto;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable.image-icon atomic-result-section-badges {\n margin-bottom: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-actions {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 2.25rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-excerpt {\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 2.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-large.density-normal.image-small atomic-result-section-visual {\n margin: 0 auto 1.5rem auto;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal.image-icon atomic-result-section-badges {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-actions {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.375rem;\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-large.density-compact.image-small atomic-result-section-visual {\n margin: 0 auto 1rem auto;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact.image-icon atomic-result-section-badges {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-actions {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.9375rem;\n max-height: 3.25rem;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-badges {\n margin-bottom: 1rem;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-large.image-none atomic-result-section-visual {\n display: none;\n }\n }\n @media not all and (width >= 1024px) {\n :host .result-root.with-sections.display-grid.image-large atomic-result-section-children atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large atomic-result-section-children atomic-insight-result-children::part(children-root) {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n border-top-color: var(--atomic-neutral);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-actions {\n margin-top: 1rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-excerpt {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-bottom-metadata {\n margin-top: 0.75rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-insight-result-children::part(children-root) {\n padding-top: 1.75rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-insight-result-children::part(children-root) {\n padding-top: 1.75rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-actions {\n margin-top: 0.75rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-excerpt {\n margin-top: 1rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-bottom-metadata {\n margin-top: 0.625rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-normal atomic-insight-result-children::part(children-root) {\n padding-top: 1.5rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-normal atomic-insight-result-children::part(children-root) {\n padding-top: 1.5rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-badges {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-actions {\n margin-top: 0.5em;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-excerpt {\n margin-top: 0.75rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-bottom-metadata {\n margin-top: 0.4375rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.25rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-compact atomic-insight-result-children::part(children-root) {\n padding-top: 1rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-grid.image-large.density-compact atomic-insight-result-children::part(children-root) {\n padding-top: 1rem;\n margin-inline: calc(0.25rem * -4);\n margin-top: calc(0.25rem * 4);\n padding-inline: calc(0.25rem * 4);\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-grid.image-large.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-large.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-grid.image-large.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.image-large {\n grid-template-areas: 'visual' 'badges' 'title' 'title-metadata' 'emphasized' 'excerpt' 'bottom-metadata' 'actions' 'children';\n grid-template-columns: 100%;\n grid-template-rows: repeat(8, auto);\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n height: 7.25rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-large.image-large atomic-result-section-visual {\n width: 100%;\n margin-right: 0;\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.image-small {\n grid-template-areas: 'badges badges' 'visual title' 'visual title-metadata' 'visual emphasized' 'visual .' 'excerpt excerpt' 'bottom-metadata bottom-metadata' 'actions actions' 'children children';\n grid-template-columns: auto minmax(0, 1fr);\n grid-template-rows: repeat(4, auto) minmax(0, 1fr) repeat(3, auto);\n }\n :host .result-root.with-sections.display-grid.image-large.image-small atomic-result-section-visual {\n width: 24vw;\n height: 24vw;\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-large.image-icon {\n grid-template-areas: 'badges badges' 'visual title' 'visual title-metadata' 'visual emphasized' 'visual excerpt' 'visual bottom-metadata' 'visual actions' 'visual children';\n grid-template-columns: auto minmax(0, 1fr);\n grid-template-rows: repeat(7, auto) 1fr;\n }\n :host .result-root.with-sections.display-grid.image-large.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n margin-bottom: 0;\n }\n :host .result-root.with-sections.display-grid.image-large.image-none {\n grid-template-areas: 'badges' 'title' 'title-metadata' 'emphasized' 'excerpt' 'bottom-metadata' 'actions' 'children';\n grid-template-columns: 100%;\n grid-template-rows: repeat(7, auto);\n }\n :host .result-root.with-sections.display-grid.image-large.image-none atomic-result-section-visual {\n display: none;\n }\n }\n @media (width >= 1024px) {\n :host .result-root.with-sections.display-grid.image-small, :host .result-root.with-sections.display-grid.image-icon, :host .result-root.with-sections.display-grid.image-none {\n grid-template-areas: 'badges' 'visual' 'title' 'title-metadata' 'emphasized' 'excerpt' 'children' 'bottom-metadata' 'actions';\n grid-template-columns: 100%;\n grid-template-rows: repeat(9, auto);\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-small.density-comfortable.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable.image-small atomic-result-section-visual {\n margin: 0 auto 2rem auto;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-comfortable.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-comfortable.image-icon atomic-result-section-badges {\n margin-bottom: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-actions {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 2.25rem;\n --row-height: 2.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-excerpt {\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 2.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-small.density-normal.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal.image-small atomic-result-section-visual {\n margin: 0 auto 1.5rem auto;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-normal.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-normal.image-icon atomic-result-section-badges {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-actions {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.75rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.375rem;\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-small.density-compact.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact.image-small atomic-result-section-visual {\n margin: 0 auto 1rem auto;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-icon atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-compact.image-icon atomic-result-section-badges {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-actions {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n word-break: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.9375rem;\n max-height: 3.25rem;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-visual {\n height: 19.75rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-small.image-large atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.image-large atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.image-large atomic-result-section-badges {\n margin-bottom: 1rem;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 14rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-small.image-none atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-none atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-none atomic-result-section-visual {\n display: none;\n }\n }\n @media not all and (width >= 1024px) {\n :host .result-root.with-sections.display-grid.image-small, :host .result-root.with-sections.display-grid.image-icon, :host .result-root.with-sections.display-grid.image-none {\n grid-template-areas: 'badges' 'visual' 'title' 'title-metadata' 'emphasized' 'excerpt' 'children' 'bottom-metadata' 'actions';\n grid-template-columns: 100%;\n grid-template-rows: repeat(9, auto);\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-visual {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-comfortable.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-comfortable.image-small atomic-result-section-visual {\n width: 10.25rem;\n height: 10.25rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-actions {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1rem;\n max-height: 3rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-comfortable atomic-result-section-children, :host .result-root.with-sections.display-grid.image-icon.density-comfortable atomic-result-section-children, :host .result-root.with-sections.display-grid.image-none.density-comfortable atomic-result-section-children {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1.25rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-visual {\n margin-bottom: 0.75rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-normal.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-normal.image-small atomic-result-section-visual {\n width: 10.25rem;\n height: 10.25rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-actions {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.75rem;\n max-height: 3rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-normal atomic-result-section-children, :host .result-root.with-sections.display-grid.image-icon.density-normal atomic-result-section-children, :host .result-root.with-sections.display-grid.image-none.density-normal atomic-result-section-children {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 1rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-visual {\n margin-bottom: 0.5rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-large atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact.image-large atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.density-compact.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.density-compact.image-small atomic-result-section-visual {\n width: 10.25rem;\n height: 10.25rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-badges {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-actions, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-actions {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.75rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-title, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-title, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-title-metadata, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-title-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-emphasized, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-emphasized {\n font-weight: 500;\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-excerpt, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-excerpt {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.75rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-bottom-metadata, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-bottom-metadata {\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.5rem;\n max-height: 3rem;\n }\n :host .result-root.with-sections.display-grid.image-small.density-compact atomic-result-section-children, :host .result-root.with-sections.display-grid.image-icon.density-compact atomic-result-section-children, :host .result-root.with-sections.display-grid.image-none.density-compact atomic-result-section-children {\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n margin-top: 0.75rem;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 9rem;\n }\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 9rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n aspect-ratio: 1 / 1;\n height: auto;\n }\n @supports not (aspect-ratio: 1 / 1) {\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n height: 9rem;\n }\n }\n :host .result-root.with-sections.display-grid.image-small.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-small atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-small atomic-result-section-visual {\n width: 100%;\n }\n :host .result-root.with-sections.display-grid.image-small.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-icon atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-grid.image-small.image-none atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-icon.image-none atomic-result-section-visual, :host .result-root.with-sections.display-grid.image-none.image-none atomic-result-section-visual {\n display: none;\n }\n }\n :host .result-root.with-sections.display-table.image-large.density-compact atomic-result-section-visual {\n width: 10.25rem;\n height: 10.25rem;\n }\n :host .result-root.with-sections.display-table atomic-result-section-children atomic-result-children::part(children-root), :host .result-root.with-sections.display-table atomic-result-section-children atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-visual {\n margin-right: 1.5rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-badges, :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-actions {\n margin-bottom: 1.5rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-title {\n --font-size: var(--atomic-text-2xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-excerpt {\n margin-top: 1.75rem;\n --font-size: var(--atomic-text-lg);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-bottom-metadata {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 4rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-comfortable atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 1.25rem;\n padding: 1.75rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-comfortable atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 1.25rem;\n padding: 1.75rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-comfortable atomic-insight-result-children::part(show-hide-button) {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n :host .result-root.with-sections.display-table.density-comfortable.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-comfortable .placeholder {\n margin-bottom: 1.75rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-badges, :host .result-root.with-sections.display-table.density-normal atomic-result-section-actions {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-excerpt {\n margin-top: 1.25rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 2.5rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-bottom-metadata {\n margin-top: 0.875rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.5rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-normal atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.875rem;\n padding: 1.5rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-table.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-normal atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.875rem;\n padding: 1.5rem;\n }\n :host .result-root.with-sections.display-table.density-normal atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-normal atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.875rem;\n margin-bottom: 0.875rem;\n }\n :host .result-root.with-sections.display-table.density-normal.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-normal .placeholder {\n margin-bottom: 1.5rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-visual {\n margin-right: 1rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-badges, :host .result-root.with-sections.display-table.density-compact atomic-result-section-actions {\n margin-bottom: 1rem;\n --row-height: 2rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-title {\n --font-size: var(--atomic-text-xl);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-excerpt {\n margin-top: 1rem;\n --font-size: var(--atomic-text-base);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 1.25rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-bottom-metadata {\n margin-top: 0.6875rem;\n --font-size: var(--atomic-text-sm);\n font-size: var(--font-size);\n --line-height: calc(var(--font-size) * var(--atomic-line-height-ratio));\n line-height: var(--line-height);\n max-height: 3.25rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-section-title-metadata {\n margin-top: 0.475rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-compact atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.475rem;\n padding: 1rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-table.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-children::part(children-root), :host .result-root.with-sections.display-table.density-compact atomic-insight-result-children::part(children-root) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n border-radius: 16px;\n margin-top: 0.475rem;\n padding: 1rem;\n }\n :host .result-root.with-sections.display-table.density-compact atomic-result-children::part(show-hide-button), :host .result-root.with-sections.display-table.density-compact atomic-insight-result-children::part(show-hide-button) {\n margin-top: 0.475rem;\n margin-bottom: 0.475rem;\n }\n :host .result-root.with-sections.display-table.density-compact.child-result:not(.last-child), :host .result-root.with-sections.display-table.density-compact .placeholder {\n margin-bottom: 1rem;\n }\n :host .result-root.with-sections.display-table.image-large, :host .result-root.with-sections.display-table.image-small {\n grid-template-areas: 'badges badges . actions' 'visual title title title' 'visual title-metadata title-metadata title-metadata' 'visual emphasized emphasized emphasized' 'visual excerpt excerpt excerpt' 'visual bottom-metadata bottom-metadata bottom-metadata' 'visual children children children';\n grid-template-columns: minmax(0, min-content) auto 1fr auto;\n grid-template-rows: repeat(6, auto) minmax(0, 1fr);\n }\n :host .result-root.with-sections.display-table.image-large.density-comfortable atomic-result-section-visual, :host .result-root.with-sections.display-table.image-large.density-normal atomic-result-section-visual {\n width: 20.375rem;\n height: 20.375rem;\n }\n :host .result-root.with-sections.display-table.image-small atomic-result-section-visual, :host .result-root.with-sections.display-table.image-large.density-compact atomic-result-section-visual {\n width: 10rem;\n height: 10rem;\n }\n :host .result-root.with-sections.display-table.image-icon {\n grid-template-areas: 'badges badges . actions' 'visual title title title' 'visual title-metadata title-metadata title-metadata' 'visual emphasized emphasized emphasized' 'visual excerpt excerpt excerpt' 'visual bottom-metadata bottom-metadata bottom-metadata' 'visual children children children';\n grid-template-columns: minmax(0, min-content) auto 1fr auto;\n grid-template-rows: repeat(7, minmax(0, min-content));\n }\n :host .result-root.with-sections.display-table.image-icon atomic-result-section-visual {\n width: 2rem;\n height: 2rem;\n }\n :host .result-root.with-sections.display-table.image-none {\n grid-template-areas: 'badges . actions' 'title title title' 'title-metadata title-metadata title-metadata' 'emphasized emphasized emphasized' 'excerpt excerpt excerpt' 'bottom-metadata bottom-metadata bottom-metadata' 'children children children';\n grid-template-columns: auto 1fr auto;\n grid-template-rows: repeat(6, auto);\n }\n :host .result-root.with-sections.display-table.image-none atomic-result-section-visual {\n display: none;\n }\n :host .result-root atomic-table-element {\n display: none;\n }\n :host .link-container {\n display: none;\n }\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-font-weight: initial;\n --tw-border-style: solid;\n }\n }\n}\n";
|
7
6
|
const AtomicResultStyle0 = atomicResultCss;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-result2.js","mappings":"
|
1
|
+
{"file":"atomic-result2.js","mappings":"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","names":[],"sources":["src/components/search/atomic-result/atomic-result.pcss?tag=atomic-result&encapsulation=shadow","src/components/search/atomic-result/atomic-result.tsx"],"sourcesContent":["@import '../../common/template-system/template-system.pcss';\n\n:host {\n @apply atomic-template-system;\n}\n","import {FoldedResult, InteractiveResult, Result} from '@coveo/headless';\nimport {Component, h, Prop, Element, Listen, Host} from '@stencil/core';\nimport {parentNodeToString} from '../../../utils/dom-utils';\nimport {DisplayConfig} from '../../common/item-list/stencil-item-decorators';\nimport {\n ItemRenderingFunction,\n resultComponentClass,\n} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../../common/layout/display-options';\nimport {SearchStore} from '../atomic-search-interface/store';\nimport {\n InteractiveResultContextEvent,\n ResultContextEvent,\n} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\nimport { ItemLayout } from '@/src/components/common/layout/item-layout';\n\n/**\n * The `atomic-result` component is used internally by the `atomic-result-list` component.\n */\n@Component({\n tag: 'atomic-result',\n styleUrl: 'atomic-result.pcss',\n shadow: true,\n})\nexport class AtomicResult {\n private layout!: ItemLayout;\n\n @Element() host!: HTMLElement;\n\n /**\n * Whether an atomic-result-link inside atomic-result should stop click event propagation.\n */\n @Prop() stopPropagation?: boolean;\n\n /**\n * The result item.\n */\n @Prop() result!: Result | FoldedResult;\n\n /**\n * The InteractiveResult item.\n * @internal\n */\n @Prop() interactiveResult!: InteractiveResult;\n\n /**\n * Global Atomic state.\n * @internal\n */\n @Prop() store?: SearchStore;\n\n /**\n * The result content to display.\n */\n @Prop() content?: ParentNode;\n\n /**\n * The result link to use when the result is clicked in a grid layout.\n *\n * @default - An `atomic-result-link` without any customization.\n */\n @Prop() linkContent: ParentNode = new DocumentFragment();\n\n /**\n * How results should be displayed.\n */\n @Prop() display: ItemDisplayLayout = 'list';\n\n /**\n * How large or small results should be.\n */\n @Prop() density: ItemDisplayDensity = 'normal';\n\n /**\n * The size of the visual section in result list items.\n *\n * This is overwritten by the image size defined in the result content, if it exists.\n */\n @Prop() imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The classes to add to the result element.\n */\n @Prop() classes = '';\n\n /**\n * @internal\n */\n @Prop() loadingFlag?: string;\n\n /**\n * Internal function used by atomic-recs-list in advanced setups, which lets you bypass the standard HTML template system.\n * Particularly useful for Atomic React\n *\n * @internal\n */\n @Prop() renderingFunction: ItemRenderingFunction;\n\n private resultRootRef?: HTMLElement;\n private linkContainerRef?: HTMLElement;\n private executedRenderingFunctionOnce = false;\n\n @Listen('atomic/resolveResult')\n public resolveResult(event: ResultContextEvent<FoldedResult | Result>) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.result);\n }\n\n @Listen('atomic/resolveInteractiveResult')\n public resolveInteractiveResult(event: InteractiveResultContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.interactiveResult) {\n event.detail(this.interactiveResult);\n }\n }\n\n @Listen('atomic/resolveStopPropagation')\n public resolveStopPropagation(event: CustomEvent) {\n event.detail(this.stopPropagation);\n }\n\n @Listen('atomic/resolveResultDisplayConfig')\n public resolveResultDisplayConfig(event: ResultContextEvent<DisplayConfig>) {\n event.preventDefault();\n event.stopPropagation();\n event.detail({\n density: this.density,\n imageSize: this.imageSize!,\n });\n }\n\n @Listen('click')\n public handleClick(event: MouseEvent) {\n if (this.stopPropagation) {\n event.stopPropagation();\n }\n this.host\n .shadowRoot!.querySelector<HTMLAnchorElement>(\n '.link-container > atomic-result-link a:not([slot])'\n )\n ?.click();\n }\n\n public connectedCallback() {\n this.layout = new ItemLayout(\n this.content!.children,\n this.display,\n this.density,\n this.imageSize\n );\n }\n\n private get isCustomRenderFunctionMode() {\n return this.renderingFunction !== undefined;\n }\n\n private getContentHTML() {\n return parentNodeToString(this.content!);\n }\n\n private getLinkHTML() {\n return parentNodeToString(this.linkContent);\n }\n\n private shouldExecuteRenderFunction() {\n return (\n this.isCustomRenderFunctionMode &&\n this.resultRootRef &&\n !this.executedRenderingFunctionOnce\n );\n }\n\n public render() {\n if (this.isCustomRenderFunctionMode) {\n return (\n <Host class={resultComponentClass}>\n <div\n class=\"result-root\"\n ref={(ref) => (this.resultRootRef = ref)}\n ></div>\n <div\n class=\"link-container\"\n ref={(ref) => (this.linkContainerRef = ref)}\n ></div>\n </Host>\n );\n }\n return (\n <Host class={resultComponentClass}>\n <div\n class={`result-root ${this.layout\n .getClasses()\n .concat(this.classes)\n .join(' ')}`}\n innerHTML={this.getContentHTML()}\n ></div>\n <div class=\"link-container\" innerHTML={this.getLinkHTML()}></div>\n </Host>\n );\n }\n\n public componentDidLoad() {\n if (this.loadingFlag && this.store) {\n this.store.unsetLoadingFlag(this.loadingFlag);\n }\n this.host.classList.add('hydrated');\n }\n\n public componentDidRender() {\n if (this.shouldExecuteRenderFunction()) {\n const customRenderOutputAsString = this.renderingFunction!(\n this.result,\n this.resultRootRef!,\n this.linkContainerRef!\n );\n\n this.resultRootRef!.className += ` ${this.layout\n .getClasses(customRenderOutputAsString)\n .concat(this.classes)\n .join(' ')}`;\n\n this.executedRenderingFunctionOnce = true;\n }\n this.host.classList.add('hydrated');\n }\n}\n"],"version":3}
|
@@ -101,6 +101,7 @@ const AtomicSearchBox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBox
|
|
101
101
|
onInput: (e) => this.onInput(e.target.value),
|
102
102
|
onKeyDown: (e) => this.onKeyDown(e),
|
103
103
|
onClear: () => {
|
104
|
+
this.announceClearSearchBoxToScreenReader();
|
104
105
|
this.searchBox.clear();
|
105
106
|
this.suggestionManager.clearSuggestions();
|
106
107
|
},
|
@@ -409,6 +410,9 @@ const AtomicSearchBox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBox
|
|
409
410
|
this.suggestionsAriaMessage = ariaLabel;
|
410
411
|
}
|
411
412
|
}
|
413
|
+
announceClearSearchBoxToScreenReader() {
|
414
|
+
this.suggestionsAriaMessage = this.bindings.i18n.t("search-box-cleared");
|
415
|
+
}
|
412
416
|
announceNewSuggestionsToScreenReader() {
|
413
417
|
const elsLength = this.suggestionManager.allSuggestionElements.filter(elementHasQuery).length;
|
414
418
|
this.searchBoxAriaMessage = elsLength
|
@@ -437,14 +441,14 @@ const AtomicSearchBox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBox
|
|
437
441
|
if (!this.suggestionManager.suggestions.length) {
|
438
442
|
this.registerSearchboxSuggestionEvents();
|
439
443
|
}
|
440
|
-
return (h(Host, { key: '
|
441
|
-
h(SearchBoxWrapper, { key: '
|
444
|
+
return (h(Host, { key: '7a6ca58c4ba74f3341764b03cc9225f5ffb622fb' }, this.renderAbsolutePositionSpacer(), [
|
445
|
+
h(SearchBoxWrapper, { key: '19a9f5de9d141ced356c421f6b41dfcd86c786af', disabled: isDisabled, onFocusout: (event) => {
|
442
446
|
if (!isFocusingOut(event)) {
|
443
447
|
return;
|
444
448
|
}
|
445
449
|
this.suggestionManager.clearSuggestions();
|
446
450
|
this.isExpanded = false;
|
447
|
-
} }, this.renderTextBox(searchLabel), h(SubmitButton, { key: '
|
451
|
+
} }, this.renderTextBox(searchLabel), h(SubmitButton, { key: '52c707d8fe1eeb8c31f30ba39638fc78a9796179', bindings: this.bindings, disabled: isDisabled, onClick: () => {
|
448
452
|
this.searchBox.submit();
|
449
453
|
this.suggestionManager.clearSuggestions();
|
450
454
|
} }), this.renderSuggestions()),
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-search-box.js","mappings":"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","names":["AtomicSearchBox"],"sources":["src/components/common/search-box/stencil-submit-button.tsx","src/components/search/atomic-search-box/atomic-search-box.pcss?tag=atomic-search-box&encapsulation=shadow","src/components/search/atomic-search-box/atomic-search-box.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button} from '../stencil-button';\n\ninterface Props {\n bindings: AnyBindings;\n disabled: boolean;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SubmitButton: FunctionalComponent<Props> = ({\n bindings,\n disabled,\n onClick,\n}) => (\n <div\n part=\"submit-button-wrapper\"\n class=\"mr-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-primary\"\n class=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full\"\n part=\"submit-button\"\n ariaLabel={bindings.i18n.t('search')}\n onClick={() => {\n onClick?.();\n }}\n disabled={disabled}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part~='instant-results-item'] {\n @apply p-3;\n}\n\n[part~='instant-results-show-all'] {\n @apply border-t-neutral justify-center border-t py-1;\n margin-top: auto;\n box-sizing: content-box;\n button {\n background-color: transparent;\n }\n}\n\n[part~='suggestions-left'] + [part~='suggestions-right'] {\n @apply border-l-neutral border-l;\n}\n\n[part~='suggestions-wrapper'] {\n flex-direction: column;\n @media (width >= theme(--breakpoint-desktop)) {\n flex-direction: row;\n }\n}\n\n:host {\n @apply relative z-10;\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n SearchBox,\n SearchBoxState,\n buildSearchBox,\n StandaloneSearchBox,\n StandaloneSearchBoxState,\n buildStandaloneSearchBox,\n SearchBoxOptions,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n Host,\n} from '@stencil/core';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {\n isFocusingOut,\n once,\n randomID,\n spreadProperties,\n} from '../../../utils/utils';\nimport {RedirectionPayload} from '../../common/search-box/redirection-payload';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {SubmitButton} from '../../common/search-box/stencil-submit-button';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from '../../common/suggestions/suggestions-types';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport { getDefaultSlotFromHost } from '@/src/utils/slot-utils';\n\n/**\n * The `atomic-search-box` component creates a search box with built-in support for suggestions.\n *\n * @slot default - The default slot where you can add child components to the search box.\n *\n * @part wrapper - The search box wrapper.\n * @part input - The search box input.\n * @part loading - The search box loading animation.\n * @part clear-button - The button to clear the search box of input.\n * @part clear-icon - The clear button's icon.\n * @part submit-button - The search box submit button.\n * @part submit-icon - The search box submit button's icon.\n * @part suggestions - A list of suggested query corrections on each panel.\n * @part suggestions-left - A list of suggested query corrections on the left panel.\n * @part suggestions-right - A list of suggested query corrections on the right panel.\n * @part suggestions-wrapper - The wrapper that contains suggestion panels.\n * @part suggestions-single-list - The wrapper that contains 1 suggestion list.\n * @part suggestions-double-list - The wrapper that contains 2 suggestion lists.\n * @part suggestion - A suggested query correction.\n * @part active-suggestion - The currently active suggestion.\n * @part suggestion-divider - An item in the list that separates groups of suggestions.\n * @part suggestion-with-query - An item in the list that will update the search box query.\n *\n * @part query-suggestion-item - A suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-content - The contents of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-icon - The icon of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-text - The text of a suggestion from the `atomic-search-box-query-suggestions` component.\n *\n * @part recent-query-item - A suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-content - The contents of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-icon - The icon of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text - The text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text-highlight - The highlighted portion of the text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-item - The clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-content - The contents of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title - The \"recent searches\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-clear - The \"clear\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n *\n * @part instant-results-item - An instant result rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-search-box-instant-results` component.\n */\n@Component({\n tag: 'atomic-search-box',\n styleUrl: 'atomic-search-box.pcss',\n shadow: true,\n})\nexport class AtomicSearchBox implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n private searchBox!: SearchBox | StandaloneSearchBox;\n private searchBoxSuggestionEventsQueue: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >[] = [];\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<\n SearchBox | StandaloneSearchBox\n >;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: SearchBoxState | StandaloneSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * The amount of queries displayed when the user interacts with the search box.\n * By default, a mix of query suggestions and recent queries will be shown.\n * You can configure those settings using the following components as children:\n * - atomic-search-box-query-suggestions\n * - atomic-search-box-recent-queries\n */\n @Prop({reflect: true}) public numberOfQueries = 8;\n\n /**\n * Defining this option makes the search box standalone (see [Use a\n * Standalone Search Box](https://docs.coveo.com/en/atomic/latest/usage/ssb/)).\n *\n * This option defines the default URL the user should be redirected to, when a query is submitted.\n * If a query pipeline redirect is triggered, it will redirect to that URL instead\n * (see [query pipeline triggers](https://docs.coveo.com/en/1458)).\n */\n @Prop({reflect: true}) public redirectionUrl?: string;\n\n /**\n * The timeout for suggestion queries, in milliseconds.\n * If a suggestion query times out, the suggestions from that particular query won't be shown.\n */\n @Prop() public suggestionTimeout = 400;\n\n /**\n * The delay for suggestion queries on input, in milliseconds.\n *\n * The suggestion request will be delayed until the end user stops typing for at least the specified amount of time.\n *\n * This delay is used to avoid sending too many requests to the Coveo Platform when the user is typing, as well as reducing potential input lag on low end devices.\n * A higher delay will reduce input lag, at the cost of suggestions freshness.\n */\n @Prop() public suggestionDelay = 0;\n\n /**\n * Whether to prevent the user from triggering searches and query suggestions from the component.\n * Perfect for use cases where you need to disable the search conditionally.\n * For the specific case when you need to disable the search based on the length of the query, refer to {@link minimumQueryLength}.\n */\n @Prop({reflect: true}) public disableSearch = false;\n\n /**\n * The minimum query length required to enable search.\n * For example, to disable the search for empty queries, set this to `1`.\n */\n @Prop({reflect: true}) public minimumQueryLength = 0;\n\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n * Setting this option to \"false\" is not recommended & can lead to an increasing number of queries returning no results.\n */\n @Prop({reflect: true}) public clearFilters = true;\n\n /**\n * Whether to interpret advanced [Coveo Cloud query syntax](https://docs.coveo.com/en/1814/) in the query.\n * You should only enable query syntax in the search box if you have good reasons to do so, as it\n * requires end users to be familiar with Coveo Cloud query syntax, otherwise they will likely be surprised\n * by the search box behaviour.\n *\n * When the `redirection-url` property is set and redirects to a page with more `atomic-search-box` components, all `atomic-search-box` components need to have the same `enable-query-syntax` value.\n */\n @Prop({reflect: true}) public enableQuerySyntax = false;\n\n /**\n * Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.\n *\n * Example:\n * ```html\n * <script>\n * document.querySelector('atomic-search-box').addEventListener((e) => {\n * e.preventDefault();\n * // handle redirection\n * });\n * </script>\n * ...\n * <atomic-search-box redirection-url=\"/search\"></atomic-search-box>\n * ```\n */\n @Event({\n eventName: 'redirect',\n })\n public redirect!: EventEmitter<RedirectionPayload>;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n private isStandaloneSearchBox(\n searchBox: SearchBox | StandaloneSearchBox\n ): searchBox is StandaloneSearchBox {\n return 'redirectTo' in searchBox;\n }\n\n public initialize() {\n this.id ||= randomID('atomic-search-box-');\n\n this.initializeSearchboxController();\n this.initializeSuggestionManager();\n }\n\n private updateRedirectionUrl() {\n if (this.isStandaloneSearchBox(this.searchBox) && this.redirectionUrl) {\n this.searchBox.updateRedirectUrl(this.redirectionUrl);\n } else {\n this.registerNewSearchBoxController();\n }\n }\n\n private registerNewSearchBoxController() {\n this.disconnectedCallback();\n this.initialize();\n }\n\n private initializeSearchboxController() {\n this.searchBox = this.redirectionUrl\n ? buildStandaloneSearchBox(this.bindings.engine, {\n options: {\n ...this.searchBoxOptions,\n redirectionUrl: this.redirectionUrl,\n overwrite: true,\n },\n })\n : buildSearchBox(this.bindings.engine, {\n options: this.searchBoxOptions,\n });\n }\n\n public componentWillUpdate() {\n if (\n !('redirectTo' in this.searchBoxState) ||\n !('afterRedirection' in this.searchBox)\n ) {\n return;\n }\n\n const {redirectTo, value, analytics} = this.searchBoxState;\n\n if (redirectTo === '') {\n return;\n }\n const data: StandaloneSearchBoxData = {\n value,\n enableQuerySyntax: this.enableQuerySyntax,\n analytics,\n };\n const storage = new SafeStorage();\n storage.setJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, data);\n\n this.searchBox.afterRedirection();\n const event = this.redirect.emit({redirectTo, value});\n if (!event.defaultPrevented) {\n window.location.href = redirectTo;\n }\n }\n\n public disconnectedCallback = () => {};\n\n @Listen('atomic/searchBoxSuggestion/register')\n public registerSuggestions(\n event: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >\n ) {\n if (!this.bindings) {\n this.searchBoxSuggestionEventsQueue.push(event);\n } else {\n this.suggestionManager.registerSuggestionsFromEvent(\n event,\n this.suggestionBindings\n );\n }\n }\n\n private registerSearchboxSuggestionEvents() {\n this.searchBoxSuggestionEventsQueue.forEach((evt) => {\n this.suggestionManager.registerSuggestionsFromEvent(\n evt,\n this.suggestionBindings\n );\n });\n this.searchBoxSuggestionEventsQueue = [];\n }\n\n @Watch('redirectionUrl')\n watchRedirectionUrl() {\n this.updateRedirectionUrl();\n }\n\n private initializeSuggestionManager() {\n if (this.suggestionManager) {\n return;\n }\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfQueries,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => this.suggestionTimeout,\n getSuggestionDelay: () => this.suggestionDelay,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n this.suggestionManager.initializeSuggestions(this.suggestionBindings);\n }\n\n private get suggestionBindings(): SearchBoxSuggestionsBindings<\n SearchBox | StandaloneSearchBox\n > {\n return spreadProperties(\n this.bindings,\n this.suggestionManager.partialSuggestionBindings,\n this.partialSuggestionBindings\n );\n }\n\n private get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n > {\n return Object.defineProperties(\n {...this.bindings},\n {\n id: {\n get: () => this.id,\n enumerable: true,\n },\n searchBoxController: {\n get: () => this.searchBox,\n enumerable: true,\n },\n isStandalone: {\n get: () => !!this.redirectionUrl,\n enumerable: true,\n },\n numberOfQueries: {\n get: () => this.numberOfQueries,\n enumerable: true,\n },\n clearFilters: {\n get: () => this.clearFilters,\n enumerable: true,\n },\n }\n ) as unknown as Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n >;\n }\n\n private get searchBoxOptions(): SearchBoxOptions {\n return {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n clearFilters: this.clearFilters,\n enableQuerySyntax: this.enableQuerySyntax,\n };\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n\n if (this.isSearchDisabledForEndUser(value)) {\n this.suggestionManager.clearSuggestions();\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private onSubmit() {\n this.isExpanded = false;\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.onSubmit();\n return;\n }\n\n this.searchBox.submit();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowRight':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('right');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'ArrowLeft':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('left');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n default:\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.updateKeyboardActiveDescendant();\n }\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number,\n side: 'left' | 'right'\n ) {\n const id = `${this.id}-${side}-suggestion-${item.key}`;\n\n const isSelected = id === this.suggestionManager.activeDescendant;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={side}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={this.suggestionManager.isDoubleList}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n if (item.key === 'recent-query-clear') {\n return;\n }\n\n this.isExpanded = false;\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, side, id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderPanel(\n side: 'left' | 'right',\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={`suggestions suggestions-${side}`}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1, side)\n )}\n </div>\n );\n }\n\n private get shouldShowSuggestions() {\n return (\n this.suggestionManager.hasSuggestions &&\n this.isExpanded &&\n !this.isSearchDisabledForEndUser(this.searchBoxState.value)\n );\n }\n\n private renderSuggestions() {\n return (\n <div\n id={`${this.id}-popup`}\n part={`suggestions-wrapper ${\n this.suggestionManager.isDoubleList\n ? 'suggestions-double-list'\n : 'suggestions-single-list'\n }`}\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.shouldShowSuggestions ? '' : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t(\n this.suggestionManager.isDoubleList\n ? 'search-suggestions-double-list'\n : 'search-suggestions-single-list'\n )}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n 'left',\n this.suggestionManager.leftSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n {this.renderPanel(\n 'right',\n this.suggestionManager.rightSuggestionElements,\n (el) => (this.suggestionManager.rightPanel = el),\n () => this.suggestionManager.rightPanel\n )}\n </div>\n );\n }\n\n private renderTextBox = (searchLabel: string) => {\n const props = {\n loading: this.searchBoxState.isLoading,\n bindings: this.bindings,\n value: this.searchBoxState.value,\n title: searchLabel,\n ariaLabel: searchLabel,\n onFocus: () => this.onFocus(),\n onInput: (e: Event) =>\n this.onInput(\n (e.target as HTMLInputElement | HTMLTextAreaElement).value\n ),\n onKeyDown: (e: KeyboardEvent) => this.onKeyDown(e),\n onClear: () => {\n this.searchBox.clear();\n this.suggestionManager.clearSuggestions();\n },\n popup: {\n id: `${this.id}-popup`,\n activeDescendant: this.suggestionManager.activeDescendant,\n expanded: this.isExpanded,\n hasSuggestions: this.suggestionManager.hasSuggestions,\n },\n };\n\n return (\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n ref={(el) => (this.textAreaRef = el as HTMLTextAreaElement)}\n {...props}\n onClear={() => {\n props.onClear();\n this.triggerTextAreaChange('');\n }}\n />\n );\n };\n\n private renderAbsolutePositionSpacer() {\n return (\n <textarea\n aria-hidden\n part=\"textarea-spacer\"\n class=\"invisible w-full px-4 py-3.5 text-lg\"\n rows={1}\n ></textarea>\n );\n }\n\n private isSearchDisabledForEndUser(queryValue?: string) {\n if (isNullOrUndefined(queryValue)) {\n return this.disableSearch;\n }\n\n if (queryValue.trim().length < this.minimumQueryLength) {\n return true;\n }\n\n return this.disableSearch;\n }\n\n private getSearchInputLabel(minimumQueryLength = 0) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return this.bindings.i18n.t('search-disabled', {\n length: minimumQueryLength,\n });\n }\n\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceNewSuggestionsToScreenReader() {\n const elsLength =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = elsLength\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: elsLength,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n private renderSlotContent() {\n const hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n\n if (hasDefaultSlot) {\n return <slot></slot>;\n }\n\n return [\n <atomic-search-box-recent-queries></atomic-search-box-recent-queries>,\n <atomic-search-box-query-suggestions></atomic-search-box-query-suggestions>,\n ];\n }\n\n public render() {\n this.updateBreakpoints();\n\n const searchLabel = this.getSearchInputLabel(this.minimumQueryLength);\n const isDisabled = this.isSearchDisabledForEndUser(\n this.searchBoxState.value\n );\n if (!this.suggestionManager.suggestions.length) {\n this.registerSearchboxSuggestionEvents();\n }\n\n return (\n <Host>\n {this.renderAbsolutePositionSpacer()}\n {[\n <SearchBoxWrapper\n disabled={isDisabled}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n {this.renderTextBox(searchLabel)}\n <SubmitButton\n bindings={this.bindings}\n disabled={isDisabled}\n onClick={() => {\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>,\n this.renderSlotContent(),\n ]}\n </Host>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-search-box.js","mappings":"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","names":["AtomicSearchBox"],"sources":["src/components/common/search-box/stencil-submit-button.tsx","src/components/search/atomic-search-box/atomic-search-box.pcss?tag=atomic-search-box&encapsulation=shadow","src/components/search/atomic-search-box/atomic-search-box.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button} from '../stencil-button';\n\ninterface Props {\n bindings: AnyBindings;\n disabled: boolean;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SubmitButton: FunctionalComponent<Props> = ({\n bindings,\n disabled,\n onClick,\n}) => (\n <div\n part=\"submit-button-wrapper\"\n class=\"mr-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-primary\"\n class=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full\"\n part=\"submit-button\"\n ariaLabel={bindings.i18n.t('search')}\n onClick={() => {\n onClick?.();\n }}\n disabled={disabled}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part~='instant-results-item'] {\n @apply p-3;\n}\n\n[part~='instant-results-show-all'] {\n @apply border-t-neutral justify-center border-t py-1;\n margin-top: auto;\n box-sizing: content-box;\n button {\n background-color: transparent;\n }\n}\n\n[part~='suggestions-left'] + [part~='suggestions-right'] {\n @apply border-l-neutral border-l;\n}\n\n[part~='suggestions-wrapper'] {\n flex-direction: column;\n @media (width >= theme(--breakpoint-desktop)) {\n flex-direction: row;\n }\n}\n\n:host {\n @apply relative z-10;\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n SearchBox,\n SearchBoxState,\n buildSearchBox,\n StandaloneSearchBox,\n StandaloneSearchBoxState,\n buildStandaloneSearchBox,\n SearchBoxOptions,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n Host,\n} from '@stencil/core';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {\n isFocusingOut,\n once,\n randomID,\n spreadProperties,\n} from '../../../utils/utils';\nimport {RedirectionPayload} from '../../common/search-box/redirection-payload';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {SubmitButton} from '../../common/search-box/stencil-submit-button';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from '../../common/suggestions/suggestions-types';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport { getDefaultSlotFromHost } from '@/src/utils/slot-utils';\n\n/**\n * The `atomic-search-box` component creates a search box with built-in support for suggestions.\n *\n * @slot default - The default slot where you can add child components to the search box.\n *\n * @part wrapper - The search box wrapper.\n * @part input - The search box input.\n * @part loading - The search box loading animation.\n * @part clear-button - The button to clear the search box of input.\n * @part clear-icon - The clear button's icon.\n * @part submit-button - The search box submit button.\n * @part submit-icon - The search box submit button's icon.\n * @part suggestions - A list of suggested query corrections on each panel.\n * @part suggestions-left - A list of suggested query corrections on the left panel.\n * @part suggestions-right - A list of suggested query corrections on the right panel.\n * @part suggestions-wrapper - The wrapper that contains suggestion panels.\n * @part suggestions-single-list - The wrapper that contains 1 suggestion list.\n * @part suggestions-double-list - The wrapper that contains 2 suggestion lists.\n * @part suggestion - A suggested query correction.\n * @part active-suggestion - The currently active suggestion.\n * @part suggestion-divider - An item in the list that separates groups of suggestions.\n * @part suggestion-with-query - An item in the list that will update the search box query.\n *\n * @part query-suggestion-item - A suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-content - The contents of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-icon - The icon of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-text - The text of a suggestion from the `atomic-search-box-query-suggestions` component.\n *\n * @part recent-query-item - A suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-content - The contents of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-icon - The icon of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text - The text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text-highlight - The highlighted portion of the text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-item - The clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-content - The contents of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title - The \"recent searches\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-clear - The \"clear\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n *\n * @part instant-results-item - An instant result rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-search-box-instant-results` component.\n */\n@Component({\n tag: 'atomic-search-box',\n styleUrl: 'atomic-search-box.pcss',\n shadow: true,\n})\nexport class AtomicSearchBox implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n private searchBox!: SearchBox | StandaloneSearchBox;\n private searchBoxSuggestionEventsQueue: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >[] = [];\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<\n SearchBox | StandaloneSearchBox\n >;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: SearchBoxState | StandaloneSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * The amount of queries displayed when the user interacts with the search box.\n * By default, a mix of query suggestions and recent queries will be shown.\n * You can configure those settings using the following components as children:\n * - atomic-search-box-query-suggestions\n * - atomic-search-box-recent-queries\n */\n @Prop({reflect: true}) public numberOfQueries = 8;\n\n /**\n * Defining this option makes the search box standalone (see [Use a\n * Standalone Search Box](https://docs.coveo.com/en/atomic/latest/usage/ssb/)).\n *\n * This option defines the default URL the user should be redirected to, when a query is submitted.\n * If a query pipeline redirect is triggered, it will redirect to that URL instead\n * (see [query pipeline triggers](https://docs.coveo.com/en/1458)).\n */\n @Prop({reflect: true}) public redirectionUrl?: string;\n\n /**\n * The timeout for suggestion queries, in milliseconds.\n * If a suggestion query times out, the suggestions from that particular query won't be shown.\n */\n @Prop() public suggestionTimeout = 400;\n\n /**\n * The delay for suggestion queries on input, in milliseconds.\n *\n * The suggestion request will be delayed until the end user stops typing for at least the specified amount of time.\n *\n * This delay is used to avoid sending too many requests to the Coveo Platform when the user is typing, as well as reducing potential input lag on low end devices.\n * A higher delay will reduce input lag, at the cost of suggestions freshness.\n */\n @Prop() public suggestionDelay = 0;\n\n /**\n * Whether to prevent the user from triggering searches and query suggestions from the component.\n * Perfect for use cases where you need to disable the search conditionally.\n * For the specific case when you need to disable the search based on the length of the query, refer to {@link minimumQueryLength}.\n */\n @Prop({reflect: true}) public disableSearch = false;\n\n /**\n * The minimum query length required to enable search.\n * For example, to disable the search for empty queries, set this to `1`.\n */\n @Prop({reflect: true}) public minimumQueryLength = 0;\n\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n * Setting this option to \"false\" is not recommended & can lead to an increasing number of queries returning no results.\n */\n @Prop({reflect: true}) public clearFilters = true;\n\n /**\n * Whether to interpret advanced [Coveo Cloud query syntax](https://docs.coveo.com/en/1814/) in the query.\n * You should only enable query syntax in the search box if you have good reasons to do so, as it\n * requires end users to be familiar with Coveo Cloud query syntax, otherwise they will likely be surprised\n * by the search box behaviour.\n *\n * When the `redirection-url` property is set and redirects to a page with more `atomic-search-box` components, all `atomic-search-box` components need to have the same `enable-query-syntax` value.\n */\n @Prop({reflect: true}) public enableQuerySyntax = false;\n\n /**\n * Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.\n *\n * Example:\n * ```html\n * <script>\n * document.querySelector('atomic-search-box').addEventListener((e) => {\n * e.preventDefault();\n * // handle redirection\n * });\n * </script>\n * ...\n * <atomic-search-box redirection-url=\"/search\"></atomic-search-box>\n * ```\n */\n @Event({\n eventName: 'redirect',\n })\n public redirect!: EventEmitter<RedirectionPayload>;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n private isStandaloneSearchBox(\n searchBox: SearchBox | StandaloneSearchBox\n ): searchBox is StandaloneSearchBox {\n return 'redirectTo' in searchBox;\n }\n\n public initialize() {\n this.id ||= randomID('atomic-search-box-');\n\n this.initializeSearchboxController();\n this.initializeSuggestionManager();\n }\n\n private updateRedirectionUrl() {\n if (this.isStandaloneSearchBox(this.searchBox) && this.redirectionUrl) {\n this.searchBox.updateRedirectUrl(this.redirectionUrl);\n } else {\n this.registerNewSearchBoxController();\n }\n }\n\n private registerNewSearchBoxController() {\n this.disconnectedCallback();\n this.initialize();\n }\n\n private initializeSearchboxController() {\n this.searchBox = this.redirectionUrl\n ? buildStandaloneSearchBox(this.bindings.engine, {\n options: {\n ...this.searchBoxOptions,\n redirectionUrl: this.redirectionUrl,\n overwrite: true,\n },\n })\n : buildSearchBox(this.bindings.engine, {\n options: this.searchBoxOptions,\n });\n }\n\n public componentWillUpdate() {\n if (\n !('redirectTo' in this.searchBoxState) ||\n !('afterRedirection' in this.searchBox)\n ) {\n return;\n }\n\n const {redirectTo, value, analytics} = this.searchBoxState;\n\n if (redirectTo === '') {\n return;\n }\n const data: StandaloneSearchBoxData = {\n value,\n enableQuerySyntax: this.enableQuerySyntax,\n analytics,\n };\n const storage = new SafeStorage();\n storage.setJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, data);\n\n this.searchBox.afterRedirection();\n const event = this.redirect.emit({redirectTo, value});\n if (!event.defaultPrevented) {\n window.location.href = redirectTo;\n }\n }\n\n public disconnectedCallback = () => {};\n\n @Listen('atomic/searchBoxSuggestion/register')\n public registerSuggestions(\n event: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >\n ) {\n if (!this.bindings) {\n this.searchBoxSuggestionEventsQueue.push(event);\n } else {\n this.suggestionManager.registerSuggestionsFromEvent(\n event,\n this.suggestionBindings\n );\n }\n }\n\n private registerSearchboxSuggestionEvents() {\n this.searchBoxSuggestionEventsQueue.forEach((evt) => {\n this.suggestionManager.registerSuggestionsFromEvent(\n evt,\n this.suggestionBindings\n );\n });\n this.searchBoxSuggestionEventsQueue = [];\n }\n\n @Watch('redirectionUrl')\n watchRedirectionUrl() {\n this.updateRedirectionUrl();\n }\n\n private initializeSuggestionManager() {\n if (this.suggestionManager) {\n return;\n }\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfQueries,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => this.suggestionTimeout,\n getSuggestionDelay: () => this.suggestionDelay,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n this.suggestionManager.initializeSuggestions(this.suggestionBindings);\n }\n\n private get suggestionBindings(): SearchBoxSuggestionsBindings<\n SearchBox | StandaloneSearchBox\n > {\n return spreadProperties(\n this.bindings,\n this.suggestionManager.partialSuggestionBindings,\n this.partialSuggestionBindings\n );\n }\n\n private get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n > {\n return Object.defineProperties(\n {...this.bindings},\n {\n id: {\n get: () => this.id,\n enumerable: true,\n },\n searchBoxController: {\n get: () => this.searchBox,\n enumerable: true,\n },\n isStandalone: {\n get: () => !!this.redirectionUrl,\n enumerable: true,\n },\n numberOfQueries: {\n get: () => this.numberOfQueries,\n enumerable: true,\n },\n clearFilters: {\n get: () => this.clearFilters,\n enumerable: true,\n },\n }\n ) as unknown as Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n >;\n }\n\n private get searchBoxOptions(): SearchBoxOptions {\n return {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n clearFilters: this.clearFilters,\n enableQuerySyntax: this.enableQuerySyntax,\n };\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n\n if (this.isSearchDisabledForEndUser(value)) {\n this.suggestionManager.clearSuggestions();\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private onSubmit() {\n this.isExpanded = false;\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.onSubmit();\n return;\n }\n\n this.searchBox.submit();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowRight':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('right');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'ArrowLeft':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('left');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n default:\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.updateKeyboardActiveDescendant();\n }\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number,\n side: 'left' | 'right'\n ) {\n const id = `${this.id}-${side}-suggestion-${item.key}`;\n\n const isSelected = id === this.suggestionManager.activeDescendant;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={side}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={this.suggestionManager.isDoubleList}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n if (item.key === 'recent-query-clear') {\n return;\n }\n\n this.isExpanded = false;\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, side, id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderPanel(\n side: 'left' | 'right',\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={`suggestions suggestions-${side}`}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1, side)\n )}\n </div>\n );\n }\n\n private get shouldShowSuggestions() {\n return (\n this.suggestionManager.hasSuggestions &&\n this.isExpanded &&\n !this.isSearchDisabledForEndUser(this.searchBoxState.value)\n );\n }\n\n private renderSuggestions() {\n return (\n <div\n id={`${this.id}-popup`}\n part={`suggestions-wrapper ${\n this.suggestionManager.isDoubleList\n ? 'suggestions-double-list'\n : 'suggestions-single-list'\n }`}\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.shouldShowSuggestions ? '' : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t(\n this.suggestionManager.isDoubleList\n ? 'search-suggestions-double-list'\n : 'search-suggestions-single-list'\n )}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n 'left',\n this.suggestionManager.leftSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n {this.renderPanel(\n 'right',\n this.suggestionManager.rightSuggestionElements,\n (el) => (this.suggestionManager.rightPanel = el),\n () => this.suggestionManager.rightPanel\n )}\n </div>\n );\n }\n\n private renderTextBox = (searchLabel: string) => {\n const props = {\n loading: this.searchBoxState.isLoading,\n bindings: this.bindings,\n value: this.searchBoxState.value,\n title: searchLabel,\n ariaLabel: searchLabel,\n onFocus: () => this.onFocus(),\n onInput: (e: Event) =>\n this.onInput(\n (e.target as HTMLInputElement | HTMLTextAreaElement).value\n ),\n onKeyDown: (e: KeyboardEvent) => this.onKeyDown(e),\n onClear: () => {\n this.announceClearSearchBoxToScreenReader()\n this.searchBox.clear();\n this.suggestionManager.clearSuggestions();\n },\n popup: {\n id: `${this.id}-popup`,\n activeDescendant: this.suggestionManager.activeDescendant,\n expanded: this.isExpanded,\n hasSuggestions: this.suggestionManager.hasSuggestions,\n },\n };\n\n return (\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n ref={(el) => (this.textAreaRef = el as HTMLTextAreaElement)}\n {...props}\n onClear={() => {\n props.onClear();\n this.triggerTextAreaChange('');\n }}\n />\n );\n };\n\n private renderAbsolutePositionSpacer() {\n return (\n <textarea\n aria-hidden\n part=\"textarea-spacer\"\n class=\"invisible w-full px-4 py-3.5 text-lg\"\n rows={1}\n ></textarea>\n );\n }\n\n private isSearchDisabledForEndUser(queryValue?: string) {\n if (isNullOrUndefined(queryValue)) {\n return this.disableSearch;\n }\n\n if (queryValue.trim().length < this.minimumQueryLength) {\n return true;\n }\n\n return this.disableSearch;\n }\n\n private getSearchInputLabel(minimumQueryLength = 0) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return this.bindings.i18n.t('search-disabled', {\n length: minimumQueryLength,\n });\n }\n\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceClearSearchBoxToScreenReader() {\n this.suggestionsAriaMessage = this.bindings.i18n.t(\"search-box-cleared\")\n }\n\n private announceNewSuggestionsToScreenReader() {\n const elsLength =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = elsLength\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: elsLength,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n private renderSlotContent() {\n const hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n\n if (hasDefaultSlot) {\n return <slot></slot>;\n }\n\n return [\n <atomic-search-box-recent-queries></atomic-search-box-recent-queries>,\n <atomic-search-box-query-suggestions></atomic-search-box-query-suggestions>,\n ];\n }\n\n public render() {\n this.updateBreakpoints();\n\n const searchLabel = this.getSearchInputLabel(this.minimumQueryLength);\n const isDisabled = this.isSearchDisabledForEndUser(\n this.searchBoxState.value\n );\n if (!this.suggestionManager.suggestions.length) {\n this.registerSearchboxSuggestionEvents();\n }\n\n return (\n <Host>\n {this.renderAbsolutePositionSpacer()}\n {[\n <SearchBoxWrapper\n disabled={isDisabled}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n {this.renderTextBox(searchLabel)}\n <SubmitButton\n bindings={this.bindings}\n disabled={isDisabled}\n onClick={() => {\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>,\n this.renderSlotContent(),\n ]}\n </Host>\n );\n }\n}\n"],"version":3}
|
@@ -22,7 +22,7 @@ import { bindingGuard } from "../../../decorators/binding-guard";
|
|
22
22
|
import { bindings } from "../../../decorators/bindings";
|
23
23
|
import { errorGuard } from "../../../decorators/error-guard";
|
24
24
|
import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
|
25
|
-
import { FocusTargetController } from "../../../utils/accessibility-utils";
|
25
|
+
import { AriaLiveRegionController, FocusTargetController, } from "../../../utils/accessibility-utils";
|
26
26
|
import { parseDate } from "../../../utils/date-utils";
|
27
27
|
import { getFieldValueCaption } from "../../../utils/field-utils";
|
28
28
|
import styles from './atomic-commerce-breadbox.tw.css';
|
@@ -49,6 +49,7 @@ let AtomicCommerceBreadbox = class AtomicCommerceBreadbox extends LitElement {
|
|
49
49
|
this.numberOfCollapsedBreadcrumbs = 0;
|
50
50
|
this.isCollapsed = true;
|
51
51
|
this.showMoreText = '';
|
52
|
+
this.breadboxAriaMessage = new AriaLiveRegionController(this, 'breadbox', true);
|
52
53
|
/**
|
53
54
|
* This prop allows you to control the display depth
|
54
55
|
* of the path by specifying the number of parent or ancestor
|
@@ -230,6 +231,7 @@ let AtomicCommerceBreadbox = class AtomicCommerceBreadbox extends LitElement {
|
|
230
231
|
await this.breadcrumbShowMoreFocus.setTarget(ref);
|
231
232
|
}
|
232
233
|
},
|
234
|
+
ariaController: this.breadboxAriaMessage,
|
233
235
|
},
|
234
236
|
})(html `${renderBreadcrumbContent({
|
235
237
|
props: {
|