@coveo/atomic 3.33.3-pre.ee24f8bd85 → 3.33.3-pre.ee94bc7801

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.
Files changed (121) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/analytics-config.js +1 -1
  3. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  4. package/dist/atomic/components/atomic-insight-result2.js.map +1 -1
  5. package/dist/atomic/components/atomic-recs-result2.js +1 -1
  6. package/dist/atomic/components/atomic-recs-result2.js.map +1 -1
  7. package/dist/atomic/components/atomic-result-placeholder2.js +1 -1
  8. package/dist/atomic/components/atomic-result-placeholder2.js.map +1 -1
  9. package/dist/atomic/components/atomic-result2.js +1 -1
  10. package/dist/atomic/components/atomic-result2.js.map +1 -1
  11. package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +2 -5
  12. package/dist/atomic/components/components/commerce/atomic-commerce-facets/atomic-commerce-facets.js +3 -7
  13. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +9 -7
  14. package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +25 -13
  15. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js +7 -3
  16. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.tw.css.js +1 -1
  17. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +3 -7
  18. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +3 -4
  19. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +3 -4
  20. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +2 -4
  21. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +3 -6
  22. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +3 -7
  23. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +4 -7
  24. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +7 -8
  25. package/dist/atomic/components/components/commerce/atomic-product-section-actions/atomic-product-section-actions.js +3 -2
  26. package/dist/atomic/components/components/commerce/atomic-product-section-metadata/atomic-product-section-metadata.js +3 -2
  27. package/dist/atomic/components/components/commerce/atomic-product-section-name/atomic-product-section-name.js +3 -2
  28. package/dist/atomic/components/components/commerce/atomic-product-section-visual/atomic-product-section-visual.js +4 -3
  29. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +2 -4
  30. package/dist/atomic/components/components/common/atomic-aria-live/atomic-aria-live.js +2 -4
  31. package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +3 -7
  32. package/dist/atomic/components/components/common/atomic-icon/atomic-icon.js +3 -4
  33. package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +2 -4
  34. package/dist/atomic/components/components/common/atomic-rating/atomic-rating.tw.css.js +3 -2
  35. package/dist/atomic/components/components/common/item-list/styles/grid-display.tw.css.js +4 -0
  36. package/dist/atomic/components/components/common/item-list/styles/list-display.tw.css.js +4 -0
  37. package/dist/atomic/components/components/common/item-list/styles/placeholders.tw.css.js +3 -0
  38. package/dist/atomic/components/components/common/item-list/styles/table-display.tw.css.js +4 -0
  39. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +7 -7
  40. package/dist/atomic/components/global/environment.js +1 -1
  41. package/dist/atomic/components/mixins/item-section-mixin.js +4 -13
  42. package/dist/atomic/components/mixins/light-dom.js +70 -0
  43. package/dist/atomic/{p-0544aeaf.entry.js → p-05915b6a.entry.js} +2 -2
  44. package/dist/atomic/{p-3bd7c3e2.entry.js → p-1bb3d84d.entry.js} +2 -2
  45. package/dist/atomic/p-45b200a8.entry.js +2 -0
  46. package/dist/atomic/{p-bce99a61.entry.js.map → p-45b200a8.entry.js.map} +1 -1
  47. package/dist/atomic/p-e40a763b.entry.js +2 -0
  48. package/dist/atomic/{p-78aeb2d4.entry.js.map → p-e40a763b.entry.js.map} +1 -1
  49. package/dist/atomic/p-e91e8521.entry.js +2 -0
  50. package/dist/atomic/{p-2215b188.entry.js.map → p-e91e8521.entry.js.map} +1 -1
  51. package/dist/atomic/{p-d402d8a3.entry.js → p-e9a5c02f.entry.js} +2 -2
  52. package/dist/atomic/{p-a13d7515.js → p-fb992520.js} +2 -2
  53. package/dist/atomic/p-feb020b6.entry.js +2 -0
  54. package/dist/atomic/{p-0a58608a.entry.js.map → p-feb020b6.entry.js.map} +1 -1
  55. package/dist/cjs/{analytics-config-a0130d05.js → analytics-config-1a2f986e.js} +2 -2
  56. package/dist/cjs/{analytics-config-a0130d05.js.map → analytics-config-1a2f986e.js.map} +1 -1
  57. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  58. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  59. package/dist/cjs/atomic-insight-result.cjs.entry.js.map +1 -1
  60. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  61. package/dist/cjs/atomic-recs-result.cjs.entry.js +1 -1
  62. package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
  63. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
  64. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
  65. package/dist/cjs/atomic-result.cjs.entry.js +1 -1
  66. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  67. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  68. package/dist/cjs/version.cjs.js +2 -2
  69. package/dist/esm/{analytics-config-ca9f2d02.js → analytics-config-9382524a.js} +2 -2
  70. package/dist/esm/{analytics-config-ca9f2d02.js.map → analytics-config-9382524a.js.map} +1 -1
  71. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  72. package/dist/esm/atomic-insight-result.entry.js +1 -1
  73. package/dist/esm/atomic-insight-result.entry.js.map +1 -1
  74. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  75. package/dist/esm/atomic-recs-result.entry.js +1 -1
  76. package/dist/esm/atomic-recs-result.entry.js.map +1 -1
  77. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
  78. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
  79. package/dist/esm/atomic-result.entry.js +1 -1
  80. package/dist/esm/atomic-result.entry.js.map +1 -1
  81. package/dist/esm/atomic-search-interface.entry.js +1 -1
  82. package/dist/esm/version.js +2 -2
  83. package/dist/types/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.d.ts +5 -1
  84. package/dist/types/components/commerce/atomic-commerce-facets/atomic-commerce-facets.d.ts +5 -2
  85. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +6 -2
  86. package/dist/types/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.d.ts +1 -1
  87. package/dist/types/components/commerce/atomic-product-children/atomic-product-children.d.ts +5 -2
  88. package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +5 -1
  89. package/dist/types/components/commerce/atomic-product-excerpt/atomic-product-excerpt.d.ts +5 -1
  90. package/dist/types/components/commerce/atomic-product-field-condition/atomic-product-field-condition.d.ts +5 -2
  91. package/dist/types/components/commerce/atomic-product-link/atomic-product-link.d.ts +3 -1
  92. package/dist/types/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.d.ts +5 -2
  93. package/dist/types/components/commerce/atomic-product-price/atomic-product-price.d.ts +5 -1
  94. package/dist/types/components/commerce/atomic-product-rating/atomic-product-rating.d.ts +5 -1
  95. package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +5 -2
  96. package/dist/types/components/common/atomic-aria-live/atomic-aria-live.d.ts +5 -2
  97. package/dist/types/components/common/atomic-facet-date-input/atomic-facet-date-input.d.ts +5 -2
  98. package/dist/types/components/common/atomic-icon/atomic-icon.d.ts +3 -1
  99. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +5 -2
  100. package/dist/types/components/common/interface/bindings.d.ts +1 -1
  101. package/dist/types/components/common/item-list/styles/list-display.tw.css.d.ts +2 -0
  102. package/dist/types/components/common/item-list/styles/placeholders.tw.css.d.ts +2 -0
  103. package/dist/types/components/common/item-list/styles/table-display.tw.css.d.ts +2 -0
  104. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +4 -2
  105. package/dist/types/mixins/light-dom.d.ts +25 -0
  106. package/docs/atomic-docs.json +1 -1
  107. package/package.json +3 -4
  108. package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.js +0 -4
  109. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.js +0 -4
  110. package/dist/atomic/components/decorators/inject-styles-for-no-shadow-dom.js +0 -55
  111. package/dist/atomic/p-0a58608a.entry.js +0 -2
  112. package/dist/atomic/p-2215b188.entry.js +0 -2
  113. package/dist/atomic/p-78aeb2d4.entry.js +0 -2
  114. package/dist/atomic/p-bce99a61.entry.js +0 -2
  115. package/dist/types/decorators/inject-styles-for-no-shadow-dom.d.ts +0 -31
  116. /package/dist/atomic/{p-0544aeaf.entry.js.map → p-05915b6a.entry.js.map} +0 -0
  117. /package/dist/atomic/{p-3bd7c3e2.entry.js.map → p-1bb3d84d.entry.js.map} +0 -0
  118. /package/dist/atomic/{p-d402d8a3.entry.js.map → p-e9a5c02f.entry.js.map} +0 -0
  119. /package/dist/atomic/{p-a13d7515.js.map → p-fb992520.js.map} +0 -0
  120. /package/dist/types/components/{commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.d.ts → common/atomic-rating/atomic-rating.tw.css.d.ts} +0 -0
  121. /package/dist/types/components/{commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.d.ts → common/item-list/styles/grid-display.tw.css.d.ts} +0 -0
