@chaibuilder/pages 0.4.6-beta.3 → 0.4.6-beta.4
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/{B4MFY5CR-DuN0t56f.js → B4MFY5CR-B0neOOrT.js} +1 -1
- package/dist/{B4MFY5CR-C8daQItO.cjs → B4MFY5CR-D1hD4AZA.cjs} +1 -1
- package/dist/{HO4MOOFI-CsPcqhcs.cjs → HO4MOOFI-DBRfBGwX.cjs} +1 -1
- package/dist/{HO4MOOFI-oec0xpE4.js → HO4MOOFI-ZMWaaBGt.js} +2 -2
- package/dist/{HUY7CZI3-B8Ze2vSD.cjs → HUY7CZI3-CFg61x0n.cjs} +1 -1
- package/dist/{HUY7CZI3-CPhM1Xo9.js → HUY7CZI3-DFWIfsRg.js} +2 -2
- package/dist/asset-metadata-editor-r5vYHUfm.js +108 -0
- package/dist/asset-metadata-editor-zw9u1BB9.cjs +1 -0
- package/dist/{digital-asset-manager-DPEusw_C.js → digital-asset-manager-9X9QSmn9.js} +211 -188
- package/dist/digital-asset-manager-CZp5Gnel.cjs +1 -0
- package/dist/{index-BosOek7g.cjs → index-DL1vcgk2.cjs} +1 -1
- package/dist/{index-CHnFBKHF.js → index-D_vvEddR.js} +3 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +4 -1
- package/dist/server.js +7 -7
- package/package.json +1 -1
- package/dist/asset-metadata-editor-B5xHNQG_.js +0 -91
- package/dist/asset-metadata-editor-Bzt3zj6x.cjs +0 -1
- package/dist/digital-asset-manager-Dg6416gA.cjs +0 -1
|
@@ -7390,7 +7390,7 @@ var Ed = (e, t = !1) => {
|
|
|
7390
7390
|
const t = oa(() => {
|
|
7391
7391
|
const n = this, [s] = R(this, yt), [a] = R(this, vt), [i] = R(this, Et), [l] = R(this, bt), [o] = R(this, gt);
|
|
7392
7392
|
let c;
|
|
7393
|
-
return R(this, wt) ? c = R(this, wt) : (c = ia(() => import("./HO4MOOFI-
|
|
7393
|
+
return R(this, wt) ? c = R(this, wt) : (c = ia(() => import("./HO4MOOFI-ZMWaaBGt.js")), ee(this, wt, c)), Ca(R(this, Yt), R(this, pt)), ra(c, aa({
|
|
7394
7394
|
get queryFlavor() {
|
|
7395
7395
|
return R(n, zt);
|
|
7396
7396
|
},
|
|
@@ -7484,7 +7484,7 @@ var Ed = (e, t = !1) => {
|
|
|
7484
7484
|
const t = oa(() => {
|
|
7485
7485
|
const n = this, [s] = R(this, At), [a] = R(this, xt), [i] = R(this, Tt), [l] = R(this, Ct), [o] = R(this, St), [c] = R(this, Pt);
|
|
7486
7486
|
let h;
|
|
7487
|
-
return R(this, _t) ? h = R(this, _t) : (h = ia(() => import("./HUY7CZI3-
|
|
7487
|
+
return R(this, _t) ? h = R(this, _t) : (h = ia(() => import("./HUY7CZI3-DFWIfsRg.js")), ee(this, _t, h)), Ca(R(this, en), R(this, Nt)), ra(h, aa({
|
|
7488
7488
|
get queryFlavor() {
|
|
7489
7489
|
return R(n, Zt);
|
|
7490
7490
|
},
|
|
@@ -7602,7 +7602,7 @@ var Iu = process.env.NODE_ENV !== "development" ? function() {
|
|
|
7602
7602
|
} : Pu;
|
|
7603
7603
|
process.env.NODE_ENV;
|
|
7604
7604
|
const ku = Qa(
|
|
7605
|
-
() => import("./digital-asset-manager-
|
|
7605
|
+
() => import("./digital-asset-manager-9X9QSmn9.js")
|
|
7606
7606
|
);
|
|
7607
7607
|
ul();
|
|
7608
7608
|
ec();
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-DL1vcgk2.cjs"),t=require("@chaibuilder/sdk");exports.PermissionChecker=e.PermissionChecker;exports.default=e.ChaiBuilderPages;exports.registerChaiLoginComponent=e.registerLoginComponent;exports.useChaiUserInfo=e.useChaiUserInfo;exports.useCurrentPage=e.useCurrentPage;exports.useFetch=e.useFetch;exports.useFetchUpload=e.useFetchUpload;exports.useLanguagePages=e.useLanguagePages;exports.useUserPermissions=e.useUserRoleAndPermissions;exports.useWebsitePages=e.useWebsitePages;exports.useWebsiteSetting=e.useWebsiteSetting;Object.keys(t).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>t[s]})});
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a0 as a, _ as r, a1 as t, a8 as i, a2 as o, X as u, a7 as n, a3 as g, a6 as h, a4 as m, a5 as C } from "./index-
|
|
1
|
+
import { a0 as a, _ as r, a1 as t, a8 as i, a2 as o, X as u, a7 as n, a3 as g, a6 as h, a4 as m, a5 as C } from "./index-D_vvEddR.js";
|
|
2
2
|
export * from "@chaibuilder/sdk";
|
|
3
3
|
export {
|
|
4
4
|
a as PermissionChecker,
|
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _=Object.defineProperty;var U=(i,a,e)=>a in i?_(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var g=(i,a,e)=>U(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-es"),d={},P=(i,a)=>{d[i]={key:i,...a,hasSlug:!0}},p=(i,a)=>{d[i]={key:i,...a,hasSlug:!1}},k=()=>Object.values(d),h=i=>d[i];let T=async i=>({...i});const G=i=>T=i,E=async i=>{try{return await T(i)}catch(a){return console.error(a),{}}};class v{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:t}){var n,o;return console.log("upload",a,e,t),await((o=(n=this.backend).handleAssetsAction)==null?void 0:o.call(n,{action:"UPLOAD_ASSET",data:{name:t,file:a,folderId:e}}))}async getAssets(a){var e,t;return(t=(e=this.backend).handleAssetsAction)==null?void 0:t.call(e,{action:"GET_ASSETS",data:a})}async deleteAsset(a){var e,t;return(t=(e=this.backend).handleAssetsAction)==null?void 0:t.call(e,{action:"DELETE_ASSET",data:{assetId:a}})}async updateAsset({id:a,file:e,description:t}){var s,n;return(n=(s=this.backend).handleAssetsAction)==null?void 0:n.call(s,{action:"UPDATE_ASSET",data:{id:a,file:e,description:t}})}}class C{constructor(a){this.backend=a}async refreshToken(a){var t,s;const e=await((s=(t=this.backend).handleUsersAction)==null?void 0:s.call(t,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var s,n;const t=await((n=(s=this.backend).handleUsersAction)==null?void 0:n.call(s,{action:"LOGIN",data:{email:a,password:e}}));return t.error?{error:t.error}:t}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var t,s;return(await((s=(t=this.backend).handleUsersAction)==null?void 0:s.call(t,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var t,s;return await((s=(t=this.backend).handleUsersAction)==null?void 0:s.call(t,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,e){var s,n;return await((n=(s=this.backend).handleUsersAction)==null?void 0:n.call(s,{action:"GET_CHAI_USER",data:e},a))}}const y={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"};class D{constructor(a,e,t){g(this,"fallbackLang","");g(this,"currentLang","");g(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=t,this._registerDefaultPageTypes(),this.chaiUsers=e??new C(this.backend),this.chaiAssets=t??new v(this.backend)}_registerDefaultPageTypes(){P("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),p("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setFallbackLang(a){if(l.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(l.isEmpty(a))throw new Error("Current language cannot be empty");this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,e){var s,n,o,c,u,S,m,f,b,w;switch(a.action){case"UPLOAD_ASSET":return(s=this.chaiAssets)==null?void 0:s.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null});case"GET_ASSETS":return(n=this.chaiAssets)==null?void 0:n.getAssets(a.data);case"DELETE_ASSET":return(o=this.chaiAssets)==null?void 0:o.deleteAsset(a.data.assetId);case"UPDATE_ASSET":return(c=this.chaiAssets)==null?void 0:c.updateAsset(a.data);case"REFRESH_TOKEN":return(u=this.chaiUsers)==null?void 0:u.refreshToken(a.data);case"LOGIN":return(S=this.chaiUsers)==null?void 0:S.login(a.data);case"LOGOUT":return(m=this.chaiUsers)==null?void 0:m.logout();case"CHECK_USER_STATUS":return(f=this.chaiUsers)==null?void 0:f.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(b=this.chaiUsers)==null?void 0:b.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(w=this.chaiUsers)==null?void 0:w.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const r=await E({lang:a.data.lang,draft:!0,inBuilder:!0}),A=h(a.data.pageType);return A?{...A.dataProvider?await A.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:r}:{global:r}}if(a.action==="GET_PAGE_TYPES")return Promise.all(k().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const r=h(a.data.pageType);return r?r.search?await r.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}const t=await this.backend.handleAction(a,e);return this.emit(a.action,t),t}emit(a,e){var n,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const t=l.get(e,"page");if(!t)return;const s=h(t.pageType);if(s)switch(a){case"CREATE_PAGE":return(n=s.onCreate)==null?void 0:n.call(s,t);case"UPDATE_PAGE":return(o=s.onUpdate)==null?void 0:o.call(s,t);case"DELETE_PAGE":return(c=s.onDelete)==null?void 0:c.call(s,t)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=l.first(a||[""]);Object.keys(y).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolveLink(a,e){const t=h(a);if(!t)return"/not-found";const s=this.isDraftMode(),n=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return t.resolveLink?await t.resolveLink(e,s,n):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:s,lang:n}})}async getPageBySlug(a){const e=this.isDraftMode(),t={};return k().forEach(s=>{l.has(s,"dynamicSegments")&&s.dynamicSegments&&(t[s.key]=s.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:t}})}async getFullPage(a){const e=this.isDraftMode(),t=this.getCurrentLang(),s=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:s===t?void 0:t,draft:e,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,e={}){var u;const t=this.isDraftMode(),s=this.getCurrentLang(),n=h(a),[o,c]=await Promise.all([this.getGlobalData(),((u=n==null?void 0:n.dataProvider)==null?void 0:u.call(n,{lang:s,draft:t,inBuilder:!1,pageProps:e}))||Promise.resolve({})]);return n?{...c,global:o}:{global:o}}async getGlobalData(){const a=this.getCurrentLang();return await E({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class M{constructor(a="",e=L){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){const t=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),s=await t.json();return l.has(s,"error")?{...s,status:t.status}:s}async handleAction(a,e){const t=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),s=await t.json();return l.has(s,"error")?{...s,status:t.status}:s}async handleAssetsAction(a,e){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-upload":"true","x-chai-auth-token":e}})).json()}}const L="https://api.chaibuilder.com";exports.API_URL=L;exports.ChaiBuilderPages=D;exports.ChaiBuilderPagesBackend=M;exports.ChaiBuilderPagesUserManagement=C;exports.LANGUAGES=y;exports.getChaiGlobalData=E;exports.getChaiPageType=h;exports.getChaiPageTypes=k;exports.registerChaiGlobalDataProvider=G;exports.registerChaiPageType=P;exports.registerChaiPartialType=p;
|
|
1
|
+
"use strict";var _=Object.defineProperty;var U=(i,a,e)=>a in i?_(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var g=(i,a,e)=>U(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-es"),d={},P=(i,a)=>{d[i]={key:i,...a,hasSlug:!0}},p=(i,a)=>{d[i]={key:i,...a,hasSlug:!1}},k=()=>Object.values(d),h=i=>d[i];let T=async i=>({...i});const G=i=>T=i,m=async i=>{try{return await T(i)}catch(a){return console.error(a),{}}};class v{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:t}){var s,o;return await((o=(s=this.backend).handleAssetsAction)==null?void 0:o.call(s,{action:"UPLOAD_ASSET",data:{name:t,file:a,folderId:e}}))}async getAssets(a){var e,t;return(t=(e=this.backend).handleAssetsAction)==null?void 0:t.call(e,{action:"GET_ASSETS",data:a})}async deleteAsset(a){var e,t;return(t=(e=this.backend).handleAssetsAction)==null?void 0:t.call(e,{action:"DELETE_ASSET",data:{assetId:a}})}async updateAsset({id:a,file:e,description:t}){var n,s;return(s=(n=this.backend).handleAssetsAction)==null?void 0:s.call(n,{action:"UPDATE_ASSET",data:{id:a,file:e,description:t}})}}class C{constructor(a){this.backend=a}async refreshToken(a){var t,n;const e=await((n=(t=this.backend).handleUsersAction)==null?void 0:n.call(t,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var n,s;const t=await((s=(n=this.backend).handleUsersAction)==null?void 0:s.call(n,{action:"LOGIN",data:{email:a,password:e}}));return t.error?{error:t.error}:t}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var t,n;return(await((n=(t=this.backend).handleUsersAction)==null?void 0:n.call(t,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var t,n;return await((n=(t=this.backend).handleUsersAction)==null?void 0:n.call(t,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,e){var n,s;return await((s=(n=this.backend).handleUsersAction)==null?void 0:s.call(n,{action:"GET_CHAI_USER",data:e},a))}}const y={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"};class D{constructor(a,e,t){g(this,"fallbackLang","");g(this,"currentLang","");g(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=t,this._registerDefaultPageTypes(),this.chaiUsers=e??new C(this.backend),this.chaiAssets=t??new v(this.backend)}_registerDefaultPageTypes(){P("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),p("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setFallbackLang(a){if(l.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(l.isEmpty(a))throw new Error("Current language cannot be empty");this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,e){var n,s,o,c,u,E,S,f,b,w;switch(a.action){case"UPLOAD_ASSET":return(n=this.chaiAssets)==null?void 0:n.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null});case"GET_ASSETS":return(s=this.chaiAssets)==null?void 0:s.getAssets(a.data);case"DELETE_ASSET":return(o=this.chaiAssets)==null?void 0:o.deleteAsset(a.data.assetId);case"UPDATE_ASSET":return(c=this.chaiAssets)==null?void 0:c.updateAsset(a.data);case"REFRESH_TOKEN":return(u=this.chaiUsers)==null?void 0:u.refreshToken(a.data);case"LOGIN":return(E=this.chaiUsers)==null?void 0:E.login(a.data);case"LOGOUT":return(S=this.chaiUsers)==null?void 0:S.logout();case"CHECK_USER_STATUS":return(f=this.chaiUsers)==null?void 0:f.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(b=this.chaiUsers)==null?void 0:b.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(w=this.chaiUsers)==null?void 0:w.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const r=await m({lang:a.data.lang,draft:!0,inBuilder:!0}),A=h(a.data.pageType);return A?{...A.dataProvider?await A.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:r}:{global:r}}if(a.action==="GET_PAGE_TYPES")return Promise.all(k().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const r=h(a.data.pageType);return r?r.search?await r.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}const t=await this.backend.handleAction(a,e);return this.emit(a.action,t),t}emit(a,e){var s,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const t=l.get(e,"page");if(!t)return;const n=h(t.pageType);if(n)switch(a){case"CREATE_PAGE":return(s=n.onCreate)==null?void 0:s.call(n,t);case"UPDATE_PAGE":return(o=n.onUpdate)==null?void 0:o.call(n,t);case"DELETE_PAGE":return(c=n.onDelete)==null?void 0:c.call(n,t)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=l.first(a||[""]);Object.keys(y).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolveLink(a,e){const t=h(a);if(!t)return"/not-found";const n=this.isDraftMode(),s=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return t.resolveLink?await t.resolveLink(e,n,s):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:n,lang:s}})}async getPageBySlug(a){const e=this.isDraftMode(),t={};return k().forEach(n=>{l.has(n,"dynamicSegments")&&n.dynamicSegments&&(t[n.key]=n.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:t}})}async getFullPage(a){const e=this.isDraftMode(),t=this.getCurrentLang(),n=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:n===t?void 0:t,draft:e,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,e={}){var u;const t=this.isDraftMode(),n=this.getCurrentLang(),s=h(a),[o,c]=await Promise.all([this.getGlobalData(),((u=s==null?void 0:s.dataProvider)==null?void 0:u.call(s,{lang:n,draft:t,inBuilder:!1,pageProps:e}))||Promise.resolve({})]);return s?{...c,global:o}:{global:o}}async getGlobalData(){const a=this.getCurrentLang();return await m({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class M{constructor(a="",e=L){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){const t=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),n=await t.json();return l.has(n,"error")?{...n,status:t.status}:n}async handleAction(a,e){const t=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),n=await t.json();return l.has(n,"error")?{...n,status:t.status}:n}async handleAssetsAction(a,e){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-upload":"true","x-chai-auth-token":e}})).json()}}const L="https://api.chaibuilder.com";exports.API_URL=L;exports.ChaiBuilderPages=D;exports.ChaiBuilderPagesBackend=M;exports.ChaiBuilderPagesUserManagement=C;exports.LANGUAGES=y;exports.getChaiGlobalData=m;exports.getChaiPageType=h;exports.getChaiPageTypes=k;exports.registerChaiGlobalDataProvider=G;exports.registerChaiPageType=P;exports.registerChaiPartialType=p;
|
package/dist/server.d.ts
CHANGED
|
@@ -74,7 +74,10 @@ export declare interface ChaiBuilderPagesAssetsInterface {
|
|
|
74
74
|
}): Promise<ChaiAsset | {
|
|
75
75
|
error: string;
|
|
76
76
|
}>;
|
|
77
|
-
getAssets(params: AssetsParams): Promise<
|
|
77
|
+
getAssets(params: AssetsParams): Promise<{
|
|
78
|
+
assets: Partial<ChaiAsset>[];
|
|
79
|
+
total: number;
|
|
80
|
+
} | {
|
|
78
81
|
error: string;
|
|
79
82
|
}>;
|
|
80
83
|
deleteAsset(assetId: string): Promise<{
|
package/dist/server.js
CHANGED
|
@@ -7,12 +7,12 @@ const g = {}, y = (i, a) => {
|
|
|
7
7
|
}, U = (i, a) => {
|
|
8
8
|
g[i] = { key: i, ...a, hasSlug: !1 };
|
|
9
9
|
}, b = () => Object.values(g), h = (i) => g[i];
|
|
10
|
-
let
|
|
10
|
+
let p = async (i) => ({
|
|
11
11
|
...i
|
|
12
12
|
});
|
|
13
|
-
const H = (i) =>
|
|
13
|
+
const H = (i) => p = i, P = async (i) => {
|
|
14
14
|
try {
|
|
15
|
-
return await
|
|
15
|
+
return await p(i);
|
|
16
16
|
} catch (a) {
|
|
17
17
|
return console.error(a), {};
|
|
18
18
|
}
|
|
@@ -27,7 +27,7 @@ class v {
|
|
|
27
27
|
name: t
|
|
28
28
|
}) {
|
|
29
29
|
var s, o;
|
|
30
|
-
return
|
|
30
|
+
return await ((o = (s = this.backend).handleAssetsAction) == null ? void 0 : o.call(s, {
|
|
31
31
|
action: "UPLOAD_ASSET",
|
|
32
32
|
data: {
|
|
33
33
|
name: t,
|
|
@@ -389,7 +389,7 @@ class B {
|
|
|
389
389
|
);
|
|
390
390
|
}
|
|
391
391
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
392
|
-
const r = await
|
|
392
|
+
const r = await P({
|
|
393
393
|
lang: a.data.lang,
|
|
394
394
|
draft: !0,
|
|
395
395
|
inBuilder: !0
|
|
@@ -513,7 +513,7 @@ class B {
|
|
|
513
513
|
}
|
|
514
514
|
async getGlobalData() {
|
|
515
515
|
const a = this.getCurrentLang();
|
|
516
|
-
return await
|
|
516
|
+
return await P({
|
|
517
517
|
lang: a,
|
|
518
518
|
draft: this.isDraftMode(),
|
|
519
519
|
inBuilder: !1
|
|
@@ -568,7 +568,7 @@ export {
|
|
|
568
568
|
K as ChaiBuilderPagesBackend,
|
|
569
569
|
G as ChaiBuilderPagesUserManagement,
|
|
570
570
|
D as LANGUAGES,
|
|
571
|
-
|
|
571
|
+
P as getChaiGlobalData,
|
|
572
572
|
h as getChaiPageType,
|
|
573
573
|
b as getChaiPageTypes,
|
|
574
574
|
H as registerChaiGlobalDataProvider,
|
package/package.json
CHANGED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { jsx as a, jsxs as t } from "react/jsx-runtime";
|
|
2
|
-
import { Dialog as b, DialogContent as w, DialogHeader as F, DialogTitle as C, Label as l, Input as S, Textarea as y, DialogFooter as A, Button as g } from "@chaibuilder/sdk/ui";
|
|
3
|
-
import { useState as d } from "react";
|
|
4
|
-
function E({
|
|
5
|
-
asset: e,
|
|
6
|
-
onSave: r,
|
|
7
|
-
onCancel: o
|
|
8
|
-
}) {
|
|
9
|
-
const i = e.name.lastIndexOf("."), f = i > 0 ? e.name.substring(0, i) : e.name, c = i > 0 ? e.name.substring(i) : "", [m, x] = d(f), [s, v] = d(e.description || ""), [u, h] = d(!1), N = async () => {
|
|
10
|
-
h(!0);
|
|
11
|
-
try {
|
|
12
|
-
const D = {
|
|
13
|
-
name: m + c,
|
|
14
|
-
description: s || void 0
|
|
15
|
-
};
|
|
16
|
-
await r(D);
|
|
17
|
-
} finally {
|
|
18
|
-
h(!1);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
return /* @__PURE__ */ a(b, { open: !0, onOpenChange: () => o(), children: /* @__PURE__ */ t(w, { className: "sm:max-w-[500px]", children: [
|
|
22
|
-
/* @__PURE__ */ a(F, { children: /* @__PURE__ */ a(C, { children: "Edit Asset Details" }) }),
|
|
23
|
-
/* @__PURE__ */ t("div", { className: "grid gap-3 py-2", children: [
|
|
24
|
-
/* @__PURE__ */ t("div", { className: "grid gap-2", children: [
|
|
25
|
-
/* @__PURE__ */ a(l, { htmlFor: "name", children: "Name" }),
|
|
26
|
-
/* @__PURE__ */ t("div", { className: "flex", children: [
|
|
27
|
-
/* @__PURE__ */ a(
|
|
28
|
-
S,
|
|
29
|
-
{
|
|
30
|
-
id: "name",
|
|
31
|
-
value: m,
|
|
32
|
-
onChange: (n) => x(n.target.value),
|
|
33
|
-
className: "rounded-r-none"
|
|
34
|
-
}
|
|
35
|
-
),
|
|
36
|
-
/* @__PURE__ */ a("div", { className: "px-3 py-1 text-sm font-medium bg-muted text-muted-foreground rounded-r-md border border-l-0 flex items-center", children: c || "" })
|
|
37
|
-
] }),
|
|
38
|
-
/* @__PURE__ */ a("p", { className: "text-xs text-muted-foreground", children: "Only the file name can be changed, not the extension." })
|
|
39
|
-
] }),
|
|
40
|
-
/* @__PURE__ */ t("div", { className: "grid gap-2", children: [
|
|
41
|
-
/* @__PURE__ */ a(l, { htmlFor: "description", children: "Description" }),
|
|
42
|
-
/* @__PURE__ */ a(
|
|
43
|
-
y,
|
|
44
|
-
{
|
|
45
|
-
id: "description",
|
|
46
|
-
value: s,
|
|
47
|
-
placeholder: "Enter a description for the asset",
|
|
48
|
-
onChange: (n) => v(n.target.value),
|
|
49
|
-
rows: 3
|
|
50
|
-
}
|
|
51
|
-
)
|
|
52
|
-
] }),
|
|
53
|
-
/* @__PURE__ */ a("div", { className: "grid grid-cols-1 gap-2 text-sm border rounded-md p-2", children: [
|
|
54
|
-
{ label: "Type", value: e.type },
|
|
55
|
-
{ label: "Format", value: e.format },
|
|
56
|
-
{ label: "Size", value: B(e.size) },
|
|
57
|
-
{
|
|
58
|
-
label: "Dimensions",
|
|
59
|
-
value: `${e.width} × ${e.height}`
|
|
60
|
-
},
|
|
61
|
-
{ label: "Created", value: p(e.createdAt) },
|
|
62
|
-
{ label: "Updated", value: p((e == null ? void 0 : e.updatedAt) || "") }
|
|
63
|
-
].map((n) => /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
|
|
64
|
-
/* @__PURE__ */ a(l, { className: "w-max text-left px-2 w-1/4 font-normal text-gray-700", children: n.label }),
|
|
65
|
-
":",
|
|
66
|
-
/* @__PURE__ */ a("div", { className: "w-max text-left font-medium text-gray-900 capitalize", children: n.value })
|
|
67
|
-
] })) })
|
|
68
|
-
] }),
|
|
69
|
-
/* @__PURE__ */ t(A, { children: [
|
|
70
|
-
/* @__PURE__ */ a(g, { variant: "outline", onClick: o, children: "Cancel" }),
|
|
71
|
-
/* @__PURE__ */ a(g, { onClick: N, disabled: u, children: u ? "Saving..." : "Save Changes" })
|
|
72
|
-
] })
|
|
73
|
-
] }) });
|
|
74
|
-
}
|
|
75
|
-
function B(e) {
|
|
76
|
-
return e < 1024 ? e + " B" : e < 1024 * 1024 ? (e / 1024).toFixed(1) + " KB" : e < 1024 * 1024 * 1024 ? (e / (1024 * 1024)).toFixed(1) + " MB" : (e / (1024 * 1024 * 1024)).toFixed(1) + " GB";
|
|
77
|
-
}
|
|
78
|
-
function p(e) {
|
|
79
|
-
if (!e) return "N/A";
|
|
80
|
-
const r = new Date(e);
|
|
81
|
-
return new Intl.DateTimeFormat("en-US", {
|
|
82
|
-
month: "short",
|
|
83
|
-
day: "numeric",
|
|
84
|
-
year: "numeric",
|
|
85
|
-
hour: "2-digit",
|
|
86
|
-
minute: "2-digit"
|
|
87
|
-
}).format(r);
|
|
88
|
-
}
|
|
89
|
-
export {
|
|
90
|
-
E as default
|
|
91
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("@chaibuilder/sdk/ui"),l=require("react");function j({asset:e,onSave:r,onCancel:d}){const i=e.name.lastIndexOf("."),h=i>0?e.name.substring(0,i):e.name,o=i>0?e.name.substring(i):"",[s,g]=l.useState(h),[c,f]=l.useState(e.description||""),[m,u]=l.useState(!1),p=async()=>{u(!0);try{const v={name:s+o,description:c||void 0};await r(v)}finally{u(!1)}};return t.jsx(a.Dialog,{open:!0,onOpenChange:()=>d(),children:t.jsxs(a.DialogContent,{className:"sm:max-w-[500px]",children:[t.jsx(a.DialogHeader,{children:t.jsx(a.DialogTitle,{children:"Edit Asset Details"})}),t.jsxs("div",{className:"grid gap-3 py-2",children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx(a.Label,{htmlFor:"name",children:"Name"}),t.jsxs("div",{className:"flex",children:[t.jsx(a.Input,{id:"name",value:s,onChange:n=>g(n.target.value),className:"rounded-r-none"}),t.jsx("div",{className:"px-3 py-1 text-sm font-medium bg-muted text-muted-foreground rounded-r-md border border-l-0 flex items-center",children:o||""})]}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Only the file name can be changed, not the extension."})]}),t.jsxs("div",{className:"grid gap-2",children:[t.jsx(a.Label,{htmlFor:"description",children:"Description"}),t.jsx(a.Textarea,{id:"description",value:c,placeholder:"Enter a description for the asset",onChange:n=>f(n.target.value),rows:3})]}),t.jsx("div",{className:"grid grid-cols-1 gap-2 text-sm border rounded-md p-2",children:[{label:"Type",value:e.type},{label:"Format",value:e.format},{label:"Size",value:N(e.size)},{label:"Dimensions",value:`${e.width} × ${e.height}`},{label:"Created",value:x(e.createdAt)},{label:"Updated",value:x((e==null?void 0:e.updatedAt)||"")}].map(n=>t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(a.Label,{className:"w-max text-left px-2 w-1/4 font-normal text-gray-700",children:n.label}),":",t.jsx("div",{className:"w-max text-left font-medium text-gray-900 capitalize",children:n.value})]}))})]}),t.jsxs(a.DialogFooter,{children:[t.jsx(a.Button,{variant:"outline",onClick:d,children:"Cancel"}),t.jsx(a.Button,{onClick:p,disabled:m,children:m?"Saving...":"Save Changes"})]})]})})}function N(e){return e<1024?e+" B":e<1024*1024?(e/1024).toFixed(1)+" KB":e<1024*1024*1024?(e/(1024*1024)).toFixed(1)+" MB":(e/(1024*1024*1024)).toFixed(1)+" GB"}function x(e){if(!e)return"N/A";const r=new Date(e);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(r)}exports.default=j;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react"),Q=require("@chaibuilder/sdk"),o=require("@chaibuilder/sdk/ui"),B=require("lodash-es"),p=require("lucide-react"),J=require("react-dropzone"),S=require("@tanstack/react-query"),N=require("sonner"),r=require("./index-BosOek7g.cjs"),W=()=>{const t=r.useAssetsApiUrl(),d=S.useQueryClient(),u=r.useFetch();return S.useMutation({mutationFn:async({file:i,folderId:m,name:h})=>u(t,{action:r.ACTIONS.UPLOAD_ASSET,data:{file:i,folderId:m,name:h}}),onSuccess:()=>{d.invalidateQueries({queryKey:[r.ACTIONS.GET_ASSETS]}),N.toast.success("Asset uploaded successfully")},onError:()=>{N.toast.error("Failed to upload asset")}})},X=()=>{const t=r.useAssetsApiUrl(),d=S.useQueryClient(),u=r.useFetch();return S.useMutation({mutationFn:async i=>u(t,{action:r.ACTIONS.DELETE_ASSET,data:{id:i}}),onSuccess:()=>{d.invalidateQueries({queryKey:[r.ACTIONS.GET_ASSETS]}),N.toast.success("Asset deleted successfully")},onError:()=>{N.toast.error("Failed to delete asset")}})},Z=()=>{const t=r.useAssetsApiUrl(),d=S.useQueryClient(),u=r.useFetch();return S.useMutation({mutationFn:async i=>u(t,{action:r.ACTIONS.UPDATE_ASSET,data:i}),onSuccess:()=>{d.invalidateQueries({queryKey:[r.ACTIONS.GET_ASSETS]}),N.toast.success("Asset updated successfully")},onError:()=>{N.toast.error("Failed to update asset")}})},$=(t={})=>{const d=r.useAssetsApiUrl(),u=r.useFetch(),{search:i,page:m=1,limit:h=10}=t;return S.useQuery({queryKey:[r.QUERY_KEY_BASE,r.ACTIONS.GET_ASSETS,i,m,h],queryFn:async()=>(await u(d,{action:r.ACTIONS.GET_ASSETS,data:{search:i,page:m,limit:h}})).data,retry:1})};function ee(){const[d,u]=a.useState([]),[i,m]=a.useState({query:"",page:1,pageSize:10}),h=B.debounce(()=>i.query,300)(),{data:n,isLoading:b}=$({search:(h==null?void 0:h.toLowerCase().trim())||"",page:i.page,limit:i.pageSize}),f=n?Math.ceil(n.total/n.pageSize):0,c=(n==null?void 0:n.page)||1,j=c<f,w=c>1,{mutate:A,isPending:x}=Z(),{mutate:C,isPending:T}=W(),{mutate:q,isPending:U}=X(),y=a.useCallback(g=>{g>=1&&g<=f&&m(v=>({...v,page:g}))},[f]),F=a.useCallback(()=>{j&&y(c+1)},[c,j,y]),E=a.useCallback(()=>{w&&y(c-1)},[c,w,y]),I=a.useCallback(g=>{m(v=>({...v,query:g,page:1}))},[]),k=a.useCallback(g=>{u(v=>B.find(v,{id:g.id})?[]:[g])},[!1]),z=a.useCallback(()=>{u([])},[]);return{query:(i==null?void 0:i.query)||"",selectedAssets:d,assets:(n==null?void 0:n.assets)||[],currentPage:c,totalPages:f,hasNextPage:j,hasPreviousPage:w,uploadAsset:C,updateAsset:A,deleteAsset:q,goToPage:y,nextPage:F,previousPage:E,updateSearchQuery:I,clearSelectedAssets:z,updateSelectedAssets:k,isLoadingAssets:b,isUploadingAsset:T,isUpdatingAsset:x,isDeletingAsset:U}}const se=a.lazy(()=>Promise.resolve().then(()=>require("./asset-metadata-editor-Bzt3zj6x.cjs"))),te=a.lazy(()=>Promise.resolve().then(()=>require("./image-editor-D8wu5UNM.cjs")));function ae({close:t,onSelect:d,mode:u="image"}){const m=a.useMemo(()=>[u],[u]),[h,n]=a.useState("browse"),[b,f]=a.useState(null),[c,j]=a.useState({show:!1,file:""}),{query:w,assets:A,selectedAssets:x,uploadAsset:C,updateAsset:T,deleteAsset:q,updateSearchQuery:U,clearSelectedAssets:y,updateSelectedAssets:F,isLoadingAssets:E,isUploadingAsset:I,isUpdatingAsset:k}=ee(),z=a.useRef(null),g=a.useCallback(async s=>new Promise((l,M)=>{const O=s[0],P=new FileReader;P.readAsDataURL(O),P.onload=async()=>{const D=await C({file:P.result,folderId:null,name:O.name});n("browse"),l(D)},P.onerror=D=>M(D)}),[C]),{getRootProps:v,getInputProps:L,isDragActive:_}=J.useDropzone({onDrop:g,accept:{"image/*":m.includes("image")?[]:[],"video/*":m.includes("video")?[]:[]},maxSize:10*1024*1024}),R=()=>{d([x[0].url]),t()},G=async s=>{await q(s.id)},K=s=>{f(s)},Y=async(s,l)=>{await T(B.merge(s,l)),t()},V=s=>{U(s.target.value)},H=async(s,l)=>{try{l?await C({file:s,folderId:null,name:c.name||""}):await T({id:c.id||"",file:s}),j({show:!1,file:""}),n("browse")}catch(M){console.error("Error saving edited image:",M)}};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"min-w-[700px] min-h-[600px] w-[900px] max-w-[900px]",children:[e.jsx("h1",{className:"text-lg font-medium pb-4",children:"Digital Asset Manager"}),e.jsxs(o.Tabs,{value:h,onValueChange:s=>n(s),className:"flex-1 flex flex-col h-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs(o.TabsList,{children:[e.jsx(o.TabsTrigger,{value:"browse",children:"Browse Assets"}),e.jsx(o.TabsTrigger,{value:"upload",children:"Upload"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[x.length>0&&e.jsx(e.Fragment,{children:e.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>y(),title:"Clear selection",children:"Clear"})}),e.jsx(o.Button,{size:"sm",onClick:R,disabled:x.length===0,children:"Select Asset"})]})]}),e.jsxs(o.TabsContent,{value:"browse",className:"flex-1 flex flex-col",children:[e.jsx("div",{className:"flex items-center gap-2 mb-2",children:e.jsxs("div",{className:"relative w-full",children:[e.jsx(p.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(o.Input,{placeholder:"Search assets...",value:w,onChange:V,className:"pl-8"})]})}),E&&A.length===0?e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-2 overflow-y-auto max-h-[550px] p-1",children:[e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"}),e.jsx("div",{className:"bg-gray-200 h-64 w-full animate-pulse rounded"})]}):A.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-12 h-[380px]",children:[e.jsxs("div",{className:"text-muted-foreground mb-2",children:[e.jsx("h3",{className:"text-gray-800 font-medium",children:"No assets to display"}),e.jsx("p",{className:"text-sm",children:"You haven't uploaded any assets yet. Start by uploading your first asset."})]}),e.jsx("div",{className:"flex gap-2 pt-4",children:e.jsx(o.Button,{size:"lg",onClick:()=>n("upload"),children:"Upload Assets"})})]}):e.jsxs("div",{ref:z,className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-2 overflow-y-auto max-h-[550px] p-1",children:[A.map(s=>e.jsx(o.Card,{className:Q.mergeClasses("cursor-pointer overflow-hidden transition-all",x.some(l=>l.id===s.id)?"ring-2 ring-primary":"hover:ring-2 hover:ring-primary/20"),onClick:()=>F(s),children:e.jsxs(o.CardContent,{className:"p-0 relative group",children:[e.jsxs("div",{className:"aspect-square relative overflow-hidden bg-muted",children:[s.type==="image"?e.jsx("img",{src:s.url||"/placeholder.svg",alt:s.name,className:"object-cover w-full h-full"}):e.jsxs("div",{className:"flex items-center justify-center h-full",children:[e.jsx(p.Film,{className:"h-12 w-12 text-muted-foreground"}),s.thumbnailUrl&&e.jsx("img",{src:s.thumbnailUrl||"/placeholder.svg",alt:s.name,className:"absolute inset-0 object-cover w-full h-full"})]}),e.jsxs("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2",children:[e.jsx(o.Button,{variant:"secondary",size:"icon",className:"h-8 w-8",onClick:l=>{l.stopPropagation(),K(s)},children:e.jsx(p.ImageIcon,{className:"h-4 w-4"})}),e.jsx(o.Button,{variant:"secondary",size:"icon",className:"h-8 w-8",onClick:l=>{l.stopPropagation(),j({id:s.id,show:!0,file:s.url,name:s.name})},children:e.jsx(p.Edit,{className:"h-4 w-4"})}),e.jsx(o.Button,{variant:"destructive",size:"icon",className:"h-8 w-8",onClick:l=>{l.stopPropagation(),G(s)},children:e.jsx(p.Trash2,{className:"h-4 w-4"})})]}),x.some(l=>l.id===s.id)&&e.jsx("div",{className:"absolute top-2 left-2",children:e.jsx("input",{type:"checkbox",checked:x.some(l=>l.id===s.id),readOnly:!0,className:"rounded-full"})})]}),e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"text-sm font-medium truncate",title:s.name,children:s.name}),e.jsxs("div",{className:"text-xs text-muted-foreground flex items-center justify-between",children:[e.jsx("span",{children:le((s==null?void 0:s.size)||0)}),e.jsx("span",{children:re(s.createdAt)})]})]})]})},s.id)),E&&A.length>0&&e.jsx("div",{className:"col-span-full flex justify-center py-4",children:e.jsx(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})})]})]}),e.jsx(o.TabsContent,{value:"upload",className:"flex-1 ",children:e.jsxs("div",{...v(),className:Q.mergeClasses("border-2 border-dashed rounded-lg h-[380px] flex flex-col items-center justify-center text-center cursor-pointer hover:bg-gray-50",_?"border-primary bg-primary/5":"border-muted-foreground/20"),children:[e.jsx("input",{...L()}),k||I?e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(p.Loader2,{className:"h-12 w-12 text-primary animate-spin mb-4"}),e.jsx("h3",{className:"text-lg font-medium mb-1",children:"Uploading files..."}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Please wait while your files are being processed."})]}):e.jsxs(e.Fragment,{children:[e.jsx(p.Upload,{className:"h-12 w-12 text-muted-foreground mb-4"}),e.jsx("h3",{className:"text-lg font-medium mb-1",children:"Drag & drop files here"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"or click to browse your files"}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[e.jsxs("p",{children:["Accepted file types: ",m.join(", ")]}),e.jsxs("p",{children:["Maximum file size: ",10,"MB"]})]})]})]})})]})]}),b&&e.jsx(a.Suspense,{fallback:e.jsx("div",{children:"Loading..."}),children:e.jsx(se,{asset:b,onSave:s=>Y(b,s),onCancel:()=>{f(null)}})}),c.show&&e.jsx(a.Suspense,{fallback:e.jsx("div",{children:"Loading..."}),children:e.jsx(te,{imageUrl:c.file,onSave:H,onClose:()=>j({show:!1,file:""}),defaultSavedImageName:c.name,isEditing:!!c.id})})]})}function le(t){return t<1024?t+" B":t<1024*1024?(t/1024).toFixed(1)+" KB":t<1024*1024*1024?(t/(1024*1024)).toFixed(1)+" MB":(t/(1024*1024*1024)).toFixed(1)+" GB"}function re(t){const d=new Date(t);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(d)}exports.default=ae;
|