@constructor-io/constructorio-ui-plp 1.11.0 → 1.12.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.
- package/dist/constructorio-ui-plp-bundled.js +12 -12
- package/lib/cjs/components/CioPlpGrid/CioPlpGrid.js +1 -1
- package/lib/cjs/components/Filters/FilterGroup.js +22 -7
- package/lib/cjs/hooks/useCioPlpProvider.js +3 -1
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/components/CioPlpGrid/CioPlpGrid.js +1 -1
- package/lib/mjs/components/Filters/FilterGroup.js +21 -7
- package/lib/mjs/hooks/useCioPlpProvider.js +3 -1
- package/lib/mjs/version.js +1 -1
- package/lib/types/components/Filters/FilterGroup.d.ts +3 -2
- package/lib/types/index.d.ts +1 -0
- package/lib/types/types.d.ts +34 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +9 -4
|
@@ -71,7 +71,7 @@ function CioPlpGrid(props) {
|
|
|
71
71
|
react_1.default.createElement("div", { className: 'cio-product-tiles-container' },
|
|
72
72
|
react_1.default.createElement(MobileModal_1.default, { isOpen: isFilterOpen, setIsOpen: setIsFilterOpen },
|
|
73
73
|
isSearchPage && (react_1.default.createElement(Groups_1.default, Object.assign({ groups: data.response.groups }, groupsConfigs))),
|
|
74
|
-
react_1.default.createElement(Filters_1.default, { facets: filters.facets })), (_e = (_d = data.response) === null || _d === void 0 ? void 0 : _d.results) === null || _e === void 0 ? void 0 :
|
|
74
|
+
react_1.default.createElement(Filters_1.default, Object.assign({ facets: filters.facets }, filterConfigs))), (_e = (_d = data.response) === null || _d === void 0 ? void 0 : _d.results) === null || _e === void 0 ? void 0 :
|
|
75
75
|
_e.map((item) => (react_1.default.createElement("div", { className: 'cio-product-tile', key: item.itemId },
|
|
76
76
|
react_1.default.createElement(ProductCard_1.default, { key: item.itemId, item: item }))))),
|
|
77
77
|
react_1.default.createElement("div", { className: 'cio-pagination-container' },
|
|
@@ -5,18 +5,33 @@ const react_1 = tslib_1.__importStar(require("react"));
|
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const FilterOptionsList_1 = tslib_1.__importDefault(require("./FilterOptionsList"));
|
|
7
7
|
const FilterRangeSlider_1 = tslib_1.__importDefault(require("./FilterRangeSlider"));
|
|
8
|
+
const RenderPropsWrapper_1 = tslib_1.__importDefault(require("../RenderPropsWrapper/RenderPropsWrapper"));
|
|
9
|
+
const useCioPlpContext_1 = require("../../hooks/useCioPlpContext");
|
|
8
10
|
function FilterGroup(props) {
|
|
9
|
-
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const { facet, setFilter, initialNumOptions = 10, sliderStep, facetSliderSteps, isHiddenFilterOptionFn, componentOverrides: componentOverridesProp, } = props;
|
|
13
|
+
const context = (0, useCioPlpContext_1.useCioPlpContext)();
|
|
14
|
+
const componentOverrides = componentOverridesProp !== null && componentOverridesProp !== void 0 ? componentOverridesProp : (_a = context === null || context === void 0 ? void 0 : context.componentOverrides) === null || _a === void 0 ? void 0 : _a.filterGroup;
|
|
10
15
|
const [isCollapsed, setIsCollapsed] = (0, react_1.useState)(false);
|
|
11
16
|
const toggleIsCollapsed = () => setIsCollapsed(!isCollapsed);
|
|
12
17
|
const onFilterSelect = (facetName) => (value) => {
|
|
13
18
|
setFilter(facetName, value);
|
|
14
19
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const renderProps = {
|
|
21
|
+
facet,
|
|
22
|
+
isCollapsed,
|
|
23
|
+
toggleIsCollapsed,
|
|
24
|
+
onFilterSelect: onFilterSelect(facet.name),
|
|
25
|
+
};
|
|
26
|
+
return (react_1.default.createElement(RenderPropsWrapper_1.default, { props: renderProps, override: componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.reactNode },
|
|
27
|
+
react_1.default.createElement("li", { className: 'cio-filter-group' },
|
|
28
|
+
react_1.default.createElement(RenderPropsWrapper_1.default, { props: renderProps, override: (_b = componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.header) === null || _b === void 0 ? void 0 : _b.reactNode },
|
|
29
|
+
react_1.default.createElement("button", { className: 'cio-filter-header', type: 'button', onClick: toggleIsCollapsed },
|
|
30
|
+
facet.displayName,
|
|
31
|
+
react_1.default.createElement("i", { className: `cio-arrow ${isCollapsed ? 'cio-arrow-up' : 'cio-arrow-down'}` }))),
|
|
32
|
+
((0, utils_1.isMultipleOrBucketedFacet)(facet) || (0, utils_1.isSingleFacet)(facet)) && (react_1.default.createElement(RenderPropsWrapper_1.default, { props: renderProps, override: (_c = componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.optionsList) === null || _c === void 0 ? void 0 : _c.reactNode },
|
|
33
|
+
react_1.default.createElement(FilterOptionsList_1.default, { isCollapsed: isCollapsed, facet: facet, modifyRequestMultipleFilter: onFilterSelect(facet.name), initialNumOptions: initialNumOptions, isHiddenFilterOptionFn: isHiddenFilterOptionFn }))),
|
|
34
|
+
(0, utils_1.isRangeFacet)(facet) && (react_1.default.createElement(RenderPropsWrapper_1.default, { props: renderProps, override: (_d = componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.rangeSlider) === null || _d === void 0 ? void 0 : _d.reactNode },
|
|
35
|
+
react_1.default.createElement(FilterRangeSlider_1.default, { isCollapsed: isCollapsed, rangedFacet: facet, modifyRequestRangeFilter: onFilterSelect(facet.name), sliderStep: (facetSliderSteps === null || facetSliderSteps === void 0 ? void 0 : facetSliderSteps[facet.name]) || sliderStep }))))));
|
|
21
36
|
}
|
|
22
37
|
exports.default = FilterGroup;
|
|
@@ -8,7 +8,7 @@ const defaultFormatters = tslib_1.__importStar(require("../utils/formatters"));
|
|
|
8
8
|
const defaultUrlHelpers = tslib_1.__importStar(require("../utils/urlHelpers"));
|
|
9
9
|
const shopifyDefaults_1 = require("../utils/shopifyDefaults");
|
|
10
10
|
function useCioPlpProvider(props) {
|
|
11
|
-
const { apiKey, formatters, callbacks, itemFieldGetters, urlHelpers, staticRequestConfigs = {}, renderOverrides = {}, cioClient: customCioClient, cioClientOptions: customCioClientOptions = {}, useShopifyDefaults = false, } = props;
|
|
11
|
+
const { apiKey, formatters, callbacks, itemFieldGetters, urlHelpers, staticRequestConfigs = {}, renderOverrides = {}, cioClient: customCioClient, cioClientOptions: customCioClientOptions = {}, useShopifyDefaults = false, componentOverrides = {}, } = props;
|
|
12
12
|
const [cioClientOptions, setCioClientOptions] = (0, react_1.useState)(customCioClientOptions);
|
|
13
13
|
const cioClient = (0, useCioClient_1.default)({ apiKey, cioClient: customCioClient, options: cioClientOptions });
|
|
14
14
|
const contextValue = (0, react_1.useMemo)(() => ({
|
|
@@ -21,6 +21,7 @@ function useCioPlpProvider(props) {
|
|
|
21
21
|
callbacks: Object.assign(Object.assign({}, (useShopifyDefaults && shopifyDefaults_1.shopifyDefaults.callbacks)), callbacks),
|
|
22
22
|
urlHelpers: Object.assign(Object.assign(Object.assign({}, defaultUrlHelpers), (useShopifyDefaults && shopifyDefaults_1.shopifyDefaults.urlHelpers)), urlHelpers),
|
|
23
23
|
renderOverrides: Object.assign({}, renderOverrides),
|
|
24
|
+
componentOverrides: Object.assign({}, componentOverrides),
|
|
24
25
|
}), [
|
|
25
26
|
cioClient,
|
|
26
27
|
cioClientOptions,
|
|
@@ -31,6 +32,7 @@ function useCioPlpProvider(props) {
|
|
|
31
32
|
renderOverrides,
|
|
32
33
|
staticRequestConfigs,
|
|
33
34
|
useShopifyDefaults,
|
|
35
|
+
componentOverrides,
|
|
34
36
|
]);
|
|
35
37
|
return contextValue;
|
|
36
38
|
}
|
package/lib/cjs/version.js
CHANGED
|
@@ -67,7 +67,7 @@ export default function CioPlpGrid(props) {
|
|
|
67
67
|
React.createElement("div", { className: 'cio-product-tiles-container' },
|
|
68
68
|
React.createElement(MobileModal, { isOpen: isFilterOpen, setIsOpen: setIsFilterOpen },
|
|
69
69
|
isSearchPage && (React.createElement(Groups, { groups: data.response.groups, ...groupsConfigs })),
|
|
70
|
-
React.createElement(Filters, { facets: filters.facets })),
|
|
70
|
+
React.createElement(Filters, { facets: filters.facets, ...filterConfigs })),
|
|
71
71
|
data.response?.results?.map((item) => (React.createElement("div", { className: 'cio-product-tile', key: item.itemId },
|
|
72
72
|
React.createElement(ProductCard, { key: item.itemId, item: item }))))),
|
|
73
73
|
React.createElement("div", { className: 'cio-pagination-container' },
|
|
@@ -2,17 +2,31 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { isMultipleOrBucketedFacet, isRangeFacet, isSingleFacet } from '../../utils';
|
|
3
3
|
import FilterOptionsList from './FilterOptionsList';
|
|
4
4
|
import FilterRangeSlider from './FilterRangeSlider';
|
|
5
|
+
import RenderPropsWrapper from '../RenderPropsWrapper/RenderPropsWrapper';
|
|
6
|
+
import { useCioPlpContext } from '../../hooks/useCioPlpContext';
|
|
5
7
|
export default function FilterGroup(props) {
|
|
6
|
-
const { facet, setFilter, initialNumOptions = 10, sliderStep, facetSliderSteps, isHiddenFilterOptionFn, } = props;
|
|
8
|
+
const { facet, setFilter, initialNumOptions = 10, sliderStep, facetSliderSteps, isHiddenFilterOptionFn, componentOverrides: componentOverridesProp, } = props;
|
|
9
|
+
const context = useCioPlpContext();
|
|
10
|
+
const componentOverrides = componentOverridesProp ?? context?.componentOverrides?.filterGroup;
|
|
7
11
|
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
8
12
|
const toggleIsCollapsed = () => setIsCollapsed(!isCollapsed);
|
|
9
13
|
const onFilterSelect = (facetName) => (value) => {
|
|
10
14
|
setFilter(facetName, value);
|
|
11
15
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const renderProps = {
|
|
17
|
+
facet,
|
|
18
|
+
isCollapsed,
|
|
19
|
+
toggleIsCollapsed,
|
|
20
|
+
onFilterSelect: onFilterSelect(facet.name),
|
|
21
|
+
};
|
|
22
|
+
return (React.createElement(RenderPropsWrapper, { props: renderProps, override: componentOverrides?.reactNode },
|
|
23
|
+
React.createElement("li", { className: 'cio-filter-group' },
|
|
24
|
+
React.createElement(RenderPropsWrapper, { props: renderProps, override: componentOverrides?.header?.reactNode },
|
|
25
|
+
React.createElement("button", { className: 'cio-filter-header', type: 'button', onClick: toggleIsCollapsed },
|
|
26
|
+
facet.displayName,
|
|
27
|
+
React.createElement("i", { className: `cio-arrow ${isCollapsed ? 'cio-arrow-up' : 'cio-arrow-down'}` }))),
|
|
28
|
+
(isMultipleOrBucketedFacet(facet) || isSingleFacet(facet)) && (React.createElement(RenderPropsWrapper, { props: renderProps, override: componentOverrides?.optionsList?.reactNode },
|
|
29
|
+
React.createElement(FilterOptionsList, { isCollapsed: isCollapsed, facet: facet, modifyRequestMultipleFilter: onFilterSelect(facet.name), initialNumOptions: initialNumOptions, isHiddenFilterOptionFn: isHiddenFilterOptionFn }))),
|
|
30
|
+
isRangeFacet(facet) && (React.createElement(RenderPropsWrapper, { props: renderProps, override: componentOverrides?.rangeSlider?.reactNode },
|
|
31
|
+
React.createElement(FilterRangeSlider, { isCollapsed: isCollapsed, rangedFacet: facet, modifyRequestRangeFilter: onFilterSelect(facet.name), sliderStep: facetSliderSteps?.[facet.name] || sliderStep }))))));
|
|
18
32
|
}
|
|
@@ -5,7 +5,7 @@ import * as defaultFormatters from '../utils/formatters';
|
|
|
5
5
|
import * as defaultUrlHelpers from '../utils/urlHelpers';
|
|
6
6
|
import { shopifyDefaults } from '../utils/shopifyDefaults';
|
|
7
7
|
export default function useCioPlpProvider(props) {
|
|
8
|
-
const { apiKey, formatters, callbacks, itemFieldGetters, urlHelpers, staticRequestConfigs = {}, renderOverrides = {}, cioClient: customCioClient, cioClientOptions: customCioClientOptions = {}, useShopifyDefaults = false, } = props;
|
|
8
|
+
const { apiKey, formatters, callbacks, itemFieldGetters, urlHelpers, staticRequestConfigs = {}, renderOverrides = {}, cioClient: customCioClient, cioClientOptions: customCioClientOptions = {}, useShopifyDefaults = false, componentOverrides = {}, } = props;
|
|
9
9
|
const [cioClientOptions, setCioClientOptions] = useState(customCioClientOptions);
|
|
10
10
|
const cioClient = useCioClient({ apiKey, cioClient: customCioClient, options: cioClientOptions });
|
|
11
11
|
const contextValue = useMemo(() => ({
|
|
@@ -22,6 +22,7 @@ export default function useCioPlpProvider(props) {
|
|
|
22
22
|
...urlHelpers,
|
|
23
23
|
},
|
|
24
24
|
renderOverrides: { ...renderOverrides },
|
|
25
|
+
componentOverrides: { ...componentOverrides },
|
|
25
26
|
}), [
|
|
26
27
|
cioClient,
|
|
27
28
|
cioClientOptions,
|
|
@@ -32,6 +33,7 @@ export default function useCioPlpProvider(props) {
|
|
|
32
33
|
renderOverrides,
|
|
33
34
|
staticRequestConfigs,
|
|
34
35
|
useShopifyDefaults,
|
|
36
|
+
componentOverrides,
|
|
35
37
|
]);
|
|
36
38
|
return contextValue;
|
|
37
39
|
}
|
package/lib/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.
|
|
1
|
+
export default '1.12.1';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IncludeComponentOverrides } from '@constructor-io/constructorio-ui-components';
|
|
3
|
+
import type { PlpFacet, PlpFacetOption, FilterGroupOverrides } from '../../types';
|
|
3
4
|
import { UseFilterReturn } from '../../hooks/useFilter';
|
|
4
|
-
export interface FilterGroupProps {
|
|
5
|
+
export interface FilterGroupProps extends IncludeComponentOverrides<FilterGroupOverrides> {
|
|
5
6
|
facet: PlpFacet;
|
|
6
7
|
setFilter: UseFilterReturn['setFilter'];
|
|
7
8
|
initialNumOptions?: number;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export type { BreadcrumbsProps } from './components/Breadcrumbs';
|
|
|
25
25
|
export type { CioPlpProps } from './components/CioPlp';
|
|
26
26
|
export type { CioPlpGridProps, CioPlpGridWithRenderProps } from './components/CioPlpGrid';
|
|
27
27
|
export type { FiltersProps, FiltersWithRenderProps } from './components/Filters';
|
|
28
|
+
export type { FilterGroupProps } from './components/Filters/FilterGroup';
|
|
28
29
|
export type { GroupsProps, GroupsWithRenderProps } from './components/Groups';
|
|
29
30
|
export type { MobileModalProps } from './components/MobileModal';
|
|
30
31
|
export type { PaginationProps, PaginationWithRenderProps } from './components/Pagination';
|
package/lib/types/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
3
|
import ConstructorIOClient from '@constructor-io/constructorio-client-javascript';
|
|
4
4
|
import { ConstructorClientOptions, Group as ApiGroup, Facet as ApiFacet, Result, SearchResponse, GetBrowseResultsResponse, VariationsMap, FilterExpression, FmtOptions, Nullable, SearchRequestType, SearchResponseType, Redirect, SearchParameters, BrowseRequestType, FacetOption as ApiFacetOption } from '@constructor-io/constructorio-client-javascript/lib/types';
|
|
5
|
+
import type { ComponentOverrideProps } from '@constructor-io/constructorio-ui-components';
|
|
5
6
|
export { Nullable, ConstructorIOClient, SearchResponseType, SearchParameters, Redirect, ApiFacet, ApiFacetOption, ApiGroup, };
|
|
6
7
|
export interface ApiHierarchicalFacetOption extends ApiFacetOption {
|
|
7
8
|
options: Array<ApiHierarchicalFacetOption>;
|
|
@@ -155,6 +156,7 @@ export interface PlpContextValue {
|
|
|
155
156
|
callbacks: Callbacks;
|
|
156
157
|
urlHelpers: UrlHelpers;
|
|
157
158
|
renderOverrides: RenderOverrides;
|
|
159
|
+
componentOverrides: PlpComponentOverrides;
|
|
158
160
|
}
|
|
159
161
|
export interface PrimaryColorStyles {
|
|
160
162
|
'--primary-color-h': string;
|
|
@@ -219,6 +221,7 @@ export interface CioPlpProviderProps {
|
|
|
219
221
|
initialBrowseResponse?: GetBrowseResultsResponse;
|
|
220
222
|
staticRequestConfigs?: Partial<RequestConfigs>;
|
|
221
223
|
useShopifyDefaults?: boolean;
|
|
224
|
+
componentOverrides?: PlpComponentOverrides;
|
|
222
225
|
}
|
|
223
226
|
export type UseSortReturn = {
|
|
224
227
|
sortOptions: PlpSortOption[];
|
|
@@ -324,3 +327,34 @@ export type IncludeRawResponse<TransformedType, OriginalType> = TransformedType
|
|
|
324
327
|
* Given a Type T and a set of keys K (pipe-delimited string), make those keys optional.
|
|
325
328
|
*/
|
|
326
329
|
export type MakeOptional<Type, Keys extends string & keyof Partial<Type>> = Omit<Type, Keys> & Partial<Pick<Type, Keys>>;
|
|
330
|
+
/**
|
|
331
|
+
* Render props passed to every FilterGroup override function.
|
|
332
|
+
* Provides the full state needed to rebuild any part of a filter group.
|
|
333
|
+
*/
|
|
334
|
+
export interface FilterGroupRenderProps {
|
|
335
|
+
/** The facet data for this filter group */
|
|
336
|
+
facet: PlpFacet;
|
|
337
|
+
/** Whether this filter group is currently collapsed */
|
|
338
|
+
isCollapsed: boolean;
|
|
339
|
+
/** Toggle the collapsed state */
|
|
340
|
+
toggleIsCollapsed: () => void;
|
|
341
|
+
/** Callback to apply a filter value for this facet */
|
|
342
|
+
onFilterSelect: (value: PlpFilterValue) => void;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Component override slots available on `FilterGroup`.
|
|
346
|
+
*
|
|
347
|
+
* Top-level `reactNode` replaces the entire `<li>` filter group element.
|
|
348
|
+
* Each nested key maps to a sub-component that can be replaced via `ComponentOverrideProps<FilterGroupRenderProps>`:
|
|
349
|
+
* - **header** — replaces the header button (facet name + collapse arrow)
|
|
350
|
+
* - **optionsList** — replaces the `FilterOptionsList` (checkboxes + "Show All" toggle)
|
|
351
|
+
* - **rangeSlider** — replaces the `FilterRangeSlider` (min/max inputs + slider track)
|
|
352
|
+
*/
|
|
353
|
+
export type FilterGroupOverrides = ComponentOverrideProps<FilterGroupRenderProps> & {
|
|
354
|
+
header?: ComponentOverrideProps<FilterGroupRenderProps>;
|
|
355
|
+
optionsList?: ComponentOverrideProps<FilterGroupRenderProps>;
|
|
356
|
+
rangeSlider?: ComponentOverrideProps<FilterGroupRenderProps>;
|
|
357
|
+
};
|
|
358
|
+
export interface PlpComponentOverrides {
|
|
359
|
+
filterGroup?: FilterGroupOverrides;
|
|
360
|
+
}
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.
|
|
1
|
+
declare const _default: "1.12.1";
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructor-io/constructorio-ui-plp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "Constructor PLP UI library for web applications",
|
|
5
5
|
"author": "Constructor.io Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -54,11 +54,12 @@
|
|
|
54
54
|
"storybook-docs-dev": "storybook dev --docs -p 6007",
|
|
55
55
|
"serve-built-storybook": "npx http-server docs",
|
|
56
56
|
"compile": "rm -rf lib && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && npm run copy-styles && vite build",
|
|
57
|
-
"check-license": "license-checker --production --onlyAllow 'Apache-2.0;BSD-3-Clause;MIT;0BSD;BSD-2-Clause' --excludePackages 'picocolors@1.0.0'",
|
|
57
|
+
"check-license": "license-checker --production --onlyAllow 'Apache-2.0;BSD-3-Clause;MIT;0BSD;BSD-2-Clause;ISC' --excludePackages 'picocolors@1.0.0;graceful-fs@4.2.11;lightningcss@1.31.1;lightningcss-android-arm64@1.31.1;lightningcss-darwin-arm64@1.31.1;lightningcss-darwin-x64@1.31.1;lightningcss-freebsd-x64@1.31.1;lightningcss-linux-arm-gnueabihf@1.31.1;lightningcss-linux-arm64-gnu@1.31.1;lightningcss-linux-arm64-musl@1.31.1;lightningcss-linux-x64-gnu@1.31.1;lightningcss-linux-x64-musl@1.31.1;lightningcss-win32-arm64-msvc@1.31.1;lightningcss-win32-x64-msvc@1.31.1'",
|
|
58
58
|
"prepare": "husky install"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@constructor-io/constructorio-client-javascript": "^2.35.14",
|
|
62
|
+
"@constructor-io/constructorio-ui-components": "^1.3.2",
|
|
62
63
|
"react": ">=16.12.0",
|
|
63
64
|
"react-dom": ">=16.12.0",
|
|
64
65
|
"tslib": "^2.4.0"
|
|
@@ -104,7 +105,7 @@
|
|
|
104
105
|
"eslint-plugin-storybook": "^0.12.0",
|
|
105
106
|
"husky": "^8.0.0",
|
|
106
107
|
"jest": "^28.1.3",
|
|
107
|
-
"jest-environment-jsdom": "^
|
|
108
|
+
"jest-environment-jsdom": "^30.3.0",
|
|
108
109
|
"license-checker": "^25.0.1",
|
|
109
110
|
"prop-types": "^15.8.1",
|
|
110
111
|
"react": "^18.2.0",
|
|
@@ -114,11 +115,15 @@
|
|
|
114
115
|
"typescript": "^4.9.4",
|
|
115
116
|
"vite": "^6.3.5",
|
|
116
117
|
"vite-plugin-css-injected-by-js": "^3.1.0",
|
|
117
|
-
"webpack": "^5.94.0"
|
|
118
|
+
"webpack": "^5.94.0",
|
|
119
|
+
"@constructor-io/constructorio-ui-components": "^1.3.2"
|
|
118
120
|
},
|
|
119
121
|
"dependencies": {
|
|
120
122
|
"classnames": "^2.5.1"
|
|
121
123
|
},
|
|
124
|
+
"overrides": {
|
|
125
|
+
"lightningcss": "1.31.1"
|
|
126
|
+
},
|
|
122
127
|
"volta": {
|
|
123
128
|
"node": "22.18.0",
|
|
124
129
|
"npm": "10.9.3"
|