@@ -1 +1 @@
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 ItemLayout,\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 '../result-template-components/result-template-decorators';\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}
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 ItemLayout,\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 '../result-template-components/result-template-decorators';\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}
@@ -11,13 +11,12 @@ import { ref } from 'lit/directives/ref.js';
11
11
  import { bindingGuard } from "../../../decorators/binding-guard";
12
12
  import { bindings } from "../../../decorators/bindings";
13
13
  import { errorGuard } from "../../../decorators/error-guard";
14
- import { injectStylesForNoShadowDOM } from "../../../decorators/inject-styles-for-no-shadow-dom";
15
- import { withTailwindStyles } from "../../../decorators/with-tailwind-styles";
14
+ import { LightDomMixin } from "../../../mixins/light-dom";
16
15
  /**
17
16
  * Internal component made to be integrated in a NumericFacet.
18
17
  * @internal
19
18
  */
20
- let AtomicCommerceFacetNumberInput = class AtomicCommerceFacetNumberInput extends LitElement {
19
+ let AtomicCommerceFacetNumberInput = class AtomicCommerceFacetNumberInput extends LightDomMixin(LitElement) {
21
20
  initialize() {
22
21
  this.start = this.range?.start;
23
22
  this.end = this.range?.end;
@@ -158,8 +157,6 @@ __decorate([
158
157
  ], AtomicCommerceFacetNumberInput.prototype, "render", null);
159
158
  AtomicCommerceFacetNumberInput = __decorate([
160
159
  customElement('atomic-commerce-facet-number-input'),
161
- withTailwindStyles,
162
- injectStylesForNoShadowDOM,
163
160
  bindings()
164
161
  ], AtomicCommerceFacetNumberInput);
165
162
  export { AtomicCommerceFacetNumberInput };
@@ -13,7 +13,6 @@ import { when } from 'lit/directives/when.js';
13
13
  import { bindingGuard } from "../../../decorators/binding-guard";
14
14
  import { bindings } from "../../../decorators/bindings";
15
15
  import { errorGuard } from "../../../decorators/error-guard";
16
- import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
17
16
  import '../../common/atomic-facet-placeholder/atomic-facet-placeholder';
18
17
  import { createAppLoadedListener } from '../../common/interface/store';
19
18
  import '../atomic-commerce-category-facet/atomic-commerce-category-facet';
@@ -22,11 +21,12 @@ import '../atomic-commerce-numeric-facet/atomic-commerce-numeric-facet';
22
21
  import '../atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet';
23
22
  import { keyed } from 'lit/directives/keyed.js';
24
23
  import { bindStateToController } from "../../../decorators/bind-state";
24
+ import { LightDomMixin } from "../../../mixins/light-dom";
25
25
  /**
26
26
  * The `atomic-commerce-facets` component automatically renders commerce facets based on the Commerce API response.
27
27
  * Unlike regular facets, which require explicit definition and request in the query, the `atomic-commerce-facets` component dynamically generates facets.
28
28
  */
29
- let AtomicCommerceFacets = class AtomicCommerceFacets extends LitElement {
29
+ let AtomicCommerceFacets = class AtomicCommerceFacets extends LightDomMixin(LitElement) {
30
30
  constructor() {
31
31
  super(...arguments);
32
32
  /**
@@ -48,9 +48,6 @@ let AtomicCommerceFacets = class AtomicCommerceFacets extends LitElement {
48
48
  this.isAppLoaded = isAppLoaded;
49
49
  });
50
50
  }
51
- createRenderRoot() {
52
- return this;
53
- }
54
51
  isProductListing() {
55
52
  return this.bindings.interfaceElement.type === 'product-listing';
56
53
  }
@@ -148,7 +145,6 @@ __decorate([
148
145
  ], AtomicCommerceFacets.prototype, "render", null);
149
146
  AtomicCommerceFacets = __decorate([
150
147
  customElement('atomic-commerce-facets'),
151
- bindings(),
152
- withTailwindStyles
148
+ bindings()
153
149
  ], AtomicCommerceFacets);
154
150
  export { AtomicCommerceFacets };
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement, unsafeCSS } from 'lit';
8
8
  import { customElement, property, state } from 'lit/decorators.js';
9
- import { injectStylesForNoShadowDOM } from "../../../decorators/inject-styles-for-no-shadow-dom";
10
9
  import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
10
+ import { LightDomMixin } from "../../../mixins/light-dom";
11
11
  import { randomID } from "../../../utils/utils";
12
12
  import { DEFAULT_MOBILE_BREAKPOINT } from '../../../utils/replace-breakpoint';
13
13
  import styles from './atomic-commerce-layout.tw.css';
@@ -18,8 +18,10 @@ import { buildCommerceLayout } from './commerce-layout';
18
18
  * @cssprop --atomic-layout-max-search-box-input-width: The maximum width that the search box input will take.
19
19
  * @cssprop --atomic-layout-max-search-box-double-suggestions-width: The maximum width that the search box suggestions will take when displaying a double list.
20
20
  * @cssprop --atomic-layout-search-box-left-suggestions-width: The width of the left list when displaying a double list.
21
+ *
22
+ * @slot default - The default slot for the layout content.
21
23
  */
22
- let AtomicCommerceLayout = class AtomicCommerceLayout extends ChildrenUpdateCompleteMixin(LitElement) {
24
+ let AtomicCommerceLayout = class AtomicCommerceLayout extends LightDomMixin(ChildrenUpdateCompleteMixin(LitElement)) {
23
25
  constructor() {
24
26
  super(...arguments);
25
27
  /**
@@ -28,13 +30,14 @@ let AtomicCommerceLayout = class AtomicCommerceLayout extends ChildrenUpdateComp
28
30
  */
29
31
  this.mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT;
30
32
  }
31
- static async dynamicStyles(instance) {
32
- await instance.getUpdateComplete();
33
- return unsafeCSS(buildCommerceLayout(instance, instance.mobileBreakpoint));
33
+ async addStyles() {
34
+ await this.getUpdateComplete();
35
+ this.injectStyles(unsafeCSS(buildCommerceLayout(this, this.mobileBreakpoint)));
34
36
  }
35
37
  connectedCallback() {
36
38
  super.connectedCallback();
37
39
  this.id = randomID('atomic-commerce-layout-');
40
+ this.addStyles();
38
41
  }
39
42
  };
40
43
  AtomicCommerceLayout.styles = [styles];
@@ -45,7 +48,6 @@ __decorate([
45
48
  property({ type: String, reflect: true, attribute: 'mobile-breakpoint' })
46
49
  ], AtomicCommerceLayout.prototype, "mobileBreakpoint", void 0);
47
50
  AtomicCommerceLayout = __decorate([
48
- customElement('atomic-commerce-layout'),
49
- injectStylesForNoShadowDOM
51
+ customElement('atomic-commerce-layout')
50
52
  ], AtomicCommerceLayout);
51
53
  export { AtomicCommerceLayout };
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { NumberValue, Schema, StringValue } from '@coveo/bueno';
8
8
  import { buildProductListing, buildSearch, } from '@coveo/headless/commerce';
9
- import { html, LitElement, nothing } from 'lit';
9
+ import { css, html, LitElement, nothing } from 'lit';
10
10
  import { customElement, property, state } from 'lit/decorators.js';
11
11
  import { keyed } from 'lit/directives/keyed.js';
12
12
  import { map } from 'lit/directives/map.js';
@@ -25,10 +25,13 @@ import { createAppLoadedListener } from '../../common/interface/store.js';
25
25
  import { renderDisplayWrapper } from '../../common/item-list/display-wrapper.js';
26
26
  import { renderGridLayout } from '../../common/item-list/grid-layout.js';
27
27
  import { ItemListCommon, } from '../../common/item-list/item-list-common.js';
28
+ import gridDisplayStyles from '../../common/item-list/styles/grid-display.tw.css';
29
+ import listDisplayStyles from '../../common/item-list/styles/list-display.tw.css';
30
+ import placeholderStyles from '../../common/item-list/styles/placeholders.tw.css';
31
+ import tableDisplayStyles from '../../common/item-list/styles/table-display.tw.css';
28
32
  import { renderTableData, renderTableLayout, renderTableRow, } from '../../common/item-list/table-layout.js';
29
33
  import { getItemListDisplayClasses, } from '../../common/layout/display-options.js';
30
34
  import { ProductTemplateProvider } from '../product-list/product-template-provider.js';
31
- import styles from './atomic-commerce-product-list.tw.css';
32
35
  /**
33
36
  * The `atomic-commerce-product-list` component is responsible for displaying products.
34
37
  *
@@ -52,7 +55,7 @@ let AtomicCommerceProductList = class AtomicCommerceProductList extends Children
52
55
  super(...arguments);
53
56
  this.loadingFlag = randomID('firstProductLoaded-');
54
57
  this.isAppLoaded = false;
55
- this.isEveryProductsReady = false;
58
+ this.isEveryProductReady = false;
56
59
  this.resultTemplateRegistered = false;
57
60
  this.templateHasError = false;
58
61
  /**
@@ -104,25 +107,27 @@ let AtomicCommerceProductList = class AtomicCommerceProductList extends Children
104
107
  }
105
108
  async updated(changedProperties) {
106
109
  super.updated(changedProperties);
107
- if (changedProperties.has('searchOrListingState') &&
108
- this.isEveryProductsReady) {
109
- this.isEveryProductsReady = false;
110
+ if (changedProperties.has('searchOrListingState')) {
111
+ const oldState = changedProperties.get('searchOrListingState');
112
+ if (!oldState?.isLoading && this.searchOrListingState.isLoading) {
113
+ this.isEveryProductReady = false;
114
+ }
110
115
  }
111
116
  await this.updateProductsReadyState();
112
117
  }
113
118
  async updateProductsReadyState() {
114
119
  if (this.isAppLoaded &&
115
- !this.isEveryProductsReady &&
120
+ !this.isEveryProductReady &&
116
121
  this.summaryState?.firstRequestExecuted &&
117
122
  this.searchOrListingState?.products?.length > 0) {
118
123
  await this.getUpdateComplete();
119
- this.isEveryProductsReady = true;
124
+ this.isEveryProductReady = true;
120
125
  }
121
126
  }
122
127
  render() {
123
128
  return html `${when(this.shouldRender, () => html `${when(this.templateHasError, () => html `<slot></slot>`, () => {
124
129
  const listClasses = this.computeListDisplayClasses();
125
- const productClasses = `${listClasses} ${!this.isEveryProductsReady && 'hidden'}`;
130
+ const productClasses = `${listClasses} ${!this.isEveryProductReady && 'hidden'}`;
126
131
  // Products must be rendered immediately (though hidden) to start their initialization and loading processes.
127
132
  // If we wait to render products until placeholders are removed, the components won't begin loading until then,
128
133
  // causing a longer delay. The `isEveryProductsReady` flag hides products while preserving placeholders,
@@ -131,7 +136,7 @@ let AtomicCommerceProductList = class AtomicCommerceProductList extends Children
131
136
  ${when(this.isAppLoaded, () => renderDisplayWrapper({
132
137
  props: { listClasses: productClasses, display: this.display },
133
138
  })(html `${when(this.display === 'grid', () => this.renderGrid(), () => html `${when(this.display === 'list', () => this.renderList(), () => this.renderTable())}`)}`))}
134
- ${when(!this.isEveryProductsReady, () => renderDisplayWrapper({
139
+ ${when(!this.isEveryProductReady, () => renderDisplayWrapper({
135
140
  props: { listClasses, display: this.display },
136
141
  })(renderItemPlaceholders({
137
142
  props: {
@@ -213,7 +218,7 @@ let AtomicCommerceProductList = class AtomicCommerceProductList extends Children
213
218
  this.searchOrListing.promoteChildToParent(child);
214
219
  }
215
220
  computeListDisplayClasses() {
216
- const displayPlaceholders = !(this.isAppLoaded && this.isEveryProductsReady);
221
+ const displayPlaceholders = !(this.isAppLoaded && this.isEveryProductReady);
217
222
  return getItemListDisplayClasses(this.display, this.density, this.imageSize, this.searchOrListingState?.isLoading, displayPlaceholders);
218
223
  }
219
224
  renderGrid() {
@@ -326,7 +331,14 @@ let AtomicCommerceProductList = class AtomicCommerceProductList extends Children
326
331
  (!this.summaryState.firstRequestExecuted || this.summaryState.hasProducts));
327
332
  }
328
333
  };
329
- AtomicCommerceProductList.styles = styles;
334
+ AtomicCommerceProductList.styles = [
335
+ placeholderStyles,
336
+ tableDisplayStyles,
337
+ listDisplayStyles,
338
+ gridDisplayStyles,
339
+ css`/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
340
+ :host{& .result-link{color:var(--atomic-on-background);&:hover,&:focus-visible{color:var(--atomic-primary);text-decoration:underline}&:focus{outline:none}&:visited{color:var(--atomic-visited)}}& .result-grid{grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;& a{justify-content:center}}& .result-list{flex-direction:column;display:flex;& .result-item{flex-wrap:wrap;width:100%;max-width:600px;display:flex;& .result-details{align-content:center}}}}@media (width>=1024px){:host .result-grid{display:grid}}@media not all and (width>=1024px){:host .result-grid{flex-direction:column;display:flex}}`,
341
+ ];
330
342
  __decorate([
331
343
  state()
332
344
  ], AtomicCommerceProductList.prototype, "bindings", void 0);
@@ -338,7 +350,7 @@ __decorate([
338
350
  ], AtomicCommerceProductList.prototype, "isAppLoaded", void 0);
339
351
  __decorate([
340
352
  state()
341
- ], AtomicCommerceProductList.prototype, "isEveryProductsReady", void 0);
353
+ ], AtomicCommerceProductList.prototype, "isEveryProductReady", void 0);
342
354
  __decorate([
343
355
  state()
344
356
  ], AtomicCommerceProductList.prototype, "resultTemplateRegistered", void 0);
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { NumberValue, Schema, StringValue } from '@coveo/bueno';
8
8
  import { buildRecommendations, } from '@coveo/headless/commerce';
9
- import { html, LitElement, nothing } from 'lit';
9
+ import { css, html, LitElement, nothing } from 'lit';
10
10
  import { customElement, property, state } from 'lit/decorators.js';
11
11
  import { keyed } from 'lit/directives/keyed.js';
12
12
  import { map } from 'lit/directives/map.js';
@@ -29,7 +29,7 @@ import { withTailwindStyles } from "../../../decorators/with-tailwind-styles";
29
29
  import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
30
30
  import { FocusTargetController } from "../../../utils/accessibility-utils";
31
31
  import { randomID } from "../../../utils/utils";
32
- import styles from './atomic-commerce-recommendation-list.tw.css';
32
+ import placeholderStyles from '../../common/item-list/styles/placeholders.tw.css';
33
33
  /**
34
34
  * The `atomic-commerce-recommendation-list` component displays a list of product recommendations by applying one or more product templates.
35
35
  *
@@ -378,7 +378,11 @@ let AtomicCommerceRecommendationList = class AtomicCommerceRecommendationList ex
378
378
  return true;
379
379
  }
380
380
  };
381
- AtomicCommerceRecommendationList.styles = styles;
381
+ AtomicCommerceRecommendationList.styles = [
382
+ placeholderStyles,
383
+ css`/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
384
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}:host{& [part~=outline][part~=result-list-grid-clickable-container]{border:1px solid #0000;border-radius:1rem;padding:1rem;transition:all .12s ease-out;position:relative;&:hover{border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);box-shadow:0px 10px 25px var(--atomic-neutral);cursor:pointer}}& [part=result-list-grid-clickable]:focus-visible{border-style:var(--tw-border-style);border-width:2px;border-color:var(--atomic-primary);color:var(--atomic-primary);cursor:pointer;text-align:center;border-radius:2px;text-decoration:underline;display:inline-block;position:absolute}& [part=result-list-grid-clickable]:not(:focus){clip:rect(1px,1px,1px,1px);padding:0;position:absolute;overflow:hidden}& .list-wrapper{word-break:break-word}& .list-root.display-grid{justify-content:space-evenly;display:grid;& .result-component{box-sizing:border-box;height:100%}}& .list-root{grid-column-gap:.5rem;grid-row-gap:.5rem;grid-template-columns:repeat(var(--atomic-recs-number-of-columns,1),minmax(0,1fr));grid-template-rows:repeat(var(--atomic-recs-number-of-rows,1),minmax(0,1fr));& [part~=outline]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:1rem;padding:1rem}& atomic-result-placeholder{border-color:#0000}}& [part=label]{font-family:var(--atomic-font-family);font-size:var(--atomic-text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-font-weight:var(--atomic-font-bold);font-weight:var(--atomic-font-bold)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}`,
385
+ ];
382
386
  __decorate([
383
387
  state()
384
388
  ], AtomicCommerceRecommendationList.prototype, "bindings", void 0);
@@ -1,4 +1,4 @@
1
1
  import { css } from 'lit';
2
2
  const styles = css`/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */
3
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}atomic-result-section-badges{text-align:left}atomic-result-section-actions{text-align:right}atomic-result-section-title-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.5rem}:host{position:relative;@layer components{& :host{font-family:var(--atomic-font-family);--tw-font-weight:var(--atomic-font-normal);font-weight:var(--atomic-font-normal)}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{text-align:left}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.5rem}& .result-root{&.with-sections{justify-items:stretch;display:grid;& atomic-result-section-visual,& atomic-product-section-visual{grid-area:visual}& atomic-result-section-badges{grid-area:badges}& atomic-result-section-actions,& atomic-product-section-actions{grid-area:actions;& atomic-result-quickview{display:inline-block}}& atomic-result-section-title,& atomic-product-section-name{color:var(--atomic-on-background);grid-area:title}& atomic-result-section-title-metadata,& atomic-product-section-metadata{grid-area:title-metadata}& atomic-result-section-emphasized{grid-area:emphasized}& atomic-result-section-excerpt{color:var(--atomic-neutral-dark);grid-area:excerpt}& atomic-result-section-bottom-metadata{color:var(--atomic-neutral-dark);grid-area:bottom-metadata}& atomic-result-section-children{grid-area:children}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{max-height:calc(2*var(--row-height,2rem) + .5rem);flex-wrap:wrap;gap:.5rem;display:flex}& atomic-result-section-visual,& atomic-product-section-visual,& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions,& atomic-result-section-title,& atomic-product-section-name,& atomic-result-section-title-metadata,& atomic-product-section-metadata,& atomic-result-section-emphasized,& atomic-result-section-excerpt,& atomic-product-section-description,& atomic-result-section-bottom-metadata{text-overflow:ellipsis;overflow:hidden}&.image-icon{& atomic-result-section-visual,& atomic-product-section-visual{border-radius:var(--atomic-border-radius)}}&.display-list{@media (width>=1024px){&.image-large.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{width:10.25rem;height:10.25rem}}& atomic-result-section-children{& atomic-result-children::part(children-root),& atomic-insight-result-children::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px}}&.density-comfortable{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1.5rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1.5rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-2xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:4.5rem;margin-top:1.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:1.25rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:1.25rem;padding:1.75rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:1.25rem;padding:1.75rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.75rem}}&.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:.875rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.875rem;padding:1.5rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.875rem;padding:1.5rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.5rem}}&.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;max-height:1.25rem;margin-top:1rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.6875rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.475rem;padding:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.475rem;padding:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1rem}}&.image-large,&.image-small{grid-template-rows:repeat(6,auto) minmax(0,1fr);grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-large.density-comfortable,&.image-large.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{width:20.375rem;height:20.375rem}}&.image-small,&.image-large.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{width:10rem;height:10rem}}&.image-icon{grid-template-rows:repeat(7,minmax(0,min-content));grid-template-columns:minmax(0,min-content) auto 1fr auto;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";& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}&.image-none{grid-template-rows:repeat(6,auto);grid-template-columns:auto 1fr auto;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";& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}@media not all and (width>=1024px){& atomic-result-section-children{& atomic-result-children::part(children-root),& atomic-insight-result-children::part(children-root){border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--atomic-neutral)}}&.density-comfortable{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:.75rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.75rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.75rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.75rem}}&.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:.75rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:.625rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.5rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.5rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.5rem}}&.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:.5em}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;max-height:1.25rem;margin-top:.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.4375rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1rem}}&.image-large{grid-template-rows:repeat(8,auto);grid-template-columns:100%;grid-template-areas:"visual""badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children";& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;margin-bottom:1rem;margin-right:0;@supports not (aspect-ratio:1 / 1){&{height:7.25rem}}}}&.image-small{grid-template-rows:repeat(4,auto) minmax(0,1fr) repeat(3,auto);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual.""excerpt excerpt""bottom-metadata bottom-metadata""actions actions""children children";& atomic-result-section-visual,& atomic-product-section-visual{width:24vw;height:24vw;margin-bottom:1rem}}&.image-icon{grid-template-rows:repeat(7,auto) 1fr;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual excerpt""visual bottom-metadata""visual actions""visual children";& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem;margin-bottom:0}}&.image-none{grid-template-rows:repeat(7,auto);grid-template-columns:100%;grid-template-areas:"badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children";& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}}&.display-grid{& a,& button{position:relative}&.image-large{@media (width>=1024px){&{grid-template-rows:repeat(9,auto);grid-template-columns:100%;grid-template-areas:"badges""visual""title""title-metadata""emphasized""excerpt""children""bottom-metadata""actions"}&.density-comfortable{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 2rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:2rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2.5rem;margin-top:2.25rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-2xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:2.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:1.75rem}}&.density-normal{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 1.5rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:1.5rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1.75rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:1.375rem}}&.density-compact{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 1rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:1rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1.25rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.9375rem}}&.image-large{& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:19.75rem}}}& atomic-result-section-badges{margin-bottom:1rem}}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:14rem}}}}&.image-none{& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}@media not all and (width>=1024px){& atomic-result-section-children{& atomic-result-children::part(children-root),& atomic-insight-result-children::part(children-root){border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--atomic-neutral)}}&.density-comfortable{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:.75rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.75rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.75rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.75rem}}&.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:.75rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:.625rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.5rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1.5rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.5rem}}&.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2.5rem;margin-top:.5em}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;max-height:1.25rem;margin-top:.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.4375rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){margin-inline:-1rem;padding-top:1rem;margin-top:1rem;padding-inline:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1rem}}&.image-large{grid-template-rows:repeat(8,auto);grid-template-columns:100%;grid-template-areas:"visual""badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children";& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;margin-bottom:1rem;margin-right:0;@supports not (aspect-ratio:1 / 1){&{height:7.25rem}}}}&.image-small{grid-template-rows:repeat(4,auto) minmax(0,1fr) repeat(3,auto);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual.""excerpt excerpt""bottom-metadata bottom-metadata""actions actions""children children";& atomic-result-section-visual,& atomic-product-section-visual{width:24vw;height:24vw;margin-bottom:1rem}}&.image-icon{grid-template-rows:repeat(7,auto) 1fr;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual excerpt""visual bottom-metadata""visual actions""visual children";& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem;margin-bottom:0}}&.image-none{grid-template-rows:repeat(7,auto);grid-template-columns:100%;grid-template-areas:"badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children";& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}}&.image-small,&.image-icon,&.image-none{@media (width>=1024px){&{grid-template-rows:repeat(9,auto);grid-template-columns:100%;grid-template-areas:"badges""visual""title""title-metadata""emphasized""excerpt""children""bottom-metadata""actions"}&.density-comfortable{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 2rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:2rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2.5rem;margin-top:2.25rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-2xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:2.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:1.75rem}}&.density-normal{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 1.5rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:1.5rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1.75rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:1.375rem}}&.density-compact{&.image-large,&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{margin:0 auto 1rem}}&.image-icon{& atomic-result-section-badges{margin-bottom:1rem}& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1.25rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.9375rem}}&.image-large{& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:19.75rem}}}& atomic-result-section-badges{margin-bottom:1rem}}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:14rem}}}}&.image-none{& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}@media not all and (width>=1024px){&{grid-template-rows:repeat(9,auto);grid-template-columns:100%;grid-template-areas:"badges""visual""title""title-metadata""emphasized""excerpt""children""bottom-metadata""actions"}&.density-comfortable{& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:1rem}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{width:10.25rem;height:10.25rem}}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1.25rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:3rem;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3rem;margin-top:1rem}& atomic-result-section-children{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:1.25rem}}&.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.75rem}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{width:10.25rem;height:10.25rem}}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:3rem;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3rem;margin-top:.75rem}& atomic-result-section-children{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:1rem}}&.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{margin-bottom:.5rem}&.image-large{& atomic-result-section-visual,& atomic-product-section-visual{width:100%}}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{width:10.25rem;height:10.25rem}}& atomic-result-section-badges{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-bottom:1rem}& atomic-result-section-actions,& atomic-product-section-actions{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);--row-height:2rem;margin-top:.75rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:3rem;display:-webkit-box;overflow:hidden}& atomic-result-section-title-metadata,& atomic-product-section-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.475rem}& atomic-result-section-emphasized{--font-size:var(--atomic-text-2xl);font-weight:500;font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3rem;margin-top:.5rem}& atomic-result-section-children{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);margin-top:.75rem}}&.image-small{& atomic-result-section-visual,& atomic-product-section-visual{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:100%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:9rem}}}}&.image-icon{& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}&.image-none{& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}}}&.display-table{&.image-large.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{width:10.25rem;height:10.25rem}}& atomic-result-section-children{& atomic-result-children::part(children-root),& atomic-insight-result-children::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px}}&.density-comfortable{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1.5rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1.5rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-2xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-lg);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:4.5rem;margin-top:1.75rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:4rem;margin-top:1.25rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:1.25rem;padding:1.75rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:1.25rem;padding:1.75rem}&::part(show-hide-button){margin-top:1.25rem;margin-bottom:1.25rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.75rem}}&.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.5rem;margin-top:1.25rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.5rem;margin-top:.875rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.875rem;padding:1.5rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.875rem;padding:1.5rem}&::part(show-hide-button){margin-top:.875rem;margin-bottom:.875rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1.5rem}}&.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{margin-right:1rem}& atomic-result-section-badges,& atomic-result-section-actions,& atomic-product-section-actions{--row-height:2rem;margin-bottom:1rem}& atomic-result-section-title,& atomic-product-section-name{--font-size:var(--atomic-text-xl);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height)}& atomic-result-section-excerpt{--font-size:var(--atomic-text-base);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);-webkit-line-clamp:1;-webkit-box-orient:vertical;max-height:1.25rem;margin-top:1rem;display:-webkit-box;overflow:hidden}& atomic-result-section-bottom-metadata{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);font-size:var(--font-size);line-height:var(--line-height);max-height:3.25rem;margin-top:.6875rem}& atomic-result-section-title-metadata,& atomic-product-section-metadata{margin-top:.475rem}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.475rem;padding:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}& atomic-result-children,& atomic-insight-result-children{&::part(children-root){border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);border-radius:16px;margin-top:.475rem;padding:1rem}&::part(show-hide-button){margin-top:.475rem;margin-bottom:.475rem}}&.child-result:not(.last-child),& .placeholder{margin-bottom:1rem}}&.image-large,&.image-small{grid-template-rows:repeat(6,auto) minmax(0,1fr);grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-large.density-comfortable,&.image-large.density-normal{& atomic-result-section-visual,& atomic-product-section-visual{width:20.375rem;height:20.375rem}}&.image-small,&.image-large.density-compact{& atomic-result-section-visual,& atomic-product-section-visual{width:10rem;height:10rem}}&.image-icon{grid-template-rows:repeat(7,minmax(0,min-content));grid-template-columns:minmax(0,min-content) auto 1fr auto;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";& atomic-result-section-visual,& atomic-product-section-visual{width:2rem;height:2rem}}&.image-none{grid-template-rows:repeat(6,auto);grid-template-columns:auto 1fr auto;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";& atomic-result-section-visual,& atomic-product-section-visual{display:none}}}}& atomic-table-element{display:none}}& .link-container{display:none}}& .with-sections{&.image-icon{& atomic-product-image::part(previous-button),& atomic-product-image::part(next-button),& atomic-product-image::part(indicator){display:none}}&.display-grid{&.image-large,&.image-small,&.image-icon,&.image-none{& atomic-product-section-name{min-height:calc(var(--line-height)*2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}&.density-comfortable{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:1.25rem}}}&.density-normal{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:.75rem}}}&.density-compact{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:.25rem}}@media (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}@media not all and (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;aspect-ratio:1;aspect-ratio:1;width:16.65%;max-width:4.75rem;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}}}}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}`;
3
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}:host{position:relative;@layer components{& :host{font-family:var(--atomic-font-family);--tw-font-weight:var(--atomic-font-normal);font-weight:var(--atomic-font-normal)}& .result-root{&.with-sections{justify-items:stretch;display:grid;&.display-list{@media (width>=1024px){&.image-large,&.image-small{grid-template-rows:repeat(6,auto) minmax(0,1fr);grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-icon{grid-template-rows:repeat(7,minmax(0,min-content));grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-none{grid-template-rows:repeat(6,auto);grid-template-columns:auto 1fr auto;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"}}}&.display-table{&.image-large,&.image-small{grid-template-rows:repeat(6,auto) minmax(0,1fr);grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-icon{grid-template-rows:repeat(7,minmax(0,min-content));grid-template-columns:minmax(0,min-content) auto 1fr auto;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"}&.image-none{grid-template-rows:repeat(6,auto);grid-template-columns:auto 1fr auto;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"}}&.display-list{@media not all and (width>=1024px){&.image-large{grid-template-rows:repeat(8,auto);grid-template-columns:100%;grid-template-areas:"visual""badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children"}&.image-small{grid-template-rows:repeat(4,auto) minmax(0,1fr) repeat(3,auto);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual.""excerpt excerpt""bottom-metadata bottom-metadata""actions actions""children children"}&.image-icon{grid-template-rows:repeat(7,auto) 1fr;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual excerpt""visual bottom-metadata""visual actions""visual children"}&.image-none{grid-template-rows:repeat(7,auto);grid-template-columns:100%;grid-template-areas:"badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children"}}}&.display-grid{grid-template-rows:repeat(9,auto);grid-template-columns:100%;grid-template-areas:"badges""visual""title""title-metadata""emphasized""excerpt""children""bottom-metadata""actions";& a,& button{position:relative}@media not all and (width>=1024px){&.image-large{&.image-large{grid-template-rows:repeat(8,auto);grid-template-columns:100%;grid-template-areas:"visual""badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children"}&.image-small{grid-template-rows:repeat(4,auto) minmax(0,1fr) repeat(3,auto);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual.""excerpt excerpt""bottom-metadata bottom-metadata""actions actions""children children"}&.image-icon{grid-template-rows:repeat(7,auto) 1fr;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"badges badges""visual title""visual title-metadata""visual emphasized""visual excerpt""visual bottom-metadata""visual actions""visual children"}&.image-none{grid-template-rows:repeat(7,auto);grid-template-columns:100%;grid-template-areas:"badges""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children"}}}}}& atomic-table-element{display:none}}& .link-container{display:none}}& .result-root.display-grid{grid-template-areas:"badges""visual""title""title-metadata""emphasized""excerpt""bottom-metadata""actions""children"}& .with-sections{&.display-grid{&.image-large,&.image-small,&.image-icon,&.image-none{& atomic-product-section-name{min-height:calc(var(--line-height)*2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}@media not all and (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;max-width:4.75rem;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}&.density-comfortable{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:1.25rem}}}&.density-normal{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:.75rem}}}&.density-compact{&.image-icon,&.image-none,&.image-small,&.image-large{& atomic-product-section-description{margin-top:.25rem}}@media (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}@media not all and (width>=1024px){&.image-large atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-small atomic-product-section-children .product-child{aspect-ratio:1;width:16.65%;max-width:4.75rem;height:auto;@supports not (aspect-ratio:1 / 1){&{height:auto}}}&.image-icon atomic-product-section-children .product-child,&.image-none atomic-product-section-children .product-child{width:2rem;height:2rem}}}}}}@property --tw-font-weight{syntax:"*";inherits:false}`;
4
4
  export default styles;
