@gem-sdk/components 4.0.0-staging.1180 → 4.0.0-staging.1183

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.
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),helpers=require("../../link/common/helpers.js"),React=require("react");const useArticleLink=()=>{let e=core.useArticleStore(e=>e.article),r=core.useShopStore(e=>e.storefrontUrl),{isPreviewSharePageMode:t}=core.useRenderMode(),o=e?.handle?helpers.urlJoin("blogs",e?.blog?.handle??"",e.handle):"#",s=React.useMemo(()=>{if(t)return"javascript:void(0)";if(!r)return"#";let s=new URL(r);return e?`${s.protocol}//${s.host}/${o}`:"#"},[r,e,o,t]);return{shopifyArticleLink:s}};exports.useArticleLink=useArticleLink;
1
+ "use strict";var core=require("@gem-sdk/core"),helpers=require("../../link/common/helpers.js"),React=require("react");const useArticleLink=()=>{let e=core.useArticleStore(e=>e.article),r=core.useShopStore(e=>e.storefrontUrl),{isPreviewSharePageMode:t}=core.useRenderMode(),o=e?.handle?helpers.urlJoin("blogs",e?.blog?.handle??"",e.handle):"#",l=React.useMemo(()=>{if(t)return`/articles/${e?.handle}`;if(!r)return"#";let l=new URL(r);return e?`${l.protocol}//${l.host}/${o}`:"#"},[r,e,o,t]);return{shopifyArticleLink:l}};exports.useArticleLink=useArticleLink;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),system=require("@gem-sdk/system"),helpers=require("./common/helpers.js"),useDescription=require("../../hooks/useDescription.js");const DescriptionNotFoundString="This collection does not have a description",CollectionDescription=({setting:e,builderProps:s,pageContext:t,advanced:l})=>{let r=core.useCollection(),{ref:i,open:a,isShowViewMore:n,handleToggleShowMore:c,hasLineClamp:o}=useDescription.useGpDescription(e),m=r?.descriptionHtml,u=system.createClass(classes.getClassContainerCollectionDes({setting:e})),y=system.createClass(classes.getClassEmptyCollectionDes()),p=system.createClass(classes.getClassButtonViewMore({setting:e})),d=system.createClass(classes.getDescriptionClasses({advanced:l})),x=system.createClass({...classes.getShowMoreIconClasses(),...a?{"gp-rotate-180":!0}:{}}),j=system.createClass(classes.getShowMoreTextClasses()),C=system.createClass(classes.getClassPreBuilt()),g=system.createStyle({...styles.getDefaultStyleCollectionDes({setting:e}),...a?{}:core.makeStyleResponsive("line-clamp",core.makeLineClamp(e?.lineClamp,e?.hasLineClamp))}),h=system.createStyle({...styles.getStyleDefaultViewMore(e)}),S=helpers.getViewLessText({setting:e,builderProps:s,pageContext:t,type:"react"}),D=helpers.getViewMoreText({setting:e,builderProps:s,pageContext:t,type:"react"}),R=system.createAttr({"data-id":`${s?.uid}`}),I=system.createAttr({"data-gp-text":""}),{gpDescriptionCss:M,textDescriptionCss:f}=styles.getStaticCss();return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(!m,jsxRuntime.jsx("div",{className:y,dangerouslySetInnerHTML:{__html:"This collection does not have a description"}}),jsxRuntime.jsxs("div",{...R,className:d,children:[jsxRuntime.jsx("style",{children:f}),jsxRuntime.jsx("style",{children:M}),jsxRuntime.jsx("div",{className:C}),jsxRuntime.jsx("div",{ref:i,className:u,style:g,dangerouslySetInnerHTML:{__html:r?.descriptionHtml??""},...I}),system.If(o&&n,jsxRuntime.jsxs("button",{type:"button",className:p,style:h,onClick:c,children:[jsxRuntime.jsx("span",{className:j,children:system.If(a,S?.toString()??"",D?.toString()??"")}),system.If(e?.enableViewMoreIcon,jsxRuntime.jsx("span",{className:x,dangerouslySetInnerHTML:{__html:helpers.ICON_SVG}}),"")]}),"")]}))})};exports.default=CollectionDescription;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),system=require("@gem-sdk/system"),helpers=require("./common/helpers.js"),useDescription=require("../../hooks/useDescription.js");const DescriptionNotFoundString="This collection does not have a description",CollectionDescription=({setting:e,builderProps:s,pageContext:t,advanced:l})=>{let{isPreviewSharePageMode:r}=core.useRenderMode(),i=core.useCollection(),{ref:a,open:n,isShowViewMore:o,handleToggleShowMore:c,hasLineClamp:m}=useDescription.useGpDescription(e),u=i?.descriptionHtml,y=system.createClass(classes.getClassContainerCollectionDes({setting:e})),p=system.createClass(classes.getClassEmptyCollectionDes()),d=system.createClass(classes.getClassButtonViewMore({setting:e})),x=system.createClass(classes.getDescriptionClasses({advanced:l})),j=system.createClass({...classes.getShowMoreIconClasses(),...n?{"gp-rotate-180":!0}:{}}),C=system.createClass(classes.getShowMoreTextClasses()),g=system.createClass(classes.getClassPreBuilt()),h=system.createStyle({...styles.getDefaultStyleCollectionDes({setting:e}),...n?{}:core.makeStyleResponsive("line-clamp",core.makeLineClamp(e?.lineClamp,e?.hasLineClamp))}),S=system.createStyle({...styles.getStyleDefaultViewMore(e)}),R=helpers.getViewLessText({setting:e,builderProps:s,pageContext:t,type:"react"}),D=helpers.getViewMoreText({setting:e,builderProps:s,pageContext:t,type:"react"}),M=system.createAttr({"data-id":`${s?.uid}`}),I=system.createAttr({"data-gp-text":""}),{gpDescriptionCss:f,textDescriptionCss:v}=styles.getStaticCss(),N=r?"":jsxRuntime.jsx("div",{className:p,dangerouslySetInnerHTML:{__html:"This collection does not have a description"}});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(!u,N,jsxRuntime.jsxs("div",{...M,className:x,children:[jsxRuntime.jsx("style",{children:v}),jsxRuntime.jsx("style",{children:f}),jsxRuntime.jsx("div",{className:g}),jsxRuntime.jsx("div",{ref:a,className:y,style:h,dangerouslySetInnerHTML:{__html:i?.descriptionHtml??""},...I}),system.If(m&&o,jsxRuntime.jsxs("button",{type:"button",className:d,style:S,onClick:c,children:[jsxRuntime.jsx("span",{className:C,children:system.If(n,R?.toString()??"",D?.toString()??"")}),system.If(e?.enableViewMoreIcon,jsxRuntime.jsx("span",{className:j,dangerouslySetInnerHTML:{__html:helpers.ICON_SVG}}),"")]}),"")]}))})};exports.default=CollectionDescription;
@@ -1 +1 @@
1
- "use strict";function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let i=e[t];if("string"!=typeof i)throw TypeError("Url must be a string. Received "+i);""!==i&&(t>0&&(i=i.replace(/^\/+/,"")),i=t<e.length-1?i.replace(/\/+$/,""):i.replace(/\/+$/,"/"),r.push(i))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let i=t.split("?");return i.shift()+(i.length>0?"?":"")+i.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}function isExternalLink(e){return!!e&&/^(https?:\/\/|\/\/|\/)/i.test(e)}exports.isExternalLink=isExternalLink,exports.urlJoin=urlJoin;
1
+ "use strict";function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let l=e[t];if("string"!=typeof l)throw TypeError("Url must be a string. Received "+l);""!==l&&(t>0&&(l=l.replace(/^\/+/,"")),l=t<e.length-1?l.replace(/\/+$/,""):l.replace(/\/+$/,"/"),r.push(l))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let l=t.split("?");return l.shift()+(l.length>0?"?":"")+l.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}exports.urlJoin=urlJoin;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core");const CustomLink=({children:e,dataId:r,...t})=>{let{isPreviewSharePageMode:i}=core.useRenderMode(),n={title:t.title,"data-id":r};return i?jsxRuntime.jsx("a",{...n,...t,href:t.href?.toString()??"javascript:void(0)",children:e}):jsxRuntime.jsx(Link,{...n,...t,children:e})};exports.default=CustomLink;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core"),helpers=require("../../helpers.js");const CustomLink=({children:e,dataId:r,...t})=>{let{isPreviewSharePageMode:i}=core.useRenderMode(),n={title:t.title,"data-id":r},s=t.href?.toString(),l=()=>{helpers.handleClickLink({link:s,type:s?.startsWith("#el")?"open-popup":void 0})};return i?jsxRuntime.jsx("a",{...n,...t,href:s,onClick:l,children:e}):jsxRuntime.jsx(Link,{...n,...t,children:e})};exports.default=CustomLink;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),CustomLink=require("./CustomLink.js"),ProductLink=require("./ProductLink.js"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const Link=({setting:e,className:r,style:t,children:i,title:o,dataId:s})=>{let{isPreviewSharePageMode:u}=core.useRenderMode(),l=React.useMemo(()=>e?.type==="product"?ProductLink.default:CustomLink.default,[e?.type]),a={};l==CustomLink.default&&(a.title=o);let n=u&&helpers.isExternalLink(e?.href)?"javascript:void(0)":e?.href;return jsxRuntime.jsx(l,{...a,"data-id":s,target:e?.target,rel:e?.noFollow?"nofollow":void 0,"aria-label":e?.label,href:n,className:r,style:t,children:i})};exports.default=Link;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),CustomLink=require("./CustomLink.js"),ProductLink=require("./ProductLink.js");const Link=({setting:e,className:t,style:r,children:u,title:i,dataId:o})=>{let a=React.useMemo(()=>e?.type==="product"?ProductLink.default:CustomLink.default,[e?.type]),l={};return a==CustomLink.default&&(l.title=i),jsxRuntime.jsx(a,{...l,"data-id":o,target:e?.target,rel:e?.noFollow?"nofollow":void 0,"aria-label":e?.label,href:e?.href,className:t,style:r,children:u})};exports.default=Link;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core");const ProductLink=({children:e,...r})=>{let t=core.useProduct(),{isPreviewSharePageMode:o}=core.useRenderMode();console.log("\uD83D\uDE80 ~ ProductLink ~ isPreviewSharePageMode:",o);let i=o?"javascript:void(0)":t?`/products/${t.handle}`:"#";return jsxRuntime.jsx("a",{title:t?.title,href:i,...r,children:core.isEmptyChildren(e)?t?t.title:null:e})};exports.default=ProductLink;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core");const ProductLink=({children:e,...r})=>{let t=core.useProduct();return jsxRuntime.jsx("a",{title:t?.title,href:t?`/products/${t.handle}`:"#",...r,children:core.isEmptyChildren(e)?t?t.title:null:e})};exports.default=ProductLink;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core"),helpers=require("../../../link/common/helpers.js"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),helpers$1=require("./common/helpers.js");const ProductTitle=e=>{let{setting:t,builderProps:r}=e,{isPreviewSharePageMode:s}=core.useRenderMode(),i=core.useProduct(),o=s?"javascript:void(0)":i?.handle?helpers.urlJoin("/products",i.handle):"#",l=i?.baseID?.replace("gid://shopify/Product/",""),u=core.useEditorMode(),d=()=>jsxRuntime.jsx(Text.default,{...helpers$1.getTextProps(e,i?.title)}),c={href:o,title:i?.title},n=t?.linkProduct,p=system.createClass({"gp-product-title-link-wrapper":!0}),m=system.createAttr({id:`shopify-text-element-${r?.uid}`,...l&&{"data-product-id":l}});return jsxRuntime.jsx("div",{..."edit"===u&&m,children:system.Unless(!!i,"",system.If(n,jsxRuntime.jsx(Link,{...c,className:p,children:d()}),d()))})};exports.default=ProductTitle;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core"),helpers=require("../../../link/common/helpers.js"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),helpers$1=require("./common/helpers.js");const ProductTitle=e=>{let{setting:t,builderProps:r}=e,{isPreviewSharePageMode:s}=core.useRenderMode(),i=core.useProduct(),l=s?`/products/${i?.handle}`:i?.handle?helpers.urlJoin("/products",i.handle):"#",o=i?.baseID?.replace("gid://shopify/Product/",""),u=core.useEditorMode(),d=()=>jsxRuntime.jsx(Text.default,{...helpers$1.getTextProps(e,i?.title)}),n={href:l,title:i?.title},c=t?.linkProduct,p=system.createClass({"gp-product-title-link-wrapper":!0}),m=system.createAttr({id:`shopify-text-element-${r?.uid}`,...o&&{"data-product-id":o}});return jsxRuntime.jsx("div",{..."edit"===u&&m,children:system.Unless(!!i,"",system.If(c,jsxRuntime.jsx(Link,{...n,className:p,children:d()}),d()))})};exports.default=ProductTitle;
@@ -1,8 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core");const SkioSubscriptionsYcS20=({setting:e,advanced:s})=>{let{align:t,sellingPlanId:r}=e??{};return core.template`
2
- <div
3
- class="${s?.cssClass}"
4
- style="${{...core.makeStyleResponsive("ta",t)}}"
5
- >
6
- <input type="hidden" name="selling_plan" value="${r}">
7
- </div>
8
- `};exports.default=SkioSubscriptionsYcS20;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var helpers=require("../common/helpers.js");const SkioSubscriptionsYcS20=({setting:e,advanced:s})=>{let{align:r,appBlockId:o}=e??{};return helpers.getLiquidForAppBlock(o,r,s?.cssClass)};exports.default=SkioSubscriptionsYcS20;
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var SkioSubscriptionsYcS20=require("../../configs/SkioSubscriptionsYcS20.js"),uiV1=require("./uiV1.js"),uiV2=require("./uiV2.js"),helpers=require("../../common/helpers.js");const config={tag:SkioSubscriptionsYcS20.default.tag,label:SkioSubscriptionsYcS20.default.label,icon:'<img class="gp-w-[24px] gp-border gp-border-[#494949] gp-rounded-[3px]" src="https://cdn.shopify.com/app-store/listing_images/8dd0dfb789ffd9e447e7eb98210ccde7/icon/CNW2qO36iIQDEAE=.png?width=22&height=22">',editorConfigs:{placeholder:{flowTag:["Product"]},component:{isThirdParty:!0}},presets:[{id:SkioSubscriptionsYcS20.default.id,name:{en:SkioSubscriptionsYcS20.default.label},hideTextContent:!0,icon:{desktop:`<div class="w-full flex flex-col items-center">
2
2
  <img class="w-24 border border-dark-200 rounded-medium" src="https://cdn.shopify.com/app-store/listing_images/8dd0dfb789ffd9e447e7eb98210ccde7/icon/CNW2qO36iIQDEAE=.png?width=22&height=22">
