@chaibuilder/sdk 3.0.17 → 3.0.19
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/README.md +1 -1
- package/dist/apply-binding-BIYK6lOq.cjs +1 -0
- package/dist/{apply-binding-B0CX8mDS.js → apply-binding-YbVf4970.js} +214 -170
- package/dist/{code-editor-e5WfREx8.js → code-editor--_5n1fHM.js} +11 -11
- package/dist/code-editor-CBlDQDOU.cjs +1 -0
- package/dist/core.cjs +1 -126
- package/dist/core.js +97 -10670
- package/dist/css-import-modal-BQLoUINw.cjs +13 -0
- package/dist/{css-import-modal-CSVrt6lz.js → css-import-modal-DaH4zyxk.js} +1 -1
- package/dist/index-D82Oycgh.js +10688 -0
- package/dist/index-yyKDajjI.cjs +128 -0
- package/dist/render.cjs +1 -1
- package/dist/render.js +2 -2
- package/dist/rte-widget-modal-DZeFdaqT.cjs +1 -0
- package/dist/rte-widget-modal-ZDCgSYTI.js +41 -0
- package/dist/sdk.css +1 -1
- package/dist/{toggle-C5YXnEL9.js → tooltip-Bz2MxMHf.js} +405 -405
- package/dist/tooltip-CzZ7Fvt7.cjs +1 -0
- package/dist/ui.cjs +1 -1
- package/dist/ui.js +1 -1
- package/dist/web-blocks.cjs +1 -1
- package/dist/web-blocks.js +151 -152
- package/package.json +2 -1
- package/dist/apply-binding-DSgP62np.cjs +0 -1
- package/dist/code-editor-D5uDqrW1.cjs +0 -1
- package/dist/css-import-modal-Cm49bHmT.cjs +0 -13
- package/dist/toggle-Ca6BayTf.cjs +0 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npm install @chaibuilder/sdk
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Step 2: Add a custom tailwind config.
|
|
20
|
-
Create a new file: `tailwind.chaibuilder.config.ts`.
|
|
20
|
+
Create a new file: `tailwind.chaibuilder.config.ts`. <br /> Pass the path to your source files.
|
|
21
21
|
```tsx
|
|
22
22
|
import { getChaiBuilderTailwindConfig } from "@chaibuilder/sdk/tailwind";
|
|
23
23
|
export default getChaiBuilderTailwindConfig(["./src/**/*.{js,ts,jsx,tsx}"]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const H=require("@chaibuilder/runtime"),t=require("lodash-es"),M=require("tailwind-merge"),k=require("./common-functions-BZmyleS1.cjs"),_=require("himalaya"),y="#styles:",V="__ADD_BLOCK_INTERNAL_ROOT",O="@",A="#",R=e=>{if(e=e.replace(y,""),!e)return{baseClasses:"",classes:""};const n=e.split(/,(?![^\[]*\])/);if(n.length===1)return{baseClasses:"",classes:n[0].trim()};const[a,...s]=n;return{baseClasses:a.trim(),classes:s.join(",").trim().replace(/ +(?= )/g,"")}};function W(e,n,a){const s=t.get(a,"i18nProps",[]);if(t.isEmpty(n)||t.isEmpty(s))return e;const i=t.cloneDeep(e);return t.forEach(t.keys(i),o=>{if(t.includes(s,o)&&!t.isEmpty(n)){const l=t.get(i,o),r=t.get(i,`${o}-${n}`,"");t.isString(l)?i[o]=t.isString(r)&&!t.isEmpty(r.trim())&&r.trimStart()||l:i[o]=t.isEmpty(r)?l:r}}),i}const F=t.memoize(e=>{const{baseClasses:n,classes:a}=R(e);return M.twMerge(n,a)});function J(e,n){return t.get(e,`${n}_attrs`,{})}function z(e,n=!0){const a={};return Object.keys(e).forEach(s=>{if(t.isString(e[s])&&e[s].startsWith(y)){const i=F(e[s]),o=J(e,s);a[s]={...!t.isEmpty(i)&&{className:i},...o,...n?{"data-style-prop":s,"data-block-parent":e._id,"data-style-id":`${s}-${e._id}`}:{}}}}),a}const Y=t.memoize(e=>{const n=H.getRegisteredChaiBlock(e),a=t.get(n,"schema.properties",{});return Object.fromEntries(Object.entries(a).filter(([,s])=>t.get(s,"runtime",!1)))}),U=(e,n)=>{if(!t.isArray(e))return e;let a=e,s;return typeof n.limit=="number"&&n.limit>0&&(s=n.limit),s!==void 0&&(a=a.slice(0,s)),a},K=(e,n)=>{const a=t.cloneDeep(e);return t.forEach(t.keys(a),s=>{if(t.isString(a[s])&&!t.startsWith(s,"_")){let i=a[s];s==="repeaterItems"&&(a.repeaterItemsBinding=i);const o=/\{\{(.*?)\}\}/g,l=i.match(o);l&&l.forEach(r=>{let h=r.slice(2,-2);const u=t.get(n,h,r);i=t.isArray(u)?u:i.replace(r,u)}),a[s]=i}}),a},X=e=>{const n=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,a=/(?:https?:\/\/)?(?:www\.)?(player)?.vimeo\.com/;return n.test(e)||a.test(e)},Z=e=>{if(t.isEmpty(e))return e;const n=/<video[^>]+src=['"]([^'">]+)['"]/,a=/<iframe[^>]+src=['"]([^'">]+)['"]/,s=e.match(n),i=e.match(a),o=s?s[1]:i?i[1]:null,l=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,r=/(?:https?:\/\/)?(?:www\.)?player.vimeo\.com/;return o&&(l.test(o)||r.test(o))?o:e},j=["chai-name","data-chai-name"],G={img:{alt:"alt",width:"width",height:"height",src:"image"},video:{src:"url",autoplay:"controls.autoPlay",muted:"controls.muted",loop:"controls.loop",controls:"controls.widgets"},a:{href:"link.href",target:"link.target",type:""},input:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},textarea:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},select:{placeholder:"placeholder",required:"required",multiple:"multiple",name:"fieldName"},form:{action:"action"}},Q=(e,n)=>e.children.length===1&&t.includes(["Heading","Paragraph","Span","ListItem","Button","Label","TableCell","Link","RichText"],n._type),T=e=>e.map(n=>n.type==="text"?t.get(n,"content",""):t.isEmpty(n.children)?"":T(n.children)).join(""),L=e=>e===null?"":e,P=e=>{const n=t.compact(t.map(e.split(/\s+/),t.trim)),a=t.find(n,r=>/^w-/.test(r)),s=t.find(n,r=>/^h-/.test(r));if(!s||!a)return{height:"",width:""};const i=r=>{if(!r)return;const h=r.match(/^[wh]-(?:\[(.*?)\]|(.+))$/);if(!h)return;if(h[1])return h[1];const u=h[2];return/^\d+(\.\d+)?$/.test(u)?`${Number(u)*4}px`:u==="auto"||t.includes(u,"%")?u:"16px"},o=i(a),l=i(s);return{width:t.includes(o,"px")?o:"16px",height:t.includes(l,"px")?l:"16px"}},N=e=>{if(e.tagName==="svg")return{};const n={},a=G[e.tagName]||{},s=e.attributes;return t.forEach(s,({key:i,value:o})=>{if(!t.includes(j,i))if(a[i]){if(e.tagName==="img"&&i==="src"&&!o.startsWith("http")){const l=t.find(e.attributes,{key:"width"}),r=t.find(e.attributes,{key:"height"});l&&r?o=`https://via.placeholder.com/${l==null?void 0:l.value}x${r==null?void 0:r.value}`:o="https://via.placeholder.com/150x150"}t.set(n,a[i],L(o))}else t.includes(["style","class","srcset"],i)||(t.has(n,"styles_attrs")||(n.styles_attrs={}),t.startsWith(i,"@")&&(i=i.replace("@","x-on:")),n.styles_attrs[`${i}`]=L(o))}),delete n.class,n},tt=(e,n="styles")=>{if(!e.attributes)return{[n]:`${y},`};const a=t.find(e.attributes,{key:"class"});if(a){const s=a.value;return{[n]:`${y},${s}`}}return{[n]:`${y},`}},et=e=>{const n=t.get(e,"attributes",[]),a=n.find(r=>r.key==="data-chai-richtext"||r.key==="chai-richtext"),s=n.find(r=>r.key==="data-chai-lightbox"||r.key==="chai-lightbox"),i=n.find(r=>r.key==="data-chai-dropdown"||r.key==="chai-dropdown"),o=n.find(r=>r.key==="data-chai-dropdown-button"||r.key==="chai-dropdown-button"),l=n.find(r=>r.key==="data-chai-dropdown-content"||r.key==="chai-dropdown-content");if(i)return{_type:"Dropdown"};if(o)return{_type:"DropdownButton"};if(l)return{_type:"DropdownContent"};if(a)return{_type:"RichText"};if(s)return{_type:"LightBoxLink"};switch(e.tagName){case"img":return{_type:"Image"};case"input":return{_type:"Input",showLabel:!1};case"hr":return{_type:"Divider"};case"br":return{_type:"LineBreak"};case"textarea":return{_type:"TextArea",showLabel:!1};case"audio":return{_type:"Audio"};case"canvas":return{_type:"Canvas"};case"video":case"iframe":return{_type:"CustomHTML"};case"svg":return{_type:"Icon"};case"select":return{_type:"Select",options:[]};case"option":return{_type:"Option"};case"ul":case"ol":case"dl":return{_type:"List",tag:e.tagName,_listType:e.tagName==="ol"?"list-decimal":"list-none"};case"li":case"dt":return{_type:"ListItem",tag:e.tagName};case"span":case"figcaption":case"legend":return{_type:"Span",tag:e.tagName};case"p":return{_type:"Paragraph",content:""};case"a":return{_type:"Link"};case"form":return{_type:"Form"};case"label":return{_type:"Label"};case"button":return{_type:"Button"};case"code":return{_type:"Box",_name:"Code"};case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return{_type:"Heading",tag:e.tagName};case"table":return{_type:"Table"};case"tr":return{_type:"TableRow"};case"td":case"th":return{_type:"TableCell",tag:e.tagName};case"thead":return{_type:"TableHead"};case"tbody":return{_type:"TableBody"};case"tfoot":return{_type:"TableFooter"};default:{const r=t.get(e,"children",[]).length>0?"Box":"EmptyBox";return{_type:r,tag:e.tagName,_name:r=="EmptyBox"||e.tagName==="div"?r:t.capitalize(e.tagName)}}}},q=(e,n=null)=>t.flatMapDeep(e,a=>{var b,m,v,E,w,I,$,C,S,D;if(a.type==="comment")return[];let s={_id:k.generateUUID()};if(n&&(s._parent=n.block._id),a.type==="text")return t.isEmpty(t.get(a,"content",""))?[]:n&&Q(n.node,n.block)?(t.set(n,"block.content",t.get(a,"content","")),[]):{...s,_type:"Text",content:t.get(a,"content","")};const i=t.get(a,"attributes",[]),o=i.find(c=>c.key==="data-chai-richtext"||c.key==="chai-richtext"),l=i.find(c=>c.key==="data-chai-lightbox"||c.key==="chai-lightbox"),r=i.find(c=>c.key==="data-chai-dropdown"||c.key==="chai-dropdown"),h=i.find(c=>c.key==="data-chai-dropdown-button"||c.key==="chai-dropdown-button"),u=i.find(c=>c.key==="data-chai-dropdown-content"||c.key==="chai-dropdown-content");if(s={...s,...et(a),...N(a),...tt(a)},a.attributes){const c=a.attributes.find(p=>t.includes(j,p.key));c&&(s._name=c.value)}if(o)return s.content=_.stringify(a.children),t.has(s,"styles_attrs.data-chai-richtext")&&delete s.styles_attrs["data-chai-richtext"],t.has(s,"styles_attrs.chai-richtext")&&delete s.styles_attrs["chai-richtext"],[s];if(l){const c=["data-chai-lightbox","chai-lightbox","data-vbtype","data-autoplay","data-maxwidth","data-overlay","data-gall","href"];s={...s,href:((b=i.find(p=>p.key==="href"))==null?void 0:b.value)||"",hrefType:((m=i.find(p=>p.key==="data-vbtype"))==null?void 0:m.value)||"video",autoplay:((v=i.find(p=>p.key==="data-autoplay"))==null?void 0:v.value)==="true"?"true":"false",maxWidth:((w=(E=i.find(p=>p.key==="data-maxwidth"))==null?void 0:E.value)==null?void 0:w.replace("px",""))||"",backdropColor:((I=i.find(p=>p.key==="data-overlay"))==null?void 0:I.value)||"",galleryName:(($=i.find(p=>p.key==="data-gall"))==null?void 0:$.value)||""},t.forEach(c,p=>{t.has(s,`styles_attrs.${p}`)&&delete s.styles_attrs[p]})}if(r&&(delete s.styles_attrs,s.showDropdown=!1),u&&delete s.styles_attrs,h){delete s.styles_attrs;const c=t.filter(a.children||[],d=>(d==null?void 0:d.tagName)!=="span");s.content=T(c);const p=t.find(a.children||[],d=>(d==null?void 0:d.tagName)==="span"&&t.some(d.children||[],g=>(g==null?void 0:g.tagName)==="svg"));if(p){const d=t.find(p.children||[],g=>(g==null?void 0:g.tagName)==="svg");if(d){s.icon=_.stringify([d]);const{height:g,width:f}=st(d,"16px","16px");s.iconHeight=g,s.iconWidth=f}}return[s]}if(s._type==="Input"){const c=s.inputType||"text";c==="checkbox"?t.set(s,"_type","Checkbox"):c==="radio"&&t.set(s,"_type","Radio")}else if(a.tagName==="video"||a.tagName==="iframe"){const c=_.stringify([a]);return X(c)&&(t.set(s,"_type","Video"),t.set(s,"url",Z(c)),t.set(s,"styles",`${y},`),t.set(s,"controls",{autoPlay:!1,muted:!0,loop:!1,controls:!1})),s.content=c,[s]}else if(a.tagName==="svg"){const c=t.get(t.find(a.attributes,{key:"class"}),"value",""),{height:p,width:d}=P(c);if(p&&d)s.styles=`${y}, ${k.cn(`w-${d} h-${p}`,c)}`.trim(),s.height=p==null?void 0:p.replace("px",""),s.width=d==null?void 0:d.replace("px","");else{const g=(C=t.find(a.attributes,{key:"height"}))==null?void 0:C.value,f=(S=t.find(a.attributes,{key:"width"}))==null?void 0:S.value;g&&f?(s.styles=`${y}, ${k.cn(`w-[${f}px] h-[${g}px]`,c)}`.trim(),s.height=g,s.width=f):s.styles=`${y}, ${k.cn("w-full h-full",c)}`.trim()}return a.attributes=t.filter(a.attributes,g=>!t.includes(["style","width","height","class"],g.key)),s.icon=_.stringify([a]),[s]}else if(a.tagName=="option"&&n&&((D=n.block)==null?void 0:D._type)==="Select")return n.block.options.push({label:T(a.children),...N(a)}),[];const x=q(a.children,{block:s,node:a});return[s,...x]}),st=(e,n,a)=>{var h,u;const s=t.get(e,"attributes",[]),{height:i,width:o}=P(t.get(t.find(s,{key:"class"}),"value",""));if(i&&o)return{height:`[${i}px]`,width:`[${o}px]`};const l=(h=t.find(s,{key:"height"}))==null?void 0:h.value,r=(u=t.find(s,{key:"width"}))==null?void 0:u.value;return{height:l?`[${l}px]`:a,width:r?`[${r}px]`:n}},at=e=>{e=e.replace(/(\w+)=\\?"(.*?)\\?"/g,(s,i,o)=>{let l=o.replace(/\\"/g,'"');return l=l.replace(/{([^}]+)}/g,r=>r.replace(/"/g,'\\"')),`${i}="${l.replace(/\\"/g,'"')}"`}),e=e.replace(/\\n/g,"").replace(/\\\\/g,"").replace(/\\([/<>])/g,"$1").replace(/\\./g,"").replace(/[\n\r\t\f\v]/g,""),e=e.replace(/\$name="[^"]*"/g,"");const n=e.match(/<body[^>]*>[\s\S]*?<\/body>/);return(n&&n.length>0?n[0].replace(/<body/,"<div").replace(/<\/body>/,"</div>"):e).replace(/\s+/g," ").replaceAll("> <","><").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").trim()},nt=e=>{const n=_.parse(at(e));return t.isEmpty(e)?[]:t.flatten(q(n))},rt=e=>{const n=t.last(e);return e.map(a=>{const s=Object.keys(a);for(let i=0;i<s.length;i++)if(t.isString(a[s[i]])&&t.startsWith(s[i],"content")){const o=a===n?"":" ";a[s[i]]=`${a[s[i]].trim()}${o}`}return a})},B=(e,n,{index:a,key:s},i)=>{if(t.isString(e)){let o=e;const l=/\{\{(.*?)\}\}/g,r=e.match(l);if(r){const h=i==="image"||i==="mobileImage";r.forEach(u=>{let x=u.slice(2,-2).trim(),b=s.slice(2,-2).trim();a!==-1&&t.startsWith(x,"$index.")?x=`${b}.${a}.${x.slice(7)}`:a!==-1&&t.startsWith(x,"$index")&&(x=`${b}.${a}`);const m=t.get(n,x);m===void 0?o=o.replace(u,""):h&&!t.isArray(m)?o=m:o=t.isArray(m)?m:o.replace(u,m)})}return o}if(t.isArray(e))return e.map(o=>B(o,n,{index:a,key:s},i));if(e&&typeof e=="object"){const o={};return t.forEach(t.keys(e),l=>{!t.startsWith(l,"_")&&l!=="$repeaterItemsKey"?o[l]=B(e[l],n,{index:a,key:s},l):o[l]=e[l]}),o}return e},ot=(e,n,{index:a,key:s})=>{let i=t.cloneDeep(e);return i.repeaterItems&&(i.$repeaterItemsKey=i.repeaterItems,t.startsWith(i.repeaterItems,`{{${A}`)&&(i.$repeaterItemsKey=i.repeaterItems=`${i.repeaterItems.replace("}}",`/${i._id}}}`)}`),!t.isEmpty(i.repeaterItems)&&i.pagination&&(i.repeaterTotalItems=`${i.repeaterItems.replace("}}",`/${i._id}/totalItems}}`)}`)),B(i,n,{index:a,key:s})};exports.COLLECTION_PREFIX=A;exports.REPEATER_PREFIX=O;exports.ROOT_TEMP_KEY=V;exports.STYLES_KEY=y;exports.adjustSpacingInContentBlocks=rt;exports.applyBindingToBlockProps=ot;exports.applyChaiDataBinding=K;exports.applyLanguage=W;exports.applyLimit=U;exports.getBlockRuntimeProps=Y;exports.getBlockTagAttributes=z;exports.getBlocksFromHTML=nt;exports.getSplitChaiClasses=R;
|