@@ -10,12 +10,12 @@ import { customElement, property, state } from 'lit/decorators.js';
10
10
  import { bindings } from "../../../decorators/bindings";
11
11
  import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
12
12
  import { errorGuard } from "../../../decorators/error-guard";
13
- import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
14
13
  import { filterProtocol } from '../../../utils/xss-utils';
15
14
  import { renderButton } from '../../common/button';
16
15
  import '../atomic-commerce-text/atomic-commerce-text';
17
16
  import { bindingGuard } from "../../../decorators/binding-guard";
18
17
  import { multiClassMap, tw } from "../../../directives/multi-class-map";
18
+ import { LightDomMixin } from "../../../mixins/light-dom";
19
19
  import { closest } from "../../../utils/dom-utils";
20
20
  /**
21
21
  * Maximum number of child products to display before showing a "+N" button.
@@ -30,7 +30,7 @@ const AMOUNT_OF_VISIBLE_CHILDREN = 5;
30
30
  * The component displays up to 5 child products before showing a "+N" button for additional variants.
31
31
  * This limit ensures consistent UI layout while preventing performance issues with large product variant collections.
32
32
  */
33
- let AtomicProductChildren = class AtomicProductChildren extends LitElement {
33
+ let AtomicProductChildren = class AtomicProductChildren extends LightDomMixin(LitElement) {
34
34
  constructor() {
35
35
  super(...arguments);
36
36
  this.productController = createProductContextController(this);
@@ -61,9 +61,6 @@ let AtomicProductChildren = class AtomicProductChildren extends LitElement {
61
61
  }
62
62
  };
63
63
  }
64
- createRenderRoot() {
65
- return this;
66
- }
67
64
  initialize() {
68
65
  const product = this.productController.item;
69
66
  if (product) {
@@ -188,7 +185,6 @@ __decorate([
188
185
  ], AtomicProductChildren.prototype, "render", null);
189
186
  AtomicProductChildren = __decorate([
190
187
  customElement('atomic-product-children'),
191
- bindings(),
192
- withTailwindStyles
188
+ bindings()
193
189
  ], AtomicProductChildren);
194
190
  export { AtomicProductChildren };
@@ -15,11 +15,11 @@ import { createProductContextController } from "../../../decorators/commerce/pro
15
15
  import { errorGuard } from "../../../decorators/error-guard.js";
16
16
  import { renderExpandableText, } from '../../common/expandable-text/expandable-text.js';
17
17
  import '../atomic-product-text/atomic-product-text.js';
18
- import { injectStylesForNoShadowDOM } from "../../../decorators/inject-styles-for-no-shadow-dom.js";
18
+ import { LightDomMixin } from "../../../mixins/light-dom.js";
19
19
  /**
20
20
  * The `atomic-product-description` component renders the description of a product.
21
21
  */
22
- let AtomicProductDescription = class AtomicProductDescription extends LitElement {
22
+ let AtomicProductDescription = class AtomicProductDescription extends LightDomMixin(LitElement) {
23
23
  initialize() {
24
24
  this.validateProps();
25
25
  }
@@ -140,7 +140,6 @@ __decorate([
140
140
  ], AtomicProductDescription.prototype, "render", null);
141
141
  AtomicProductDescription = __decorate([
142
142
  customElement('atomic-product-description'),
143
- bindings(),
144
- injectStylesForNoShadowDOM
143
+ bindings()
145
144
  ], AtomicProductDescription);
146
145
  export { AtomicProductDescription };
@@ -15,11 +15,11 @@ import { createProductContextController } from "../../../decorators/commerce/pro
15
15
  import { errorGuard } from "../../../decorators/error-guard";
16
16
  import { renderExpandableText, } from '../../common/expandable-text/expandable-text';
17
17
  import '../atomic-product-text/atomic-product-text.js';
18
- import { injectStylesForNoShadowDOM } from "../../../decorators/inject-styles-for-no-shadow-dom";
18
+ import { LightDomMixin } from "../../../mixins/light-dom";
19
19
  /**
20
20
  * The `atomic-product-excerpt` component renders the excerpt of a product.
21
21
  */
22
- let AtomicProductExcerpt = class AtomicProductExcerpt extends LitElement {
22
+ let AtomicProductExcerpt = class AtomicProductExcerpt extends LightDomMixin(LitElement) {
23
23
  initialize() { }
24
24
  constructor() {
25
25
  super();
@@ -118,7 +118,6 @@ __decorate([
118
118
  ], AtomicProductExcerpt.prototype, "render", null);
119
119
  AtomicProductExcerpt = __decorate([
120
120
  customElement('atomic-product-excerpt'),
121
- bindings(),
122
- injectStylesForNoShadowDOM
121
+ bindings()
123
122
  ], AtomicProductExcerpt);
124
123
  export { AtomicProductExcerpt };
@@ -9,6 +9,7 @@ import { customElement, property, state } from 'lit/decorators.js';
9
9
  import { bindings } from "../../../decorators/bindings";
10
10
  import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
11
11
  import { errorGuard } from "../../../decorators/error-guard";
12
+ import { LightDomMixin } from "../../../mixins/light-dom";
12
13
  import { mapProperty } from "../../../utils/props-utils";
13
14
  import { makeDefinedConditions, makeMatchConditions, } from '../../common/product-template/product-template-common';
14
15
  /**
@@ -17,14 +18,11 @@ import { makeDefinedConditions, makeMatchConditions, } from '../../common/produc
17
18
  *
18
19
  * @slot default - The content to render if the conditions are met.
19
20
  */
20
- let AtomicProductFieldCondition = class AtomicProductFieldCondition extends LitElement {
21
+ let AtomicProductFieldCondition = class AtomicProductFieldCondition extends LightDomMixin(LitElement) {
21
22
  constructor() {
22
23
  super(...arguments);
23
24
  this.productController = createProductContextController(this);
24
25
  }
25
- createRenderRoot() {
26
- return this;
27
- }
28
26
  initialize() { }
29
27
  get conditions() {
30
28
  return [