@bikdotai/bik-component-library 0.0.444-beta.2 → 0.0.444-beta.7
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/cjs/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.js +1 -1
- package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +0 -3
- package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
- package/dist/cjs/components/product-picker-v2/modal.d.ts +2 -1
- package/dist/cjs/components/product-picker-v2/modal.js +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.js +1 -1
- package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +0 -3
- package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.js +1 -1
- package/dist/esm/components/product-picker-v2/modal.d.ts +2 -1
- package/dist/esm/components/product-picker-v2/modal.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("../../components/BaseTriggerQueryBuilderNode.js");exports.default=t=>e.jsx(r.default,Object.assign({cacheKey:"EVENTS_TRIGGER",propertyAddBtnText:"Add event property"},t));
|
package/dist/cjs/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DropdownOption } from "../../../dropdown/type";
|
|
3
|
-
import { QueryBuilderProperty } from "../../Types/QueryBuilder.type";
|
|
4
2
|
import { QueryBuilderNodeProps } from "../../Types/QueryBuilderNodeProps.type";
|
|
5
3
|
declare const BaseTriggerQueryBuilderNode: React.FC<QueryBuilderNodeProps & {
|
|
6
4
|
cacheKey: string;
|
|
7
5
|
propertyAddBtnText: string;
|
|
8
|
-
onPropertyValueSearch?: (searchKey: string, property: QueryBuilderProperty) => Promise<DropdownOption[]>;
|
|
9
6
|
}>;
|
|
10
7
|
export default BaseTriggerQueryBuilderNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),t=require("react"),i=require("../../helpers/ApiResponse.helper.js"),a=require("../../hooks/useQueryBuilder.js"),o=require("../../hooks/useQueryBuilderCache.js"),s=require("../../components/DropdownWrapper.js"),n=require("../../components/QueryBuilderNode/Base/BaseQueryBuilderNode.js");const l=new i.ApiResponseHelper,u="triggerName";exports.default=i=>{let{node:d,apiHandler:c,cacheKey:p,propertyAddBtnText:v,mode:y,selectorKey:g
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),t=require("react"),i=require("../../helpers/ApiResponse.helper.js"),a=require("../../hooks/useQueryBuilder.js"),o=require("../../hooks/useQueryBuilderCache.js"),s=require("../../components/DropdownWrapper.js"),n=require("../../components/QueryBuilderNode/Base/BaseQueryBuilderNode.js");const l=new i.ApiResponseHelper,u="triggerName";exports.default=i=>{let{node:d,apiHandler:c,cacheKey:p,propertyAddBtnText:v,mode:y,selectorKey:g}=i;var j;const[O,b]=t.useState([]),{updateMeta:f,createMeta:h,createProperty:m,deleteProperty:_,updateProperty:P,selectPropertyJoinOperator:x,clearProperty:B}=a.useQueryBuilder(g),{cacheWrap:q}=o.useQueryBuilderCache(),[A,N]=t.useState(!0),Q=d.metas.find((e=>e.key===u));return t.useEffect((()=>{q((()=>c({})),p).then((e=>{var r;if(e)if(Array.isArray(e)){const t=null!==(r=null==e?void 0:e.map((e=>({label:e.name,value:e.id,description:e.description,selected:"create"!==y&&(!!(null==Q?void 0:Q.value)&&Q.value===e.id)}))))&&void 0!==r?r:[];b([...t])}else{const r=l.convertToGroupOptions(e,(null==Q?void 0:Q.value)?[Q.value]:void 0);b([...r])}N(!1)}))}),[]),r.jsx(n.BaseQueryBuilderNode,Object.assign({node:d,addPropertyBtnText:(null==Q?void 0:Q.value)&&v,deleteProperty:_,createProperty:m,propertySelectorText:"Select condition",fetchPropertyData:function(){return e.__awaiter(this,void 0,void 0,(function*(){if(null==Q?void 0:Q.value){return yield(e=null==Q?void 0:Q.value,q((()=>c({query:{triggerName:e}})),`${p}_${e}`))}var e;return null}))},onPropertyNameSelect:function(r,t){return e.__awaiter(this,void 0,void 0,(function*(){P(Object.assign(Object.assign({},t),{name:r.id,dataType:r.type,operator:void 0,value:void 0,error:{}}),d._id);const e=yield((e,r)=>q((()=>c({query:{triggerName:e,propertyName:r}})),`${p}_${e}_${r}`))(null==Q?void 0:Q.value,r.id);return e?{normalized:e,originalData:e}:[]}))},onPropertyOperatorChange:function(e,r){P(Object.assign(Object.assign({},r),{operator:e,value:void 0,error:{}}),d._id)},onPropertyValueChange:function(e,r){P(Object.assign(Object.assign({},r),{value:e}),d._id)},selectPropertyJoinOperator:x,mode:y},{children:r.jsx("div",Object.assign({style:{flexDirection:"row",display:"flex",gap:8}},{children:r.jsx(s.default,{isSearchable:!0,isLoading:A,error:null===(j=null==Q?void 0:Q.error)||void 0===j?void 0:j.key,width:"200px",options:O,onSelect:function(e){Array.isArray(e)||(B(d._id),Array.isArray(O)&&b([...O.map((r=>{if(r.options){const t=r.options.map((r=>r.value===e.value?Object.assign(Object.assign({},r),{selected:!0}):Object.assign(Object.assign({},r),{selected:!1})));return Object.assign(Object.assign({},r),{options:t})}return r.value===e.value?Object.assign(Object.assign({},r),{selected:!0}):Object.assign(Object.assign({},r),{selected:!1})}))]),(null==Q?void 0:Q.key)===u?f(Object.assign(Object.assign({},Q),{value:e.value,error:{}}),d._id):h({key:u,value:e.value},d._id))}})}))}))};
|
|
@@ -60,7 +60,7 @@ export type ProductPickerInterface = {
|
|
|
60
60
|
visible: boolean;
|
|
61
61
|
zIndex?: number;
|
|
62
62
|
limit?: number;
|
|
63
|
-
|
|
63
|
+
exactLimit?: number;
|
|
64
64
|
hideCollectionCheckbox?: boolean;
|
|
65
65
|
hideProductCheckbox?: boolean;
|
|
66
66
|
outOfStockAction?: OUT_OF_STOCK_ACTION;
|
|
@@ -75,6 +75,7 @@ export type ProductPickerInterface = {
|
|
|
75
75
|
pickerType?: 'COLLECTION' | 'PRODUCT';
|
|
76
76
|
hideProductVariants?: boolean;
|
|
77
77
|
rearrangeEnabled?: boolean;
|
|
78
|
+
selectSingleItem?: boolean;
|
|
78
79
|
} & ({
|
|
79
80
|
startupScreen: ScreenName.RearrangeProducts;
|
|
80
81
|
rearrangeEnabled: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react/jsx-runtime"),r=require("../../assets/icons/search.svg.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react/jsx-runtime"),r=require("../../assets/icons/search.svg.js"),c=require("react"),o=require("../../constants/Theme.js"),s=require("../button/Button.js"),n=require("../input/Input.js"),i=require("../modals/styledModal.js"),l=require("../spinner/Spinner.js"),a=require("../tag/Tag.js"),d=require("./collectionScreen.js"),u=require("./productScreen.js"),h=require("./rearrangeScreen.js"),p=require("./reducers.js"),S=require("./searchScreen.js"),x=require("./selectedScreen.js"),g=require("./style.js"),C=require("./type.js");exports.ScreenName=void 0,(e=exports.ScreenName||(exports.ScreenName={})).Collections="collections",e.RearrangeProducts="rearrange",e.SelectedProducts="view",e.SearchProducts="searchProducts",e.Products="products";exports.ProductPickerModal=e=>{const{storeId:j,selectedItems:m,onClose:y,visible:b,zIndex:v,exactLimit:P,limit:f,hideCollectionCheckbox:k,hideProductCheckbox:T,outOfStockAction:O=C.OUT_OF_STOCK_ACTION.BLUR,hideVariantCheckbox:R,selectProductsFromCustomCollection:I,hideSelectionCount:F,title:q,width:E,renderWithoutModal:D,onClickSave:N,pickerType:w,hideProductVariants:A=!1,startupScreen:$=exports.ScreenName.Collections,rearrangeEnabled:B,selectSingleItem:M=!1}=e,[V,L]=c.useReducer(p.collectionsReducer,{}),[_,z]=c.useState([exports.ScreenName.Collections,exports.ScreenName.RearrangeProducts].includes($)?$:exports.ScreenName.Collections),[G,H]=c.useState("grid"),[W,K]=c.useState(""),[U,Y]=c.useState(0),[J,Q]=c.useState(!1),[X,Z]=c.useState(0),[ee,te]=c.useState(""),[re,ce]=c.useState(!1),[oe,se]=c.useState(!1),[ne,ie]=c.useState(),[le,ae]=c.useReducer(p.selectedColectionsReducer,Object.keys(m).length>0?m:{}),de=c.useRef(null);c.useEffect((()=>{Q(!0),se(!0),e.collectionFetcher(U,j).then((e=>{L({type:"fetched",data:(null==e?void 0:e.collections)||{}}),Q(!1),Y((e=>e+1)),se(!1)})).catch()}),[]),c.useEffect((()=>{let e=0;Object.keys(le||[]).forEach((t=>{var r;Object.keys((null===(r=le[t])||void 0===r?void 0:r.products)||[]).forEach((r=>{var c,o;Object.keys((null===(o=null===(c=le[t].products)||void 0===c?void 0:c[r])||void 0===o?void 0:o.variants)||[]).forEach((()=>{e+=1}))}))})),Z(e)})),c.useEffect((()=>{var t;W&&!(null===(t=null==V?void 0:V[W])||void 0===t?void 0:t.products)&&(Q(!0),e.productFetcher(W,j).then((e=>{Object.keys(e).length&&L({type:"productsFetched",data:{collectionId:W,products:e}}),Q(!1)})).catch())}),[W]),c.useEffect((()=>{const t=setTimeout((()=>{"rearrange"!==_&&(ee.length?(ce(!0),e.searchFetcher(j,ee).then((e=>{ie(Object.assign({},e)),z("searchProducts"),Q(!1),ce(!1)}))):z("collections"))}),800);return()=>clearTimeout(t)}),[ee]),c.useEffect((()=>{N&&(e.onAdd(le,X),ue())}),[N]),c.useEffect((()=>{M&&Object.keys(le||{}).length&&(e.onAdd(le,X),ue())}),[M,le,X]);const ue=()=>{ae({type:"reset",data:{}})},he=t.jsxs(g.ContainerStyle,{children:[e.postHeader&&t.jsx("div",Object.assign({style:{padding:"0 24px"}},{children:e.postHeader})),!e.hideGlobalSearch&&t.jsx(t.Fragment,{children:("collections"===_||"searchProducts"===_)&&t.jsx("div",Object.assign({style:{padding:D?"8px 16px":"12px 24px",borderBottom:"1px solid #E0E0E0"}},{children:t.jsx(n.Input,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>re?t.jsx(l.Spinner,{size:"small",color:o.COLORS.content.primary}):t.jsx(r.default,{})},id:"listInput",height:"24px",type:"text",value:ee,onChangeText:e=>{e.length&&e.trim().length?te(e):te("")}})}))}),t.jsxs(g.ScrollContainerStyle,Object.assign({ref:de},{children:["collections"===_&&t.jsx(d.CollectionsScreen,{customCollectionRestriction:e.customCollectionRestriction,dataLoading:oe,collections:V,selectedCollectionsDispatch:ae,setCollectionId:K,setScreen:z,selectedCollections:le,collectionFetcher:e.collectionFetcher,storeId:j,collectionsDispatch:L,setSaveDisabled:Q,pagingControls:{curPage:U,setCurPage:Y},hideCollectionCheckbox:k,renderWithoutModal:D,pickerType:w}),"products"===_&&W&&t.jsx(p.CollectionIdContext.Provider,Object.assign({value:W},{children:t.jsx(u.ProductsScreen,{hideInCollectionSearch:e.hideInCollectionSearch,customCollectionRestriction:e.customCollectionRestriction,productFetcher:e.productFetcher,setScreen:z,storeId:j,data:V[W],collectionsDispatch:L,selectedCollectionsDispatch:ae,selectedData:le,setSaveDisabled:Q,searchInCollectionFetcher:e.searchInCollectionFetcher,hideProductCheckbox:T,outOfStockAction:O,hideVariantCheckbox:R,selectProductsFromCustomCollection:I,renderWithoutModal:D,pickerType:w,hideProductVariants:A})})),"view"===_&&t.jsx(x.SelectedScreen,{selectedCollections:le||{},selectedCollectionsDispatch:ae,setScreen:z,collections:V}),"rearrange"===_&&t.jsx(h.RearrangeScreen,{selectedCollections:le||{},selectedCollectionsDispatch:ae,setScreen:z,outOfStockAction:O,rearrangeViewType:"grid"===G?"list":"grid",scrollContainerRef:de}),"searchProducts"===_&&t.jsx(S.SearchScreen,{customCollectionRestriction:e.customCollectionRestriction,selectedCollections:le||{},searchedCollections:ne||{},selectedCollectionsDispatch:ae,setScreen:z,collections:V,onBackPress:()=>{te(""),ie({})},pickerType:w,hideProductCheckbox:T,hideProductVariants:A,hideVariantCheckbox:R})]}))]});return t.jsx(t.Fragment,{children:D?he:t.jsx(i.StyledModal,Object.assign({zIndex:v,open:b,onClose:()=>{null==y||y(),ue()},headingTitle:q||("collections"===_||"products"===_?"Select Products":"view"===_?"Selected Products":"searchProducts"===_?"Searched Products":"rearrange"===_?"Rearrange Products":void 0),footerShadow:!0,centralContainerStyles:{width:E||"480px"},headerRightCustomElement:"rearrange"===_?(console.log("ignore:",H),t.jsx(t.Fragment,{})):t.jsx(t.Fragment,{}),primaryButton:{buttonText:J?"Loading...":_===exports.ScreenName.RearrangeProducts?"Done":"Add",disabled:J||X<1||P&&X<P||!P&&f&&X>f||!1,onClick:()=>{e.onAdd(le,X),ue()}},footerLeftCustomElement:F?t.jsx(t.Fragment,{}):P&&X>P?t.jsx(a.Tag,{tagText:`You can only select ${P} products`,type:"negative"}):f&&X>f?t.jsx(a.Tag,{tagText:`You can only select ${f} products`,type:"negative"}):X>0?t.jsx(s.Button,{onClick:()=>{z(B?exports.ScreenName.RearrangeProducts:exports.ScreenName.SelectedProducts)},buttonText:P?`${X}/${P} products selected`:`${X} products selected`,buttonType:["rearrange","view"].includes(_)?"tertiaryGray":"tertiary",disabled:["rearrange","view"].includes(_)}):t.jsx(s.Button,{disabled:!0,buttonText:P?`${X}/${P} products selected`:`${X} products selected`,buttonType:"tertiaryGray"})},{children:he}))})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import r from"../../components/BaseTriggerQueryBuilderNode.js";const t=t=>e(r,Object.assign({cacheKey:"EVENTS_TRIGGER",propertyAddBtnText:"Add event property"},t));export{t as default};
|
package/dist/esm/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DropdownOption } from "../../../dropdown/type";
|
|
3
|
-
import { QueryBuilderProperty } from "../../Types/QueryBuilder.type";
|
|
4
2
|
import { QueryBuilderNodeProps } from "../../Types/QueryBuilderNodeProps.type";
|
|
5
3
|
declare const BaseTriggerQueryBuilderNode: React.FC<QueryBuilderNodeProps & {
|
|
6
4
|
cacheKey: string;
|
|
7
5
|
propertyAddBtnText: string;
|
|
8
|
-
onPropertyValueSearch?: (searchKey: string, property: QueryBuilderProperty) => Promise<DropdownOption[]>;
|
|
9
6
|
}>;
|
|
10
7
|
export default BaseTriggerQueryBuilderNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";import{useState as t,useEffect as o}from"react";import{ApiResponseHelper as i}from"../../helpers/ApiResponse.helper.js";import{useQueryBuilder as a}from"../../hooks/useQueryBuilder.js";import{useQueryBuilderCache as n}from"../../hooks/useQueryBuilderCache.js";import s from"../../components/DropdownWrapper.js";import{BaseQueryBuilderNode as l}from"../../components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";const
|
|
1
|
+
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";import{useState as t,useEffect as o}from"react";import{ApiResponseHelper as i}from"../../helpers/ApiResponse.helper.js";import{useQueryBuilder as a}from"../../hooks/useQueryBuilder.js";import{useQueryBuilderCache as n}from"../../hooks/useQueryBuilderCache.js";import s from"../../components/DropdownWrapper.js";import{BaseQueryBuilderNode as l}from"../../components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";const d=new i,c="triggerName",u=i=>{let{node:u,apiHandler:p,cacheKey:v,propertyAddBtnText:y,mode:m,selectorKey:g}=i;var j;const[f,O]=t([]),{updateMeta:b,createMeta:h,createProperty:P,deleteProperty:_,updateProperty:x,selectPropertyJoinOperator:A,clearProperty:B}=a(g),{cacheWrap:N}=n(),[k,S]=t(!0),T=u.metas.find((e=>e.key===c));return o((()=>{N((()=>p({})),v).then((e=>{var r;if(e)if(Array.isArray(e)){const t=null!==(r=null==e?void 0:e.map((e=>({label:e.name,value:e.id,description:e.description,selected:"create"!==m&&(!!(null==T?void 0:T.value)&&T.value===e.id)}))))&&void 0!==r?r:[];O([...t])}else{const r=d.convertToGroupOptions(e,(null==T?void 0:T.value)?[T.value]:void 0);O([...r])}S(!1)}))}),[]),r(l,Object.assign({node:u,addPropertyBtnText:(null==T?void 0:T.value)&&y,deleteProperty:_,createProperty:P,propertySelectorText:"Select condition",fetchPropertyData:function(){return e(this,void 0,void 0,(function*(){if(null==T?void 0:T.value){return yield(e=null==T?void 0:T.value,N((()=>p({query:{triggerName:e}})),`${v}_${e}`))}var e;return null}))},onPropertyNameSelect:function(r,t){return e(this,void 0,void 0,(function*(){x(Object.assign(Object.assign({},t),{name:r.id,dataType:r.type,operator:void 0,value:void 0,error:{}}),u._id);const e=yield((e,r)=>N((()=>p({query:{triggerName:e,propertyName:r}})),`${v}_${e}_${r}`))(null==T?void 0:T.value,r.id);return e?{normalized:e,originalData:e}:[]}))},onPropertyOperatorChange:function(e,r){x(Object.assign(Object.assign({},r),{operator:e,value:void 0,error:{}}),u._id)},onPropertyValueChange:function(e,r){x(Object.assign(Object.assign({},r),{value:e}),u._id)},selectPropertyJoinOperator:A,mode:m},{children:r("div",Object.assign({style:{flexDirection:"row",display:"flex",gap:8}},{children:r(s,{isSearchable:!0,isLoading:k,error:null===(j=null==T?void 0:T.error)||void 0===j?void 0:j.key,width:"200px",options:f,onSelect:function(e){Array.isArray(e)||(B(u._id),Array.isArray(f)&&O([...f.map((r=>{if(r.options){const t=r.options.map((r=>r.value===e.value?Object.assign(Object.assign({},r),{selected:!0}):Object.assign(Object.assign({},r),{selected:!1})));return Object.assign(Object.assign({},r),{options:t})}return r.value===e.value?Object.assign(Object.assign({},r),{selected:!0}):Object.assign(Object.assign({},r),{selected:!1})}))]),(null==T?void 0:T.key)===c?b(Object.assign(Object.assign({},T),{value:e.value,error:{}}),u._id):h({key:c,value:e.value},u._id))}})}))}))};export{u as default};
|
|
@@ -60,7 +60,7 @@ export type ProductPickerInterface = {
|
|
|
60
60
|
visible: boolean;
|
|
61
61
|
zIndex?: number;
|
|
62
62
|
limit?: number;
|
|
63
|
-
|
|
63
|
+
exactLimit?: number;
|
|
64
64
|
hideCollectionCheckbox?: boolean;
|
|
65
65
|
hideProductCheckbox?: boolean;
|
|
66
66
|
outOfStockAction?: OUT_OF_STOCK_ACTION;
|
|
@@ -75,6 +75,7 @@ export type ProductPickerInterface = {
|
|
|
75
75
|
pickerType?: 'COLLECTION' | 'PRODUCT';
|
|
76
76
|
hideProductVariants?: boolean;
|
|
77
77
|
rearrangeEnabled?: boolean;
|
|
78
|
+
selectSingleItem?: boolean;
|
|
78
79
|
} & ({
|
|
79
80
|
startupScreen: ScreenName.RearrangeProducts;
|
|
80
81
|
rearrangeEnabled: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import c from"../../assets/icons/search.svg.js";import{useReducer as r,useState as
|
|
1
|
+
import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import c from"../../assets/icons/search.svg.js";import{useReducer as r,useState as s,useRef as i,useEffect as n}from"react";import{COLORS as l}from"../../constants/Theme.js";import{Button as d}from"../button/Button.js";import{Input as a}from"../input/Input.js";import{StyledModal as u}from"../modals/styledModal.js";import{Spinner as h}from"../spinner/Spinner.js";import{Tag as p}from"../tag/Tag.js";import{CollectionsScreen as m}from"./collectionScreen.js";import{ProductsScreen as g}from"./productScreen.js";import{RearrangeScreen as C}from"./rearrangeScreen.js";import{collectionsReducer as b,selectedColectionsReducer as y,CollectionIdContext as v}from"./reducers.js";import{SearchScreen as S}from"./searchScreen.js";import{SelectedScreen as f}from"./selectedScreen.js";import{ContainerStyle as P,ScrollContainerStyle as j}from"./style.js";import{OUT_OF_STOCK_ACTION as x}from"./type.js";var k;!function(e){e.Collections="collections",e.RearrangeProducts="rearrange",e.SelectedProducts="view",e.SearchProducts="searchProducts",e.Products="products"}(k||(k={}));const T=T=>{const{storeId:I,selectedItems:O,onClose:R,visible:D,zIndex:F,exactLimit:w,limit:E,hideCollectionCheckbox:$,hideProductCheckbox:A,outOfStockAction:V=x.BLUR,hideVariantCheckbox:B,selectProductsFromCustomCollection:L,hideSelectionCount:M,title:z,width:G,renderWithoutModal:H,onClickSave:W,pickerType:Y,hideProductVariants:K=!1,startupScreen:U=k.Collections,rearrangeEnabled:q,selectSingleItem:J=!1}=T,[N,Q]=r(b,{}),[X,Z]=s([k.Collections,k.RearrangeProducts].includes(U)?U:k.Collections),[_,ee]=s("grid"),[te,oe]=s(""),[ce,re]=s(0),[se,ie]=s(!1),[ne,le]=s(0),[de,ae]=s(""),[ue,he]=s(!1),[pe,me]=s(!1),[ge,Ce]=s(),[be,ye]=r(y,Object.keys(O).length>0?O:{}),ve=i(null);n((()=>{ie(!0),me(!0),T.collectionFetcher(ce,I).then((e=>{Q({type:"fetched",data:(null==e?void 0:e.collections)||{}}),ie(!1),re((e=>e+1)),me(!1)})).catch()}),[]),n((()=>{let e=0;Object.keys(be||[]).forEach((t=>{var o;Object.keys((null===(o=be[t])||void 0===o?void 0:o.products)||[]).forEach((o=>{var c,r;Object.keys((null===(r=null===(c=be[t].products)||void 0===c?void 0:c[o])||void 0===r?void 0:r.variants)||[]).forEach((()=>{e+=1}))}))})),le(e)})),n((()=>{var e;te&&!(null===(e=null==N?void 0:N[te])||void 0===e?void 0:e.products)&&(ie(!0),T.productFetcher(te,I).then((e=>{Object.keys(e).length&&Q({type:"productsFetched",data:{collectionId:te,products:e}}),ie(!1)})).catch())}),[te]),n((()=>{const e=setTimeout((()=>{"rearrange"!==X&&(de.length?(he(!0),T.searchFetcher(I,de).then((e=>{Ce(Object.assign({},e)),Z("searchProducts"),ie(!1),he(!1)}))):Z("collections"))}),800);return()=>clearTimeout(e)}),[de]),n((()=>{W&&(T.onAdd(be,ne),Se())}),[W]),n((()=>{J&&Object.keys(be||{}).length&&(T.onAdd(be,ne),Se())}),[J,be,ne]);const Se=()=>{ye({type:"reset",data:{}})},fe=e(P,{children:[T.postHeader&&t("div",Object.assign({style:{padding:"0 24px"}},{children:T.postHeader})),!T.hideGlobalSearch&&t(o,{children:("collections"===X||"searchProducts"===X)&&t("div",Object.assign({style:{padding:H?"8px 16px":"12px 24px",borderBottom:"1px solid #E0E0E0"}},{children:t(a,{noKeyDownChange:!0,noErrorHint:!0,rightIcon:{icon:()=>ue?t(h,{size:"small",color:l.content.primary}):t(c,{})},id:"listInput",height:"24px",type:"text",value:de,onChangeText:e=>{e.length&&e.trim().length?ae(e):ae("")}})}))}),e(j,Object.assign({ref:ve},{children:["collections"===X&&t(m,{customCollectionRestriction:T.customCollectionRestriction,dataLoading:pe,collections:N,selectedCollectionsDispatch:ye,setCollectionId:oe,setScreen:Z,selectedCollections:be,collectionFetcher:T.collectionFetcher,storeId:I,collectionsDispatch:Q,setSaveDisabled:ie,pagingControls:{curPage:ce,setCurPage:re},hideCollectionCheckbox:$,renderWithoutModal:H,pickerType:Y}),"products"===X&&te&&t(v.Provider,Object.assign({value:te},{children:t(g,{hideInCollectionSearch:T.hideInCollectionSearch,customCollectionRestriction:T.customCollectionRestriction,productFetcher:T.productFetcher,setScreen:Z,storeId:I,data:N[te],collectionsDispatch:Q,selectedCollectionsDispatch:ye,selectedData:be,setSaveDisabled:ie,searchInCollectionFetcher:T.searchInCollectionFetcher,hideProductCheckbox:A,outOfStockAction:V,hideVariantCheckbox:B,selectProductsFromCustomCollection:L,renderWithoutModal:H,pickerType:Y,hideProductVariants:K})})),"view"===X&&t(f,{selectedCollections:be||{},selectedCollectionsDispatch:ye,setScreen:Z,collections:N}),"rearrange"===X&&t(C,{selectedCollections:be||{},selectedCollectionsDispatch:ye,setScreen:Z,outOfStockAction:V,rearrangeViewType:"grid"===_?"list":"grid",scrollContainerRef:ve}),"searchProducts"===X&&t(S,{customCollectionRestriction:T.customCollectionRestriction,selectedCollections:be||{},searchedCollections:ge||{},selectedCollectionsDispatch:ye,setScreen:Z,collections:N,onBackPress:()=>{ae(""),Ce({})},pickerType:Y,hideProductCheckbox:A,hideProductVariants:K,hideVariantCheckbox:B})]}))]});return t(o,{children:H?fe:t(u,Object.assign({zIndex:F,open:D,onClose:()=>{null==R||R(),Se()},headingTitle:z||("collections"===X||"products"===X?"Select Products":"view"===X?"Selected Products":"searchProducts"===X?"Searched Products":"rearrange"===X?"Rearrange Products":void 0),footerShadow:!0,centralContainerStyles:{width:G||"480px"},headerRightCustomElement:"rearrange"===X?(console.log("ignore:",ee),t(o,{})):t(o,{}),primaryButton:{buttonText:se?"Loading...":X===k.RearrangeProducts?"Done":"Add",disabled:se||ne<1||w&&ne<w||!w&&E&&ne>E||!1,onClick:()=>{T.onAdd(be,ne),Se()}},footerLeftCustomElement:M?t(o,{}):w&&ne>w?t(p,{tagText:`You can only select ${w} products`,type:"negative"}):E&&ne>E?t(p,{tagText:`You can only select ${E} products`,type:"negative"}):t(d,ne>0?{onClick:()=>{Z(q?k.RearrangeProducts:k.SelectedProducts)},buttonText:w?`${ne}/${w} products selected`:`${ne} products selected`,buttonType:["rearrange","view"].includes(X)?"tertiaryGray":"tertiary",disabled:["rearrange","view"].includes(X)}:{disabled:!0,buttonText:w?`${ne}/${w} products selected`:`${ne} products selected`,buttonType:"tertiaryGray"})},{children:fe}))})};export{T as ProductPickerModal,k as ScreenName};
|