@depict-ai/react-ui 2.0.12 → 2.1.1

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 (48) hide show
  1. package/ES10/index.cjs +51 -15
  2. package/ES10/index.d.ts +38 -2
  3. package/ES10/index.js +52 -16
  4. package/dist/main.js +527 -0
  5. package/dist/module.js +510 -0
  6. package/dist/styles/components/PLP/Buttons.scss +181 -0
  7. package/dist/styles/components/PLP/MorphingSign.scss +30 -0
  8. package/dist/styles/components/PLP/PLPResults.scss +26 -0
  9. package/dist/styles/components/PLP/ProductListingPage.scss +168 -0
  10. package/dist/styles/components/PLP/ScrollStatus.scss +31 -0
  11. package/dist/styles/components/PLP/SelectedFilters.scss +82 -0
  12. package/dist/styles/components/PLP/SlidableItems.scss +121 -0
  13. package/dist/styles/components/PLP/SortAndFilter/FloatingButtons.scss +84 -0
  14. package/dist/styles/components/PLP/SortAndFilter/SortAndFilter.scss +800 -0
  15. package/dist/styles/components/PLP/SortAndFilter/SortAndFilterModal.scss +158 -0
  16. package/dist/styles/components/PLP/SortAndFilter/WhiteSortAndFilter.scss +152 -0
  17. package/dist/styles/components/PLP/Toast.scss +59 -0
  18. package/dist/styles/components/PLP/index.scss +51 -0
  19. package/dist/styles/components/category/BreadCrumbs.scss +32 -0
  20. package/dist/styles/components/category/CategoryTitle.scss +40 -0
  21. package/dist/styles/components/category/QuickLinks.scss +80 -0
  22. package/dist/styles/components/category/index.scss +23 -0
  23. package/dist/styles/components/search/Autocomplete.scss +197 -0
  24. package/dist/styles/components/search/CategorySuggestions.scss +82 -0
  25. package/dist/styles/components/search/InstantCard.scss +122 -0
  26. package/dist/styles/components/search/InstantResults.scss +12 -0
  27. package/dist/styles/components/search/PreviousSearches.scss +90 -0
  28. package/dist/styles/components/search/QueryInput.scss +189 -0
  29. package/dist/styles/components/search/SearchModal.scss +101 -0
  30. package/dist/styles/components/search/SearchRecommendations.scss +28 -0
  31. package/dist/styles/components/search/ShowingResultsFor.scss +13 -0
  32. package/dist/styles/components/search/index.scss +40 -0
  33. package/dist/styles/default.css +1 -0
  34. package/dist/styles/helpers/custom_input.scss +194 -0
  35. package/dist/styles/helpers/supports-hover.scss +7 -0
  36. package/dist/styles/helpers/utils.scss +90 -0
  37. package/dist/styles/plain-css-fallback-styling.css +1 -1
  38. package/dist/styles/variables.scss +61 -0
  39. package/latest/index.cjs +51 -15
  40. package/latest/index.d.ts +38 -2
  41. package/latest/index.js +52 -16
  42. package/package.json +7 -7
  43. package/server/ES10/index.cjs +8 -8
  44. package/server/ES10/index.d.ts +38 -2
  45. package/server/ES10/index.js +8 -8
  46. package/server/latest/index.cjs +8 -8
  47. package/server/latest/index.d.ts +38 -2
  48. package/server/latest/index.js +8 -8