3
3
  <span class="preset-item-title">Skio Subscriptions (YC S20)</span>
4
- </div>`},components:[{tag:SkioSubscriptionsYcS20.default.tag}]}],settings:[{id:"setting",controls:[{id:"sellingPlanId",type:"input",default:""},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:helpers.get3rdPartyInstallLink({handle:"skio"}),appName:SkioSubscriptionsYcS20.default.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"",appName:SkioSubscriptionsYcS20.default.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:uiV1.default,uiV2:uiV2.default};exports.default=config;
4
+ </div>`},components:[{tag:SkioSubscriptionsYcS20.default.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"App Block",value:"app-block"}],default:"app-block"},{id:"sellingPlanId",type:"input",default:""},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:helpers.get3rdPartyInstallLink({handle:"skio"}),appName:SkioSubscriptionsYcS20.default.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"",appName:SkioSubscriptionsYcS20.default.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:uiV1.default,uiV2:uiV2.default};exports.default=config;
@@ -1 +1 @@
1
- import{useArticleStore as r,useShopStore as e,useRenderMode as t}from"@gem-sdk/core";import{urlJoin as o}from"../../link/common/helpers.js";import{useMemo as l}from"react";let useArticleLink=()=>{let i=r(r=>r.article),n=e(r=>r.storefrontUrl),{isPreviewSharePageMode:m}=t(),s=i?.handle?o("blogs",i?.blog?.handle??"",i.handle):"#",c=l(()=>{if(m)return"javascript:void(0)";if(!n)return"#";let r=new URL(n);return i?`${r.protocol}//${r.host}/${s}`:"#"},[n,i,s,m]);return{shopifyArticleLink:c}};export{useArticleLink};
1
+ import{useArticleStore as r,useShopStore as e,useRenderMode as t}from"@gem-sdk/core";import{urlJoin as o}from"../../link/common/helpers.js";import{useMemo as l}from"react";let useArticleLink=()=>{let n=r(r=>r.article),i=e(r=>r.storefrontUrl),{isPreviewSharePageMode:m}=t(),s=n?.handle?o("blogs",n?.blog?.handle??"",n.handle):"#",c=l(()=>{if(m)return`/articles/${n?.handle}`;if(!i)return"#";let r=new URL(i);return n?`${r.protocol}//${r.host}/${s}`:"#"},[i,n,s,m]);return{shopifyArticleLink:c}};export{useArticleLink};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import{useCollection as s,makeStyleResponsive as i,makeLineClamp as r}from"@gem-sdk/core";import{getDefaultStyleCollectionDes as n,getStyleDefaultViewMore as l,getStaticCss as a}from"./common/styles.js";import{getClassContainerCollectionDes as m,getClassEmptyCollectionDes as c,getClassButtonViewMore as d,getDescriptionClasses as p,getShowMoreIconClasses as h,getShowMoreTextClasses as y,getClassPreBuilt as u}from"./common/classes.js";import{createClass as g,createStyle as f,createAttr as N,If as v}from"@gem-sdk/system";import{getViewLessText as S,getViewMoreText as _,ICON_SVG as j}from"./common/helpers.js";import{useGpDescription as C}from"../../hooks/useDescription.js";let DescriptionNotFoundString="This collection does not have a description",CollectionDescription=({setting:H,builderProps:T,pageContext:k,advanced:D})=>{let I=s(),{ref:L,open:M,isShowViewMore:b,handleToggleShowMore:x,hasLineClamp:w}=C(H),F=I?.descriptionHtml,V=g(m({setting:H})),$=g(c()),q=g(d({setting:H})),z=g(p({advanced:D})),A=g({...h(),...M?{"gp-rotate-180":!0}:{}}),B=g(y()),E=g(u()),G=f({...n({setting:H}),...M?{}:i("line-clamp",r(H?.lineClamp,H?.hasLineClamp))}),J=f({...l(H)}),K=S({setting:H,builderProps:T,pageContext:k,type:"react"}),O=_({setting:H,builderProps:T,pageContext:k,type:"react"}),P=N({"data-id":`${T?.uid}`}),Q=N({"data-gp-text":""}),{gpDescriptionCss:R,textDescriptionCss:U}=a();return e(t,{children:v(!F,e("div",{className:$,dangerouslySetInnerHTML:{__html:"This collection does not have a description"}}),o("div",{...P,className:z,children:[e("style",{children:U}),e("style",{children:R}),e("div",{className:E}),e("div",{ref:L,className:V,style:G,dangerouslySetInnerHTML:{__html:I?.descriptionHtml??""},...Q}),v(w&&b,o("button",{type:"button",className:q,style:J,onClick:x,children:[e("span",{className:B,children:v(M,K?.toString()??"",O?.toString()??"")}),v(H?.enableViewMoreIcon,e("span",{className:A,dangerouslySetInnerHTML:{__html:j}}),"")]}),"")]}))})};export{CollectionDescription as default};
2
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import{useRenderMode as s,useCollection as i,makeStyleResponsive as r,makeLineClamp as n}from"@gem-sdk/core";import{getDefaultStyleCollectionDes as l,getStyleDefaultViewMore as a,getStaticCss as m}from"./common/styles.js";import{getClassContainerCollectionDes as c,getClassEmptyCollectionDes as d,getClassButtonViewMore as p,getDescriptionClasses as h,getShowMoreIconClasses as y,getShowMoreTextClasses as u,getClassPreBuilt as g}from"./common/classes.js";import{createClass as f,createStyle as N,createAttr as v,If as S}from"@gem-sdk/system";import{getViewLessText as _,getViewMoreText as j,ICON_SVG as C}from"./common/helpers.js";import{useGpDescription as H}from"../../hooks/useDescription.js";let DescriptionNotFoundString="This collection does not have a description",CollectionDescription=({setting:T,builderProps:k,pageContext:D,advanced:I})=>{let{isPreviewSharePageMode:L}=s(),M=i(),{ref:b,open:x,isShowViewMore:w,handleToggleShowMore:F,hasLineClamp:V}=H(T),$=M?.descriptionHtml,q=f(c({setting:T})),z=f(d()),A=f(p({setting:T})),B=f(h({advanced:I})),E=f({...y(),...x?{"gp-rotate-180":!0}:{}}),G=f(u()),J=f(g()),K=N({...l({setting:T}),...x?{}:r("line-clamp",n(T?.lineClamp,T?.hasLineClamp))}),O=N({...a(T)}),P=_({setting:T,builderProps:k,pageContext:D,type:"react"}),Q=j({setting:T,builderProps:k,pageContext:D,type:"react"}),R=v({"data-id":`${k?.uid}`}),U=v({"data-gp-text":""}),{gpDescriptionCss:W,textDescriptionCss:X}=m(),Y=L?"":e("div",{className:z,dangerouslySetInnerHTML:{__html:"This collection does not have a description"}});return e(t,{children:S(!$,Y,o("div",{...R,className:B,children:[e("style",{children:X}),e("style",{children:W}),e("div",{className:J}),e("div",{ref:b,className:q,style:K,dangerouslySetInnerHTML:{__html:M?.descriptionHtml??""},...U}),S(V&&w,o("button",{type:"button",className:A,style:O,onClick:F,children:[e("span",{className:G,children:S(x,P?.toString()??"",Q?.toString()??"")}),S(T?.enableViewMoreIcon,e("span",{className:E,dangerouslySetInnerHTML:{__html:C}}),"")]}),"")]}))})};export{CollectionDescription as default};
@@ -1 +1 @@
1
- function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let n=e[t];if("string"!=typeof n)throw TypeError("Url must be a string. Received "+n);""!==n&&(t>0&&(n=n.replace(/^\/+/,"")),n=t<e.length-1?n.replace(/\/+$/,""):n.replace(/\/+$/,"/"),r.push(n))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let n=t.split("?");return n.shift()+(n.length>0?"?":"")+n.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}function isExternalLink(e){return!!e&&/^(https?:\/\/|\/\/|\/)/i.test(e)}export{isExternalLink,urlJoin};
1
+ function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let l=e[t];if("string"!=typeof l)throw TypeError("Url must be a string. Received "+l);""!==l&&(t>0&&(l=l.replace(/^\/+/,"")),l=t<e.length-1?l.replace(/\/+$/,""):l.replace(/\/+$/,"/"),r.push(l))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let l=t.split("?");return l.shift()+(l.length>0?"?":"")+l.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}export{urlJoin};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import r from"next/link";import{useRenderMode as e}from"@gem-sdk/core";let CustomLink=({children:i,dataId:o,...m})=>{let{isPreviewSharePageMode:n}=e(),a={title:m.title,"data-id":o};return n?t("a",{...a,...m,href:m.href?.toString()??"javascript:void(0)",children:i}):t(r,{...a,...m,children:i})};export{CustomLink as default};
2
+ import{jsx as t}from"react/jsx-runtime";import e from"next/link";import{useRenderMode as r}from"@gem-sdk/core";import{handleClickLink as i}from"../../helpers.js";let CustomLink=({children:o,dataId:l,...m})=>{let{isPreviewSharePageMode:n}=r(),p={title:m.title,"data-id":l},s=m.href?.toString(),a=()=>{i({link:s,type:s?.startsWith("#el")?"open-popup":void 0})};return n?t("a",{...p,...m,href:s,onClick:a,children:o}):t(e,{...p,...m,children:o})};export{CustomLink as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as r}from"react/jsx-runtime";import{useMemo as t}from"react";import e from"./CustomLink.js";import o from"./ProductLink.js";import{useRenderMode as i}from"@gem-sdk/core";import{isExternalLink as l}from"../common/helpers.js";let Link=({setting:m,className:a,style:p,children:s,title:f,dataId:n})=>{let{isPreviewSharePageMode:c}=i(),d=t(()=>m?.type==="product"?o:e,[m?.type]),u={};d==e&&(u.title=f);let h=c&&l(m?.href)?"javascript:void(0)":m?.href;return r(d,{...u,"data-id":n,target:m?.target,rel:m?.noFollow?"nofollow":void 0,"aria-label":m?.label,href:h,className:a,style:p,children:s})};export{Link as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{useMemo as r}from"react";import e from"./CustomLink.js";import o from"./ProductLink.js";let Link=({setting:l,className:a,style:i,children:m,title:n,dataId:f})=>{let p=r(()=>l?.type==="product"?o:e,[l?.type]),s={};return p==e&&(s.title=n),t(p,{...s,"data-id":f,target:l?.target,rel:l?.noFollow?"nofollow":void 0,"aria-label":l?.label,href:l?.href,className:a,style:i,children:m})};export{Link as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useProduct as t,useRenderMode as r,isEmptyChildren as o}from"@gem-sdk/core";let ProductLink=({children:i,...l})=>{let d=t(),{isPreviewSharePageMode:a}=r();console.log("\uD83D\uDE80 ~ ProductLink ~ isPreviewSharePageMode:",a);let c=a?"javascript:void(0)":d?`/products/${d.handle}`:"#";return e("a",{title:d?.title,href:c,...l,children:o(i)?d?d.title:null:i})};export{ProductLink as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{useProduct as e,isEmptyChildren as r}from"@gem-sdk/core";let ProductLink=({children:l,...i})=>{let o=e();return t("a",{title:o?.title,href:o?`/products/${o.handle}`:"#",...i,children:r(l)?o?o.title:null:l})};export{ProductLink as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import e from"next/link";import{useRenderMode as r,useProduct as o,useEditorMode as i}from"@gem-sdk/core";import{urlJoin as m}from"../../../link/common/helpers.js";import d from"../../../text/components/Text.js";import{createClass as l,createAttr as p,Unless as s,If as c}from"@gem-sdk/system";import{getTextProps as n}from"./common/helpers.js";let ProductTitle=a=>{let{setting:f,builderProps:u}=a,{isPreviewSharePageMode:h}=r(),k=o(),x=h?"javascript:void(0)":k?.handle?m("/products",k.handle):"#",j=k?.baseID?.replace("gid://shopify/Product/",""),g=i(),P=()=>t(d,{...n(a,k?.title)}),v={href:x,title:k?.title},y=f?.linkProduct,T=l({"gp-product-title-link-wrapper":!0}),b=p({id:`shopify-text-element-${u?.uid}`,...j&&{"data-product-id":j}});return t("div",{..."edit"===g&&b,children:s(!!k,"",c(y,t(e,{...v,className:T,children:P()}),P()))})};export{ProductTitle as default};
2
+ import{jsx as t}from"react/jsx-runtime";import e from"next/link";import{useRenderMode as r,useProduct as o,useEditorMode as i}from"@gem-sdk/core";import{urlJoin as m}from"../../../link/common/helpers.js";import d from"../../../text/components/Text.js";import{createClass as l,createAttr as p,Unless as s,If as c}from"@gem-sdk/system";import{getTextProps as n}from"./common/helpers.js";let ProductTitle=a=>{let{setting:u,builderProps:f}=a,{isPreviewSharePageMode:h}=r(),k=o(),x=h?`/products/${k?.handle}`:k?.handle?m("/products",k.handle):"#",g=k?.baseID?.replace("gid://shopify/Product/",""),j=i(),P=()=>t(d,{...n(a,k?.title)}),y={href:x,title:k?.title},T=u?.linkProduct,$=l({"gp-product-title-link-wrapper":!0}),b=p({id:`shopify-text-element-${f?.uid}`,...g&&{"data-product-id":g}});return t("div",{..."edit"===j&&b,children:s(!!k,"",c(T,t(e,{...y,className:$,children:P()}),P()))})};export{ProductTitle as default};
@@ -1,8 +1 @@
1
- import{template as s,makeStyleResponsive as e}from"@gem-sdk/core";let SkioSubscriptionsYcS20=({setting:i,advanced:t})=>{let{align:l,sellingPlanId:a}=i??{};return s`
2
- <div
3
- class="${t?.cssClass}"
4
- style="${{...e("ta",l)}}"
5
- >
6
- <input type="hidden" name="selling_plan" value="${a}">
7
- </div>
8
- `};export{SkioSubscriptionsYcS20 as default};
1
+ import{getLiquidForAppBlock as s}from"../common/helpers.js";let SkioSubscriptionsYcS20=({setting:o,advanced:r})=>{let{align:t,appBlockId:e}=o??{};return s(e,t,r?.cssClass)};export{SkioSubscriptionsYcS20 as default};
@@ -1,4 +1,4 @@
1
- import e from"../../configs/SkioSubscriptionsYcS20.js";import i from"./uiV1.js";import t from"./uiV2.js";import{get3rdPartyInstallLink as l}from"../../common/helpers.js";let config={tag:e.tag,label:e.label,icon:'<img class="gp-w-[24px] gp-border gp-border-[#494949] gp-rounded-[3px]" src="https://cdn.shopify.com/app-store/listing_images/8dd0dfb789ffd9e447e7eb98210ccde7/icon/CNW2qO36iIQDEAE=.png?width=22&height=22">',editorConfigs:{placeholder:{flowTag:["Product"]},component:{isThirdParty:!0}},presets:[{id:e.id,name:{en:e.label},hideTextContent:!0,icon:{desktop:`<div class="w-full flex flex-col items-center">
1
+ import e from"../../configs/SkioSubscriptionsYcS20.js";import t from"./uiV1.js";import i from"./uiV2.js";import{get3rdPartyInstallLink as l}from"../../common/helpers.js";let config={tag:e.tag,label:e.label,icon:'<img class="gp-w-[24px] gp-border gp-border-[#494949] gp-rounded-[3px]" src="https://cdn.shopify.com/app-store/listing_images/8dd0dfb789ffd9e447e7eb98210ccde7/icon/CNW2qO36iIQDEAE=.png?width=22&height=22">',editorConfigs:{placeholder:{flowTag:["Product"]},component:{isThirdParty:!0}},presets:[{id:e.id,name:{en:e.label},hideTextContent:!0,icon:{desktop:`<div class="w-full flex flex-col items-center">
2
2
  <img class="w-24 border border-dark-200 rounded-medium" src="https://cdn.shopify.com/app-store/listing_images/8dd0dfb789ffd9e447e7eb98210ccde7/icon/CNW2qO36iIQDEAE=.png?width=22&height=22">
3
3
  <span class="preset-item-title">Skio Subscriptions (YC S20)</span>
4
- </div>`},components:[{tag:e.tag}]}],settings:[{id:"setting",controls:[{id:"sellingPlanId",type:"input",default:""},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:l({handle:"skio"}),appName:e.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"",appName:e.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:i,uiV2:t};export{config as default};
4
+ </div>`},components:[{tag:e.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"App Block",value:"app-block"}],default:"app-block"},{id:"sellingPlanId",type:"input",default:""},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:l({handle:"skio"}),appName:e.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"",appName:e.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:t,uiV2:i};export{config as default};
@@ -4872,6 +4872,7 @@ type SkioSubscriptionsYcS20Props = BaseProps<{
4872
4872
  install?: any;
4873
4873
  sellingPlanId?: string;
4874
4874
  widgetType?: string;
4875
+ appBlockId?: string;
4875
4876
  }>;
4876
4877
  type SmartSearchBarAndFiltersProps = BaseProps<{
4877
4878
  apiKey?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "4.0.0-staging.1180",
3
+ "version": "4.0.0-staging.1183",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -25,7 +25,7 @@
25
25
  "scan-all-text": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/scan-all-text && node ./scripts/scan-all-text"
26
26
  },
27
27
  "devDependencies": {
28
- "@gem-sdk/core": "4.0.0-staging.1179",
28
+ "@gem-sdk/core": "4.0.0-staging.1182",
29
29
  "@gem-sdk/styles": "3.1.0-staging.1137",
30
30
  "@gem-sdk/system": "3.1.0-staging.1137",
31
31
  "tsup": "^8.5.0",