package/ES10/index.cjs CHANGED
@@ -38,7 +38,7 @@ $parcel$export(module.exports, "version", () => $efbdd2dab4314170$export$83d89fb
38
38
  $parcel$export(module.exports, "Navigation", () => $0d3a2413fdeb34b9$export$b8a61e5c71402559);
39
39
  /*! Depict.ai search and product listing react SDK wrapper */ // This is where the actual source of your React stuff should live
40
40
  // Note, if you add an export here, also add one in src-server/main.ts
41
- const $efbdd2dab4314170$export$83d89fbfd8236492 = "2.0.12";
41
+ const $efbdd2dab4314170$export$83d89fbfd8236492 = "2.1.1";
42
42
  const $ef516b1f92253963$export$8e769ad4338a911e = {
43
43
  usedLocale: $2kiy7$solidjs.createSignal((0, $2kiy7$depictaiuilocales.defaultLocale)),
44
44
  search_instances: new Map(),
@@ -510,9 +510,9 @@ class $e9048b15cf1e8792$export$d0f82e3ef89b1f22 extends (0, $2kiy7$react.Compone
510
510
  return this.props.children;
511
511
  }
512
512
  }
513
- async function $99405615baa3d774$export$79c79419c1ef0081(_ref) {
513
+ async function $3441d987b5ea85cb$export$32024253978abdc7(_ref) {
514
514
  let {
515
- display: display,
515
+ component_props: component_props,
516
516
  component_portals: component_portals,
517
517
  set_portals: set_portals,
518
518
  get_react_template: get_react_template
@@ -529,9 +529,7 @@ async function $99405615baa3d774$export$79c79419c1ef0081(_ref) {
529
529
  const [react_template, set_react_template] = $2kiy7$react.useState(() => $2kiy7$solidjs.untrack(get_react_template));
530
530
  call_when_template_changes = set_react_template;
531
531
  return react_template(props);
532
- }, {
533
- display: display
534
- });
532
+ }, component_props);
535
533
  const reactProductCardInErrorBoundary = $2kiy7$reactjsxruntime.jsx((0, $e9048b15cf1e8792$export$d0f82e3ef89b1f22), {
536
534
  children: reactProductCard,
537
535
  on_error: error => $2kiy7$solidjs.runWithOwner(owner, () => {
@@ -562,6 +560,28 @@ async function $99405615baa3d774$export$79c79419c1ef0081(_ref) {
562
560
  await react_has_ran_hooks; // After React has created elements it still takes some time to actually connect the refs and run the hooks. We don't want to replace placeholders before then.
563
561
  return [solid_container];
564
562
  }
563
+ function $2a64b3ddab2ffebd$export$84006927f874e911(blocks, component_portals, set_portals) {
564
+ return $2kiy7$solidjs.mapArray(blocks, block => {
565
+ if (!block) return block;
566
+ return {
567
+ get span_columns() {
568
+ return block === null || block === void 0 ? void 0 : block.spanColumns;
569
+ },
570
+ get span_rows() {
571
+ return block === null || block === void 0 ? void 0 : block.spanRows;
572
+ },
573
+ get position() {
574
+ return block === null || block === void 0 ? void 0 : block.position;
575
+ },
576
+ content: () => $3441d987b5ea85cb$export$32024253978abdc7({
577
+ get_react_template: () => block.content,
578
+ component_portals: component_portals,
579
+ set_portals: set_portals,
580
+ component_props: {}
581
+ })
582
+ };
583
+ });
584
+ }
565
585
  const $735104b46c50160f$var$rendered_components_with_state_key = new Set();
566
586
  function $735104b46c50160f$export$a54ec244c8863715(props) {
567
587
  return $e7ba61a7074c02d3$export$f6e64e17bd69eeef({
@@ -610,6 +630,7 @@ function $735104b46c50160f$var$SolidSearchPage(props, set_portals) {
610
630
  return $2kiy7$solidjs.createMemo(() => {
611
631
  const stateKey = $2kiy7$solidjs.untrack(() => props.stateKey);
612
632
  if ($735104b46c50160f$var$rendered_components_with_state_key.has(stateKey)) throw new Error("You have multiple SearchPage components with the same stateKey: ".concat(stateKey, ". Each SearchPage component must have a unique stateKey."));
633
+ const transformed_content_blocks = $2a64b3ddab2ffebd$export$84006927f874e911(() => props.contentBlocksByRow, component_portals, set_portals);
613
634
  $735104b46c50160f$var$rendered_components_with_state_key.add(stateKey);
614
635
  $2kiy7$solidjs.onCleanup(() => $735104b46c50160f$var$rendered_components_with_state_key.delete(stateKey));
615
636
  return $2kiy7$depictaiui.SearchPage({
@@ -626,12 +647,17 @@ function $735104b46c50160f$var$SolidSearchPage(props, set_portals) {
626
647
  return (_props$gridSpacing = props.gridSpacing) !== null && _props$gridSpacing !== void 0 ? _props$gridSpacing : (0, $2kiy7$depictaiui.defaultGridSpacing);
627
648
  },
628
649
  depict_search: depict_search(),
629
- product_card_template: display => $99405615baa3d774$export$79c79419c1ef0081({
630
- display: display,
650
+ product_card_template: display => $3441d987b5ea85cb$export$32024253978abdc7({
651
+ component_props: {
652
+ display: display
653
+ },
631
654
  get_react_template: () => props.productCard,
632
655
  component_portals: component_portals,
633
656
  set_portals: set_portals
634
- })
657
+ }),
658
+ get content_blocks_by_row() {
659
+ return transformed_content_blocks();
660
+ }
635
661
  });
636
662
  });
637
663
  }
@@ -692,6 +718,7 @@ function $15691268d8df90a9$var$SolidCategoryPage(props, set_portals) {
692
718
  if ($15691268d8df90a9$var$rendered_components_with_state_key.has(stateKey)) throw new Error("You have multiple CategoryPage components with the same stateKey: ".concat(stateKey, ". Each CategoryPage component must have a unique stateKey."));
693
719
  $15691268d8df90a9$var$rendered_components_with_state_key.add(stateKey);
694
720
  $2kiy7$solidjs.onCleanup(() => $15691268d8df90a9$var$rendered_components_with_state_key.delete(stateKey));
721
+ const transformed_content_blocks = $2a64b3ddab2ffebd$export$84006927f874e911(() => props.contentBlocksByRow, component_portals, set_portals);
695
722
  return $2kiy7$depictaiui.CategoryPage({
696
723
  depict_category: depict_category(),
697
724
  get cols_at_size() {
@@ -709,8 +736,13 @@ function $15691268d8df90a9$var$SolidCategoryPage(props, set_portals) {
709
736
  get show_quicklinks() {
710
737
  return props.showQuicklinks;
711
738
  },
712
- product_card_template: display => $99405615baa3d774$export$79c79419c1ef0081({
713
- display: display,
739
+ get content_blocks_by_row() {
740
+ return transformed_content_blocks();
741
+ },
742
+ product_card_template: display => $3441d987b5ea85cb$export$32024253978abdc7({
743
+ component_props: {
744
+ display: display
745
+ },
714
746
  get_react_template: () => props.productCard,
715
747
  component_portals: component_portals,
716
748
  set_portals: set_portals
@@ -789,8 +821,10 @@ function $745b83c12baac3c0$export$5abb40edfde2a843(props, set_portals) {
789
821
  get recommendations() {
790
822
  return props.recommendations;
791
823
  },
792
- product_card_template: display => $99405615baa3d774$export$79c79419c1ef0081({
793
- display: display,
824
+ product_card_template: display => $3441d987b5ea85cb$export$32024253978abdc7({
825
+ component_props: {
826
+ display: display
827
+ },
794
828
  get_react_template: () => props.productCard,
795
829
  component_portals: component_portals,
796
830
  set_portals: set_portals
@@ -819,8 +853,10 @@ function $27d583018ba6e604$export$bd8acc07a8bae229(props, set_portals) {
819
853
  display: display
820
854
  })))
821
855
  };
822
- return $99405615baa3d774$export$79c79419c1ef0081({
823
- display: display,
856
+ return $3441d987b5ea85cb$export$32024253978abdc7({
857
+ component_props: {
858
+ display: display
859
+ },
824
860
  get_react_template: () => props.productCard,
825
861
  component_portals: component_portals,
826
862
  set_portals: set_portals
package/ES10/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { DPC } from "@depict-ai/dpc/ES10";
2
- import React, { PropsWithChildren, ReactNode, ReactPortal, ReactElement } from "react";
2
+ import React, { PropsWithChildren, ReactNode, FC, ReactPortal, ReactElement } from "react";
3
3
  import { BaseProviderConfig, BaseSearchProviderConfig, BaseCategoryProviderConfig, ModernDisplayWithPageUrl, BaseProductListingConfig, BaseSearchPageConfig, BaseCategoryPageConfig, CategoryTitle, embedded_num_products, ImagePlaceholder as _ImagePlaceholder1, TextPlaceholder as _TextPlaceholder1, ExclusiveId, fetchDepictRecommendations } from "@depict-ai/ui/ES10";
4
4
  import { Locale } from "@depict-ai/ui/locales/ES10";
5
5
  import { Display, ModernDisplay } from "@depict-ai/utilishared/ES10";
6
- export const version = "2.0.12";
6
+ export const version = "2.1.1";
7
7
  interface UsePerformanceClientReturn {
8
8
  dpc: DPC;
9
9
  }
@@ -172,11 +172,43 @@ export interface DepictProductCardProps<T extends Display> {
172
172
  * Depict product card to use for rendering products.
173
173
  */
174
174
  export type DepictProductCard<T extends Display> = (props: DepictProductCardProps<T>) => ReactNode;
175
+ /**
176
+ * The interface for a content block.
177
+ * Please make sure that you don't have content blocks overlap as that will cause undefined behavior.
178
+ * The height of the content block will be the height of the tallest item in a row, so if there are no products in a row the content block needs to "bring its own height".
179
+ * If you need to load any data in the content block, please make sure to return a placeholder while you're doing so, to avoid layout shifts and ensure scroll restoration works correctly.
180
+ *
181
+ * - `spanColumns`: How many columns the block should span. This will be capped to the number of columns available.
182
+ * - `spanRows`: How many rows the block should span.
183
+ * - `position`: Where the block should be positioned. Can be `left`, `center` or `right`.
184
+ * - `content`: The content to render in the block - please provide a React component.
185
+ */
186
+ type ReactContentBlock = {
187
+ spanColumns: number;
188
+ spanRows: number;
189
+ position: "left" | "center" | "right";
190
+ content: FC;
191
+ };
192
+ /**
193
+ * A sparse array containing content blocks to show (or an empty slot or undefined if there's no block at that index). See ReactContentBlock for how a content block looks like. The index is the row where the content block should be shown.
194
+ * For example, to create a block on row 1 and 3 you'd do `[, block1, , block2]`.
195
+ * Alternatively:
196
+ * ```
197
+ * const blocks = [];
198
+ * blocks[1] = block1;
199
+ * blocks[3] = block2;
200
+ * ```
201
+ */
202
+ type ReactContentBlocksByRow = (undefined | ReactContentBlock)[];
175
203
  interface SearchPageConfig<T extends Display> extends BaseSearchPageConfig, PLPConfig<T> {
176
204
  /**
177
205
  * When using multiple search instances on the same page, you need to set a unique stateKey for each one. We recommend using an incrementing number, such as "1", "2", "3", etc. To associate a modal with a SearchPage keyed component, set the same stateKey on both. If no stateKey is provided, the "default" instance will be used.
178
206
  */
179
207
  stateKey?: string;
208
+ /**
209
+ * See JSDoc of ReactContentBlocksByRow
210
+ */
211
+ contentBlocksByRow?: ReactContentBlocksByRow;
180
212
  }
181
213
  /**
182
214
  * SearchPage is a component that renders a Depict search results page.
@@ -242,6 +274,10 @@ interface CategoryPageConfig<T extends Display> extends BaseCategoryPageConfig,
242
274
  * When using multiple CategoryPage components on the same page, you need to set a unique stateKey for each one. We recommend using an incrementing number, such as "1", "2", "3", etc. To associate a certain BreadCrumbs or QuickLinks component with a certain CategoryPage component, set the same stateKey on both.
243
275
  */
244
276
  stateKey?: string;
277
+ /**
278
+ * See JSDoc of ReactContentBlocksByRow
279
+ */
280
+ contentBlocksByRow?: ReactContentBlocksByRow;
245
281
  }
246
282
  /**
247
283
  * CategoryPage is a component that renders a Depict category page. Go to definition on the props for more info.
package/ES10/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { add_to_version_info as $jb2Oo$add_to_version_info, catchify as $jb2Oo$catchify, queueMacroTask as $jb2Oo$queueMacroTask, instant_exec_on_suspect_history_change as $jb2Oo$instant_exec_on_suspect_history_change, derror as $jb2Oo$derror } from "@depict-ai/utilishared/ES10";
2
2
  import { CategoryTitle as $383b6fd56bf151bd$re_export$CategoryTitle, embedded_num_products as $383b6fd56bf151bd$re_export$EmbeddedNumProducts, DepictAPI as $jb2Oo$DepictAPI, DepictSearch as $jb2Oo$DepictSearch, DepictCategory as $jb2Oo$DepictCategory, get_search_query_updating_blocked_signal as $jb2Oo$get_search_query_updating_blocked_signal, SearchPage as $jb2Oo$SearchPage, defaultColsAtSize as $jb2Oo$defaultColsAtSize, defaultGridSpacing as $jb2Oo$defaultGridSpacing, ProductCardError as $jb2Oo$ProductCardError, CategoryPage as $jb2Oo$CategoryPage, defaultCategoryTitlePlugin as $jb2Oo$defaultCategoryTitlePlugin, BreadCrumbs as $jb2Oo$BreadCrumbs, QuickLinks as $jb2Oo$QuickLinks, ImagePlaceholder as $jb2Oo$ImagePlaceholder, TextPlaceholder as $jb2Oo$TextPlaceholder, RecommendationSlider as $jb2Oo$RecommendationSlider, RecommendationGrid as $jb2Oo$RecommendationGrid, open_modal_with_alignment as $jb2Oo$open_modal_with_alignment, SearchField as $jb2Oo$SearchField, fetchDepictRecommendations as $jb2Oo$fetchDepictRecommendations } from "@depict-ai/ui/ES10";
3
- import { untrack as $jb2Oo$untrack, createRoot as $jb2Oo$createRoot, createEffect as $jb2Oo$createEffect, createMemo as $jb2Oo$createMemo, createComponent as $jb2Oo$createComponent, Show as $jb2Oo$Show, createSignal as $jb2Oo$createSignal, createComputed as $jb2Oo$createComputed, onCleanup as $jb2Oo$onCleanup, getOwner as $jb2Oo$getOwner, runWithOwner as $jb2Oo$runWithOwner, on as $jb2Oo$on } from "solid-js";
3
+ import { untrack as $jb2Oo$untrack, createRoot as $jb2Oo$createRoot, createEffect as $jb2Oo$createEffect, createMemo as $jb2Oo$createMemo, createComponent as $jb2Oo$createComponent, Show as $jb2Oo$Show, createSignal as $jb2Oo$createSignal, createComputed as $jb2Oo$createComputed, onCleanup as $jb2Oo$onCleanup, getOwner as $jb2Oo$getOwner, runWithOwner as $jb2Oo$runWithOwner, on as $jb2Oo$on, mapArray as $jb2Oo$mapArray } from "solid-js";
4
4
  import { createElement as $jb2Oo$createElement, Fragment as $jb2Oo$Fragment, useEffect as $jb2Oo$useEffect, useState as $jb2Oo$useState, useRef as $jb2Oo$useRef, forwardRef as $jb2Oo$forwardRef, Component as $jb2Oo$Component, useCallback as $jb2Oo$useCallback } from "react";
5
5
  import { defaultLocale as $jb2Oo$defaultLocale } from "@depict-ai/ui/locales/ES10";
6
6
  import { render as $jb2Oo$render, hydrate as $jb2Oo$hydrate, isServer as $jb2Oo$isServer } from "solid-js/web";
@@ -14,7 +14,7 @@ import { renderToString as $jb2Oo$renderToString } from "react-dom/server";
14
14
  // Note, if you add an export here, also add one in src-server/main.ts
15
15
  import { register_es_version } from "../multi_import_deduplicator.mjs";
16
16
  register_es_version("react-ui", "ES10");
17
- const $9bd9bb8700ab2ada$export$83d89fbfd8236492 = "2.0.12";
17
+ const $9bd9bb8700ab2ada$export$83d89fbfd8236492 = "2.1.1";
18
18
  const $8c691d7f86317052$export$8e769ad4338a911e = {
19
19
  usedLocale: $jb2Oo$createSignal((0, $jb2Oo$defaultLocale)),
20
20
  search_instances: new Map(),
@@ -486,9 +486,9 @@ class $88d93ed7309e90d1$export$d0f82e3ef89b1f22 extends (0, $jb2Oo$Component) {
486
486
  return this.props.children;
487
487
  }
488
488
  }
489
- async function $6593e4e126cb318f$export$79c79419c1ef0081(_ref) {
489
+ async function $cce08f18e2476cbf$export$32024253978abdc7(_ref) {
490
490
  let {
491
- display: display,
491
+ component_props: component_props,
492
492
  component_portals: component_portals,
493
493
  set_portals: set_portals,
494
494
  get_react_template: get_react_template
@@ -505,9 +505,7 @@ async function $6593e4e126cb318f$export$79c79419c1ef0081(_ref) {
505
505
  const [react_template, set_react_template] = $jb2Oo$useState(() => $jb2Oo$untrack(get_react_template));
506
506
  call_when_template_changes = set_react_template;
507
507
  return react_template(props);
508
- }, {
509
- display: display
510
- });
508
+ }, component_props);
511
509
  const reactProductCardInErrorBoundary = $jb2Oo$jsx((0, $88d93ed7309e90d1$export$d0f82e3ef89b1f22), {
512
510
  children: reactProductCard,
513
511
  on_error: error => $jb2Oo$runWithOwner(owner, () => {
@@ -538,6 +536,28 @@ async function $6593e4e126cb318f$export$79c79419c1ef0081(_ref) {
538
536
  await react_has_ran_hooks; // After React has created elements it still takes some time to actually connect the refs and run the hooks. We don't want to replace placeholders before then.
539
537
  return [solid_container];
540
538
  }
539
+ function $4a7d79203c110c2a$export$84006927f874e911(blocks, component_portals, set_portals) {
540
+ return $jb2Oo$mapArray(blocks, block => {
541
+ if (!block) return block;
542
+ return {
543
+ get span_columns() {
544
+ return block === null || block === void 0 ? void 0 : block.spanColumns;
545
+ },
546
+ get span_rows() {
547
+ return block === null || block === void 0 ? void 0 : block.spanRows;
548
+ },
549
+ get position() {
550
+ return block === null || block === void 0 ? void 0 : block.position;
551
+ },
552
+ content: () => $cce08f18e2476cbf$export$32024253978abdc7({
553
+ get_react_template: () => block.content,
554
+ component_portals: component_portals,
555
+ set_portals: set_portals,
556
+ component_props: {}
557
+ })
558
+ };
559
+ });
560
+ }
541
561
  const $d059770e7af9e2dc$var$rendered_components_with_state_key = new Set();
542
562
  function $d059770e7af9e2dc$export$a54ec244c8863715(props) {
543
563
  return $0dd9d9a9c7da4c1d$export$f6e64e17bd69eeef({
@@ -586,6 +606,7 @@ function $d059770e7af9e2dc$var$SolidSearchPage(props, set_portals) {
586
606
  return $jb2Oo$createMemo(() => {
587
607
  const stateKey = $jb2Oo$untrack(() => props.stateKey);
588
608
  if ($d059770e7af9e2dc$var$rendered_components_with_state_key.has(stateKey)) throw new Error("You have multiple SearchPage components with the same stateKey: ".concat(stateKey, ". Each SearchPage component must have a unique stateKey."));
609
+ const transformed_content_blocks = $4a7d79203c110c2a$export$84006927f874e911(() => props.contentBlocksByRow, component_portals, set_portals);
589
610
  $d059770e7af9e2dc$var$rendered_components_with_state_key.add(stateKey);
590
611
  $jb2Oo$onCleanup(() => $d059770e7af9e2dc$var$rendered_components_with_state_key.delete(stateKey));
591
612
  return $jb2Oo$SearchPage({
@@ -602,12 +623,17 @@ function $d059770e7af9e2dc$var$SolidSearchPage(props, set_portals) {
602
623
  return (_props$gridSpacing = props.gridSpacing) !== null && _props$gridSpacing !== void 0 ? _props$gridSpacing : (0, $jb2Oo$defaultGridSpacing);
603
624
  },
604
625
  depict_search: depict_search(),
605
- product_card_template: display => $6593e4e126cb318f$export$79c79419c1ef0081({
606
- display: display,
626
+ product_card_template: display => $cce08f18e2476cbf$export$32024253978abdc7({
627
+ component_props: {
628
+ display: display
629
+ },
607
630
  get_react_template: () => props.productCard,
608
631
  component_portals: component_portals,
609
632
  set_portals: set_portals
610
- })
633
+ }),
634
+ get content_blocks_by_row() {
635
+ return transformed_content_blocks();
636
+ }
611
637
  });
612
638
  });
613
639
  }
@@ -668,6 +694,7 @@ function $e86a296a07b17ad5$var$SolidCategoryPage(props, set_portals) {
668
694
  if ($e86a296a07b17ad5$var$rendered_components_with_state_key.has(stateKey)) throw new Error("You have multiple CategoryPage components with the same stateKey: ".concat(stateKey, ". Each CategoryPage component must have a unique stateKey."));
669
695
  $e86a296a07b17ad5$var$rendered_components_with_state_key.add(stateKey);
670
696
  $jb2Oo$onCleanup(() => $e86a296a07b17ad5$var$rendered_components_with_state_key.delete(stateKey));
697
+ const transformed_content_blocks = $4a7d79203c110c2a$export$84006927f874e911(() => props.contentBlocksByRow, component_portals, set_portals);
671
698
  return $jb2Oo$CategoryPage({
672
699
  depict_category: depict_category(),
673
700
  get cols_at_size() {
@@ -685,8 +712,13 @@ function $e86a296a07b17ad5$var$SolidCategoryPage(props, set_portals) {
685
712
  get show_quicklinks() {
686
713
  return props.showQuicklinks;
687
714
  },
688
- product_card_template: display => $6593e4e126cb318f$export$79c79419c1ef0081({
689
- display: display,
715
+ get content_blocks_by_row() {
716
+ return transformed_content_blocks();
717
+ },
718
+ product_card_template: display => $cce08f18e2476cbf$export$32024253978abdc7({
719
+ component_props: {
720
+ display: display
721
+ },
690
722
  get_react_template: () => props.productCard,
691
723
  component_portals: component_portals,
692
724
  set_portals: set_portals
@@ -765,8 +797,10 @@ function $c02e9fd51f31a1bd$export$5abb40edfde2a843(props, set_portals) {
765
797
  get recommendations() {
766
798
  return props.recommendations;
767
799
  },
768
- product_card_template: display => $6593e4e126cb318f$export$79c79419c1ef0081({
769
- display: display,
800
+ product_card_template: display => $cce08f18e2476cbf$export$32024253978abdc7({
801
+ component_props: {
802
+ display: display
803
+ },
770
804
  get_react_template: () => props.productCard,
771
805
  component_portals: component_portals,
772
806
  set_portals: set_portals
@@ -795,8 +829,10 @@ function $48b0916cc674770c$export$bd8acc07a8bae229(props, set_portals) {
795
829
  display: display
796
830
  })))
797
831
  };
798
- return $6593e4e126cb318f$export$79c79419c1ef0081({
799
- display: display,
832
+ return $cce08f18e2476cbf$export$32024253978abdc7({
833
+ component_props: {
834
+ display: display
835
+ },
800
836
  get_react_template: () => props.productCard,
801
837
  component_portals: component_portals,
802
838
  set_portals: set_portals