PageSourceSearch

https://dbdocs.io/assets/Home-BZjwCe9T.js

js dbdocs.io collected 2026-10-03 22:50:15 UTC 45,641 bytes, 208 lines download raw bytes

1try{let e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`753e874a-d2de-41fb-8c57-043128b06aed`,e._sentryDebugIdIdentifier=`sentry-dbid-753e874a-d2de-41fb-8c57-043128b06aed`)}catch{}import{n as e}from"./chunk-D1bMN1BU.js";import{$ as t,A as n,C as r,D as i,Et as a,K as o,O as s,Ot as c,Q as l,S as u,Tt as d,W as f,X as p,Z as m,b as h,h as g,kt as _,lt as v,u as y,ut as b,w as x,x as S,yt as C}from"./vue.runtime.esm-bundler-DASAC8Sy.js";import{Ct as w,Sr as T,Wn as E,Zt as D,dn as O,fn as k,g as A,gn as j,hn as M,m as ee,nn as te,pn as ne,u as N,v as P,vn as F,zt as I}from"./index-24WEzdGK.js";import{a as L,c as R,n as z,r as B,s as V,t as H,u as U}from"./NotFound-DJtZ-UAp.js";import{t as W}from"./Loading-ChEK_Iyp.js";import{n as G,t as K}from"./sortProjects-CIQLUK83.js";var q={class:`bg-landing-grey-lighten-20 p-4 rounded-2xl flex flex-col justify-between gap-4`},J={class:`flex gap-8`},Y=[`innerHTML`],X={class:`flex gap-4`},Z=[`src`],re={class:`flex flex-col`},ie={class:`font-bold text-sm`},ae={class:`text-xs text-landing-main-lighten-20`},oe={class:`font-bold`},se=n({__name:`TestimonialCard`,props:{quote:{},role:{},name:{},company:{},image:{}},setup(e){return(t,n)=>{let r=l(`font-awesome-icon`);return o(),x(`div`,q,[S(`div`,J,[s(r,{icon:[`fas`,`quote-left`],class:`text-yellow-secondary text-base`}),n[0]||=i(),S(`div`,{class:`text-sm`,innerHTML:e.quote},null,8,Y)]),n[3]||=i(),S(`div`,X,[S(`img`,{src:e.image,alt:`testimonial image`,class:`w-10 h-10 rounded-full`},null,8,Z),n[2]||=i(),S(`div`,re,[S(`div`,ie,_(e.role),1),n[1]||=i(),S(`div`,ae,[S(`span`,oe,_(e.name),1),i(`
2          from `+_(e.company),1)])])])])}}}),ce=n({__name:`TestimonialWrapper`,setup(e){return(e,t)=>(o(),x(`div`,null,[(o(!0),x(g,null,p(d(E),(e,t)=>(o(),u(se,{key:t,quote:e.quote,role:e.role,name:e.name,company:e.company,image:e.image},null,8,[`quote`,`role`,`name`,`company`,`image`]))),128))]))}}),le=e({default:()=>ue}),ue=`/assets/logo0-UAoWkz4P.png`,de=e({default:()=>fe}),fe=`/assets/logo1-DbNN8nqk.png`,pe=e({default:()=>me}),me=`data:image/png;base64,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`,he=e({default:()=>ge}),ge=`/assets/logo11-Cujr8_Eg.png`,_e=e({default:()=>ve}),ve=`/assets/logo12-CypU8S6X.png`,ye=e({default:()=>be}),be=`/assets/logo13-CziiPrxq.png`,xe=e({default:()=>Se}),Se=`/assets/logo2-BH41a2vQ.png`,Ce=e({default:()=>we}),we=`/assets/logo3-BEFICA83.png`,Te=e({default:()=>Ee}),Ee=`/assets/logo4-C7gykjn-.png`,De=e({default:()=>Oe}),Oe=`/assets/logo5-BN0c5HXo.png`,ke=e({default:()=>Ae}),Ae=`/assets/logo6-J0nQO_R-.png`,je=e({default:()=>Me}),Me=`/assets/logo7-DoHXVtCa.png`,Ne=e({default:()=>Pe}),Pe=`/assets/logo8-CNxPxBAq.png`,Fe=e({default:()=>Ie}),Ie=`/assets/logo9-Bcl85AYe.png`,Le={class:`flex items-center justify-center md:justify-start [&_li]:mx-8 [&_img]:max-w-none animate-infinite-scroll`},Re=[`src`],ze={components:{CarouselContent:n({__name:`CarouselContent`,setup(e){let t=Object.entries(Object.assign({"/src/assets/section/client-logo/logo0.png":le,"/src/assets/section/client-logo/logo1.png":de,"/src/assets/section/client-logo/logo10.png":pe,"/src/assets/section/client-logo/logo11.png":he,"/src/assets/section/client-logo/logo12.png":_e,"/src/assets/section/client-logo/logo13.png":ye,"/src/assets/section/client-logo/logo2.png":xe,"/src/assets/section/client-logo/logo3.png":Ce,"/src/assets/section/client-logo/logo4.png":Te,"/src/assets/section/client-logo/logo5.png":De,"/src/assets/section/client-logo/logo6.png":ke,"/src/assets/section/client-logo/logo7.png":je,"/src/assets/section/client-logo/logo8.png":Ne,"/src/assets/section/client-logo/logo9.png":Fe})).sort(([e],[t])=>parseInt(e.match(/logo(\d+)\.png$/)?.[1]||`0`)-parseInt(t.match(/logo(\d+)\.png$/)?.[1]||`0`)).map(([e,t])=>t.default);return(e,n)=>(o(),x(`ul`,Le,[(o(!0),x(g,null,p(d(t),(e,t)=>(o(),x(`li`,{key:t},[S(`img`,{src:e,alt:`dbdocs - client logo`,class:`h-10 saturate-0`},null,8,Re)]))),128))]))}})}},Be={class:`w-full inline-flex flex-nowrap overflow-hidden [mask-image:_linear-gradient(to_right,transparent_0,_black_128px,_black_calc(100%-200px),transparent_100%)]`};function Ve(e,t,n,r,a,c){let u=l(`CarouselContent`);return o(),x(`div`,Be,[s(u),t[0]||=i(),s(u,{"aria-hidden":`true`})])}
2var He=F(ze,[[`render`,Ve]]),Ue={props:{isExpanded:{type:Boolean,required:!0}},computed:{expanded:{get(){return this.isExpanded},set(e){this.$emit(`update:is-expanded`,e)}}},methods:{toggleExpand(){this.expanded=!this.expanded}}};function We(e,t,n,r,s,c){return o(),x(`div`,{class:a([{show:c.expanded},`menu`]),onClick:t[0]||=(...e)=>c.toggleExpand&&c.toggleExpand(...e)},[...t[1]||=[S(`div`,{class:`bar`},null,-1),i(),S(`div`,{class:`bar`},null,-1),i(),S(`div`,{class:`bar`},null,-1),i(),S(`div`,{class:`bar`},null,-1)]],2)}var Ge=F(Ue,[[`render`,We],[`__scopeId`,`data-v-0747c999`]]),Ke={props:{expandable:{type:Boolean,default:!1},border:{type:Boolean,default:!0}},data(){return{isExpanded:!1}},computed:{expandStyles(){return`height: ${this.isExpanded?this.$refs.expandedContent.scrollHeight:0}px`}},methods:{toggleExpand(){this.expandable&&(this.isExpanded=!this.isExpanded)}}},qe={key:0},Je={key:0,class:`border-landing-grey/60 border-solid mx-7`};function Ye(e,t,n,u,d,f){let p=l(`font-awesome-icon`);return o(),x(`div`,null,[S(`div`,{class:a([{"bg-landing-main-lighten-20":d.isExpanded,"cursor-pointer":n.expandable},`flex justify-between items-center py-3 px-7`]),onClick:t[0]||=(...e)=>f.toggleExpand&&f.toggleExpand(...e)},[m(e.$slots,`default`),t[1]||=i(),n.expandable?(o(),x(`button`,qe,[s(p,{icon:[`fal`,`angle-down`],class:a([{"rotate-180 ease-in-out duration-300":d.isExpanded},`text-sm text-white`])},null,8,[`class`])])):r(``,!0)],2),t[2]||=i(),S(`div`,{ref:`expandedContent`,class:a([d.isExpanded?`opacity-100 my-3`:`opacity-0 overflow-hidden`,`transition-all ease-in-out duration-300 mx-7 flex flex-col gap-y-2`]),style:c(f.expandStyles)},[m(e.$slots,`expanded-content`)],6),t[3]||=i(),n.border?(o(),x(`hr`,Je)):r(``,!0)])}var Q=F(Ke,[[`render`,Ye]]),Xe={class:`text-sm font-semibold text-white flex flex-col flex-1`},Ze=[`href`],Qe={class:`flex gap-x-4`},$e=[`src`],et={class:`text-white`},tt={class:`text-sm font-semibold`},nt={class:`font-normal text-xs leading-normal mt-1`},rt={class:`border-t border-solid border-t-landing-grey/60 pt-3`},it=F(n({__name:`FullscreenOverlayNavbar`,props:{isOpen:{type:Boolean,default:!1}},setup(e){return(t,n)=>(o(),x(`div`,{class:a([{"open py-3 border-t border-solid border-landing-grey":e.isOpen},`nav-container absolute top-[48px] w-full flex flex-col bg-landing-main z-10 gap-y-5`])},[S(`div`,Xe,[s(Q,null,{default:v(()=>[...n[0]||=[S(`a`,{href:`https://dbdiagram.io/pricing/`,class:`flex-1 cursor-pointer`,target:`_blank`},`
3          Pricing
4        `,-1)]]),_:1}),n[8]||=i(),s(Q,null,{default:v(()=>[...n[1]||=[S(`a`,{id:`docs`,href:`https://docs.dbdocs.io/`,class:`flex-1 cursor-pointer`,target:`_blank`},`
5          Docs
6        `,-1)]]),_:1}),n[9]||=i(),s(Q,null,{default:v(()=>[...n[2]||=[S(`a`,{href:`https://holistics.notion.site/Public-Product-Roadmap-dbx-dbdiagram-dbdocs-dbml-c36af127c86a40919337b61ac6e12a48`,class:`text-sm font-semibold cursor-pointer mr-5 text-white`,target:`_blank`},`
7          Roadmap
8        `,-1)]]),_:1}),n[10]||=i(),s(Q,null,{default:v(()=>[...n[3]||=[S(`a`,{href:`https://community.dbdiagram.io/`,target:`_blank`,class:`flex-1 cursor-pointer`},`
9          Community
10        `,-1)]]),_:1}),n[11]||=i(),s(Q,{expandable:!0},{default:v(()=>[...n[4]||=[S(`span`,{class:`text-white`},`
11            dbx
12          `,-1)]]),"expanded-content":v(()=>[(o(!0),x(g,null,p(d(T),(e,t)=>(o(),x(`a`,{key:t,href:e.url,class:`no-underline`,target:`_blank`},[S(`div`,Qe,[S(`img`,{src:e.icon,class:`w-8 h-8 mt-1`},null,8,$e),n[6]||=i(),S(`div`,et,[S(`p`,tt,_(e.name),1),n[5]||=i(),S(`p`,nt,_(e.desc),1)])])],8,Ze))),128))]),_:1})]),n[16]||=i(),S(`div`,rt,[s(Q,{border:!1},{default:v(()=>[s(L,{class:`!text-xs w-full`,"with-icon":!1})]),_:1}),n[14]||=i(),s(Q,{border:!1},{default:v(()=>[...n[12]||=[S(`a`,{id:`access_open_beta`,href:`https://docs.dbdocs.io/`,class:`btn flex-1 bg-primary-lighten-15 font-semibold h-8 text-xs text-white justify-center`,target:`_blank`},`
13          Get Started
14        `,-1)]]),_:1}),n[15]||=i(),s(Q,{border:!1},{default:v(()=>[...n[13]||=[S(`a`,{href:`https://dbdocs.io/Holistics/Ecommerce`,class:`flex-1 justify-center btn text-xs text-primary-lighten-15 font-semibold h-8 bg-white border-primary-lighten-15 text-center`,target:`_blank`},`
15          Live Demo
16        `,-1)]]),_:1})])],2))}}),[[`__scopeId`,`data-v-4108e006`]]),at={class:`px-[30px] py-[20px] md:px-[125px] md:py-[50px] flex bg-landing-bg-dark justify-center`},ot={class:`flex flex-1 flex-col md:flex-row gap-[30px] max-w-[1400px]`},st={class:`text-white text-lg font-semibold mb-2`},ct={class:`text-sm text-landing-grey`},lt=[`href`],ut={class:`bg-landing-bg-darker flex justify-center text-sm text-white p-2.5`},dt={__name:`FooterBar`,setup(e){let t=[{title:`dbx`,items:[{title:`dbdiagram`,url:`https://dbdiagram.io/?utm_source=dbdocs`},{title:`dbdocs`,url:`https://dbdocs.io`},{title:`dbml`,url:`https://dbml.dbdiagram.io/?utm_source=dbdocs`},{title:`RunSQL`,url:`https://runsql.com/?utm_source=dbdocs`},{title:`Holistics.io `,url:`https://www.holistics.io/?utm_source=dbdocs&utm_medium=footer&utm_campaign=landing`}]},{title:`Resources`,items:[{title:`Documentation`,url:`https://docs.dbdocs.io/`},{title:`Roadmap`,url:`https://holistics.notion.site/Public-Product-Roadmap-dbx-dbdiagram-dbdocs-dbml-c36af127c86a40919337b61ac6e12a48`},{title:`Release Notes`,url:`https://docs.dbdocs.io/release-notes`},{title:`Community Forum`,url:`https://community.dbdiagram.io/`},{title:`Blog`,url:`https://blog.dbdiagram.io/`}]},{title:`Security & Policies`,items:[{title:`Data Security`,url:`https://docs.dbdocs.io/security-and-compliance/data-security`},{title:`SOC2 Compliance`,url:`https://docs.dbdocs.io/security-and-compliance/data-security#is-dbdocs-soc2-compliant`},{title:`Privacy Policy`,url:`https://docs.dbdocs.io/security-and-compliance/privacy-policy`},{title:`Terms of Service`,url:`https://docs.dbdocs.io/security-and-compliance/terms-of-service`}
16,{title:`Support SLA`,url:`https://docs.dbdocs.io/support-sla`},{title:`Responsible Disclosure`,url:`https://docs.dbdocs.io/security-and-compliance/responsible-disclosure`}]},{title:`Support`,items:[{title:`Contact Us`,url:`https://form.jotform.com/230881460465458`},{title:`Service Status`,url:`https://status.dbdiagram.io/`}]}];return(e,n)=>(o(),x(`div`,null,[S(`div`,at,[S(`div`,ot,[(o(),x(g,null,p(t,(e,t)=>S(`div`,{key:t,class:`flex flex-col flex-1`},[S(`h3`,st,_(e.title),1),n[0]||=i(),S(`ul`,ct,[(o(!0),x(g,null,p(e.items,(e,t)=>(o(),x(`li`,{key:t,class:`mb-[5px]`},[S(`a`,{href:e.url,target:`_blank`,class:`text-decoration-none`},_(e.title),9,lt)]))),128))])])),64))])]),n[1]||=i(),S(`div`,ut,`
17      © `+_(new Date().getFullYear())+` Holistics Software All Rights Reserved
18    `,1)]))}},ft={class:`h-full flex flex-col`},pt={class:`flex-1 max-w-5xl h-full px-3 flex items-center justify-between`},mt={class:`section flex h-full items-center justify-start`},ht={class:`section right hidden md:flex h-full items-center justify-end`},gt={class:`flex-1 virtual-scrollbar-wrapper`},_t=F(n({__name:`LandingPageWrapper`,setup(e){let{handleSignInLegacyOrPortal:t}=R(),n=C(!1);return(e,r)=>{let a=l(`router-link`);return o(),x(`div`,ft,[s(U,{"is-flex":``,class:`flex justify-center bg-landing-main p-0`},{default:v(()=>[S(`div`,pt,[S(`div`,mt,[s(a,{to:`/`,class:`logo-name flex items-center`},{default:v(()=>[...r[2]||=[S(`img`,{src:`/assets/logo-dark-COxGlog_.svg`,alt:`dbdocs - dbdocs logo`,class:`inline w-20 sm:w-logo-width`,height:`28`},null,-1)]]),_:1})]),r[18]||=i(),S(`div`,ht,[r[3]||=S(`a`,{href:`https://dbdiagram.io/pricing`,class:`text-sm font-semibold cursor-pointer mr-5 text-white`,target:`_blank`},`
19            Pricing
20          `,-1),r[4]||=i(),r[5]||=S(`a`,{id:`docs`,href:`https://docs.dbdocs.io/`,class:`text-sm font-semibold cursor-pointer mr-5 text-white`,target:`_blank`},`
21            Docs
22          `,-1),r[6]||=i(),r[7]||=S(`a`,{href:`https://holistics.notion.site/Public-Product-Roadmap-dbx-dbdiagram-dbdocs-dbml-c36af127c86a40919337b61ac6e12a48`,class:`text-sm font-semibold cursor-pointer mr-5 text-white`,target:`_blank`},`
23            Roadmap
24          `,-1),r[8]||=i(),r[9]||=S(`a`,{href:`https://community.dbdiagram.io/`,class:`text-sm font-semibold cursor-pointer mr-5 text-white`,target:`_blank`},`
25            Community
26          `,-1),r[10]||=i(),s(V),r[11]||=i(),r[12]||=S(`div`,{class:`bg-white/50 h-4 mx-5 w-px`},null,-1),r[13]||=i(),S(`button`,{class:`text-sm font-semibold cursor-pointer mr-5 text-white`,onClick:r[0]||=e=>d(t)()},`
27            Sign in
28          `),r[14]||=i(),r[15]||=S(`a`,{id:`access_open_beta`,href:`https://docs.dbdocs.io/`,class:`flex justify-center btn px-4 text-xs text-white font-semibold h-8 bg-primary-lighten-15 border-primary-lighten-15 text-center`,target:`_blank`},`
29            Get Started
30          `,-1),r[16]||=i(),r[17]||=S(`a`,{href:`https://dbdocs.io/Holistics/Ecommerce`,class:`flex justify-center mx-2 btn px-3 text-xs text-primary-lighten-15 font-semibold h-8 bg-white border-primary-lighten-15 text-center`,target:`_blank`},`
31            Live Demo
32          `,-1)]),r[19]||=i(),s(Ge,{"is-expanded":n.value,"onUpdate:isExpanded":r[1]||=e=>n.value=e,class:`block md:hidden`},null,8,[`is-expanded`])]),r[20]||=i(),s(it,{"is-open":n.value},null,8,[`is-open`])]),_:1}),r[22]||=i(),S(`div`,gt,[m(e.$slots,`default`),r[21]||=i(),s(dt,{class:`mt-[100px]`})])])}}}),[[`__scopeId`,`data-v-697a2bd7`]]),vt={class:`flex justify-center w-full`},yt={class:`flex-1 max-w-5xl px-3 w-full`},bt={class:`flex flex-col items-center w-full`},xt={class:`w-full items-center mb-10`},St={class:`w-full flex flex-col items-center mb-32`},Ct=F({__name:`LandingPage`,setup(e){return(e,t)=>(o(),u(_t,null,{default:v(()=>[S(`div`,vt,[S(`div`,yt,[S(`div`,bt,[t[6]||=S(`section`,{class:`w-full flex flex-col items-center mb-24 mt-12`},[S(`a`,{target:`_blank`,href:`https://holistics.io/`,class:`flex items-center mb-3`},[S(`span`,{class:`powered-by`},`built by`),i(),S(`img`,{src:`/assets/holistics-logo-2JNi_qiz.svg`,class:`holistics-logo`})]),i(),S(`h1`,{class:`heading text-center text-landing-main mb-4`},`
33              Build a database documentation easily 😎
34            `),i(),S(`h2`,{class:`text-landing-main-lighten-20 text-center text-l`},`
35              A free & simple tool to create web-based database documentation using DSL code.
36            `),i(),S(`h2`,{class:`text-landing-main-lighten-20 text-center mb-8 text-l`},`
37              Designed for developers. Integrate seamlessly with your development workflow.
38            `),i(),S(`div`,{class:`md:flex justify-center`},[S(`a`,{id:`access_open_beta`,href:`https://docs.dbdocs.io/`,class:`mx-2 mb-4 btn px-5 md:px-10 w-100 py-5 bg-primary-lighten-15 font-semibold h-8 text-white text-center`,target:`_blank`},`
39                Get Started
40              `),i(),S(`a`,{href:`https://dbdocs.io/Holistics/Ecommerce`,class:`flex justify-center mx-2 mb-8 btn px-5 md:px-10 py-5 w-100 text-primary-lighten-15 font-semibold h-8 bg-white border border-primary-lighten-15 text-center`,target:`_blank`},`
41                Live Demo
42              `)]),i(),S(`video`,{controls:``,autoplay:``,loop:``,class:`shadow-lg rounded-lg outline-none`,width:`100%`,muted:`muted`},[S(`source`,{src:`https://cdn.holistics.io/dbdocs/dbdocs-tour.mp4`,type:`video/mp4`}
42)])],-1),t[7]||=i(),S(`section`,xt,[t[0]||=S(`h2`,{class:`h2 text-center text-landing-main mb-6`},[i(`
43              Improving Communication of `),S(`span`,{class:`text-primary`},`Thousands of Databases`),i(` On The Planet
44            `)],-1),t[1]||=i(),s(He)]),t[8]||=i(),t[9]||=S(`section`,{class:`w-full items-center mb-24 bg-primary rounded-lg p-8`},[S(`div`,{class:`flex flex-col md:flex-row gap-7`},[S(`img`,{src:`/assets/christine-lLPe1Lb3.png`,alt:`dbdocs - Docs Image`,class:`w-16 h-16 md:w-32 md:h-32`}),i(),S(`div`,{class:`flex flex-col justify-between gap-4`},[S(`div`,{class:`w-full text-base md:text-lg font-semibold text-white`},[i(`
45                  “dbdocs helps a lot when `),S(`span`,{class:`text-yellow-secondary`},`designing new systems`),i(`, like `),S(`span`,{class:`text-yellow-secondary`},`a canvas to start thinking`),i(` about how the database tables should be organized, and after that phase obviously as `),S(`span`,{class:`text-yellow-secondary`},`living documentation.`),i(`”
46                `)]),i(),S(`div`,{class:`text-sm md:text-base font-semibold text-white`},`
47                  Christine / Senior Database Architect
48                `)])])],-1),t[10]||=i(),t[11]||=S(`section`,{class:`w-full items-center mb-24`},[S(`h2`,{class:`h2 text-center text-landing-main mb-8`},`
49              Why dbdocs?
50            `),i(),S(`div`,{class:`md:flex why-dbdocs-content justify-between ml-20 md:text-left items-stretch flex-wrap`},[S(`div`,{class:`why-block`},[S(`img`,{src:`/assets/cloud-based-BHFZ8xGD.svg`,alt:`dbdocs - Docs Image`,class:`w-1/3`}),i(),S(`div`,{class:`text-landing-main-lighten-20 mt-8 mb-1 font-semibold text-xl`},`
51                  Cloud-based database documentation
52                `),i(),S(`p`,{class:`text-landing-main-lighten-5`},`
53                  From high-level structure to detailed table metadata. See visual relationships between tables.
54                `)]),i(),S(`div`,{class:`why-block`},[S(`img`,{src:`/assets/database-as-code-D_WMOHL9.svg`,alt:`dbdocs - Docs Image`,class:`w-1/3`}),i(),S(`div`,{class:`text-landing-main-lighten-20 mt-8 mb-1 font-semibold text-xl`},`
55                  Database As Code
56                `),i(),S(`p`,{class:`text-landing-main-lighten-5`},[i(`
57                  Define database structure using DSL. `),S(`br`),i(`
58                  Powered by the popular open-source database markup language DBML.
59                `)])]),i(),S(`div`,{class:`why-block`},[S(`img`,{src:`/assets/secure-easy-sharing-DtX6d6Gs.svg`,alt:`dbdocs - Docs Image`,class:`w-1/3`}),i(),S(`div`,{class:`text-landing-main-lighten-20 mt-8 mb-1 font-semibold text-xl`},`
60                  Secure & Easy Sharing
61                `),i(),S(`p`,{class:`text-landing-main-lighten-5`},[i(`
62                  Protect your document with password. `),S(`br`),i(`
63                  Easily share database document with new developers or external clients using secure URLs.
64                `)])]),i(),S(`div`,{class:`why-block`},[S(`img`,{src:`/assets/devops-workflow-BRNAC-SP.svg`,alt:`dbdocs - Docs Image`,class:`w-1/3`}),i(),S(`div`,{class:`text-landing-main-lighten-20 mt-8 mb-1 font-semibold text-xl`},`
65                  Integrated with DevOps Workflow
66                `),i(),S(`p`,{class:`text-landing-main-lighten-5`},[i(`
67                  Check in database structure into Git. `),S(`br`),i(`
68                  Integrate seamlessly with your CI/CD.
69                `)])])])],-1),t[12]||=i(),t[13]||=S(`section`,{class:`w-full flex flex-col items-center mb-32`},[S(`h2`,{class:`h2 text-center text-landing-main mb-3 mt-4`},`
70              How dbdocs works
71            `),i(),S(`div`,{class:`md:flex justify-between mb-4`},[S(`div`,{class:`mt-5 md:w-1/2`},[S(`h3`,{class:`h3 text-landing-main-lighten-20 font-semibold mb-8`},`
72                  Define your database structures using simple, standardized language
73                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
74                  Define your database schema using DBML, a simple and open-source standard language for defining database structure.
75                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
76                  Store the file locally on your computer or check into Git.
77                `)]),i(),S(`div`,{class:`mx-10`}),i(),S(`div`,{class:`code-block mt-5 bg-dark rounded-lg w-full p-6 text-xs sm:w-4/6 sm:py-8 sm:px-16 sm:text-xsm font-droid-sans`},[S(`div`,{class:`line`},[S(`span`,{class:`dbml-keyword`},`Project`),i(),S(`span`,null,`social_blogging_site {`)]),i(),S(`div`,{class:`line ml-5`},`
78                  database_type: 'PostgreSQL'
79                `),i(),S(`div`,{class:`line ml-5`},[S(`span`,{class:`dbml-keyword`},`Note:`),i(),S(`span`,null,`'Social Blogging Site Database'`)]),i(),S(`div`,{class:`line`},`
80                  }
81                `),i(),S(`br`),i(),S(`div`,{class:`line`},[S(`span`,{class:`dbml-keyword`},`Table`),i(` users {
82                `)]),i(),S(`div`,{class:`line ml-5`},[i(`
83                  id
84                  `),S(`span`,{class:`dbml-type`},`integer`)]),i(),S(`div`,{class:`line ml-5`},[i(`
85                  username
86                  `),S(`span`,{class:`dbml-type`}
86,`varchar`)]),i(),S(`div`,{class:`line ml-5`},[i(`
87                  role
88                  `),S(`span`,{class:`dbml-type`},`varchar`)]),i(),S(`div`,{class:`line ml-5`},[i(`
89                  created_at
90                  `),S(`span`,{class:`dbml-type`},`timestamp`)]),i(),S(`div`,{class:`line`},`
91                  }
92                `),i(),S(`br`),i(),S(`div`,{class:`line`},[S(`span`,{class:`dbml-keyword`},`Table`),i(` posts {
93                `)]),i(),S(`div`,{class:`line ml-5`},[i(`
94                  id
95                  `),S(`span`,{class:`dbml-type`},`integer`),i(` [primary key]
96                `)]),i(),S(`div`,{class:`line ml-5`},[i(`
97                  title
98                  `),S(`span`,{class:`dbml-type`},`varchar`)]),i(),S(`div`,{class:`line ml-5`},[i(`
99                  body
100                  `),S(`span`,{class:`dbml-type`},`text`),i(` [note: 'Content of the post']
101                `)]),i(),S(`div`,{class:`line ml-5`},[i(`
102                  user_id
103                  `),S(`span`,{class:`dbml-type`},`integer`)]),i(),S(`div`,{class:`line ml-5`},[i(`
104                  status
105                  `),S(`span`,{class:`dbml-type`},`post_status`)]),i(),S(`div`,{class:`line ml-5`},[i(`
106                  created_at
107                  `),S(`span`,{class:`dbml-type`},`timestamp`)]),i(),S(`div`,{class:`line`},`
108                  }
109                `),i(),S(`br`),i(),S(`div`,{class:`line`},[S(`span`,{class:`dbml-keyword`},`Enum`),i(` post_status {
110                `)]),i(),S(`div`,{class:`line ml-5`},`
111                  draft
112                `),i(),S(`div`,{class:`line ml-5`},`
113                  published
114                `),i(),S(`div`,{class:`line ml-5`},`
115                  private [note: 'visible via URL only']
116                `),i(),S(`div`,{class:`line`},`
117                  }
118                `),i(),S(`br`),i(),S(`div`,{class:`line`},[S(`span`,{class:`dbml-keyword`},`Ref`),i(`: posts.user_id > users.id
119                  `),S(`span`,{style:{color:`#96E309`}},`// many-to-one`)])])]),i(),S(`div`,{class:`md:flex justify-between mb-4`},[S(`div`,{class:`mt-5 mb-8 md:w-1/2`},[S(`h3`,{class:`h3 text-landing-main-lighten-20 font-semibold mb-8`},`
120                  Build dbdocs project using simple command lines
121                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
122                  Install dbdocs CLI and push DBML code to a project.
123                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
124                  Set password protection for your project.
125                `)]),i(),S(`div`,{class:`mx-10`}),i(),S(`div`,{class:`code-block mt-5 bg-dark rounded-lg w-full p-6 text-xs sm:w-4/6 sm:py-8 sm:px-16 sm:text-xsm font-droid-sans`},[S(`div`,{class:`line`,style:{color:`#96E309`}},`
126                  ## Download dbdocs command line
127                `),i(),S(`div`,{class:`line`},`
128                  $ npm install -g dbdocs
129                `),i(),S(`div`,{class:`line`},`
130                  dbdocs install...
131                `),i(),S(`br`),i(),S(`br`),i(),S(`div`,{class:`line`,style:{color:`#96E309`}},`
132                  ## Generate dbdocs view
133                `),i(),S(`div`,{class:`line`},`
134                  $ dbdocs build database.dbml --project=your_project
135                `),i(),S(`div`,{class:`line`},`
136                  Pushing new database schema to project your_project...
137                `),i(),S(`div`,{class:`line`},[i(`
138                  Done. Visit:
139                  `),S(`span`,{style:{color:`#53D1ED`}},`https://dbdocs.io/username/your_project`)])])]),i(),S(`div`,{class:`md:flex justify-between mt-4`},[S(`div`,{class:`mt-5 mb-8 md:w-1/2 max-w-sm`},[S(`h3`,{class:`h3 text-landing-main-lighten-20 font-semibold mb-8`},`
140                  Done. Beautiful, cloud-based database documentation site created
141                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
142                  Browse through tables and fields, visualize relationships between tables.
143                `),i(),S(`p`,{class:`text-landing-main-lighten-20 mb-8`},`
144                  Share with internal development team and external clients.
145                `)]),i(),S(`div`,{class:`mx-10`}),i(),S(`img`,{src:`/assets/project-screenshot-BEWb_0UG.png`,alt:`dbdocs - Docs Image`,style:{width:`538px`,height:`336.15px`}}
145)]),i(),S(`div`,{class:`md:flex justify-center mt-16`},[S(`a`,{id:`access_open_beta`,href:`https://docs.dbdocs.io/`,class:`mx-2 mb-4 btn px-5 md:px-10 w-100 py-5 bg-primary-lighten-15 font-semibold h-8 text-white text-center`,target:`_blank`},`
146                Get Started
147              `),i(),S(`a`,{href:`https://dbdocs.io/Holistics/Ecommerce`,class:`flex justify-center mx-2 mb-8 btn px-5 md:px-10 py-5 w-100 text-primary-lighten-15 font-semibold h-8 bg-white border border-primary-lighten-15 text-center`,target:`_blank`},`
148                Live Demo
149              `)])],-1),t[14]||=i(),S(`section`,St,[t[2]||=S(`h2`,{class:`h2 text-center text-landing-main mb-8`},[i(`
150              Database Communication `),S(`span`,{class:`text-primary`},`has changed for the better 🙌`)],-1),t[3]||=i(),s(ce,{class:`grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4`}),t[4]||=i(),t[5]||=S(`div`,{class:`md:flex justify-center mt-8`},[S(`a`,{id:`access_open_beta`,href:`https://docs.dbdocs.io/`,class:`mx-2 mb-4 btn px-5 md:px-10 w-100 py-5 bg-primary-lighten-15 font-semibold h-8 text-white text-center`,target:`_blank`},`
151                Get Started
152              `)],-1)]),t[15]||=i(),t[16]||=S(`section`,{class:`w-full flex flex-col items-center mb-32`},[S(`h2`,{class:`h2 text-center text-landing-main mb-8`},`
153              Built with software development teams in mind
154            `),i(),S(`div`,{class:`md:flex justify-around`},[S(`div`,{class:`shadow-lg rounded border border-primary-lighten-50 px-10 pb-10 md:w-1/2 mb-4`},[S(`img`,{src:`/assets/internal-team-A0zc-AMK.svg`,alt:`dbdocs - Docs Image`,class:`my-8 max-w-xs sm:max-w-2xl lg:max-w-4xl rounded-lg`}),i(),S(`h3`,{class:`h3 text-landing-main-lighten-20 mt-3 mb-1`},`
155                  Internal Development Team
156                `),i(),S(`ul`,{class:`list-disc`},[S(`li`,{class:`text-landing-main-lighten-20 mb-3`},`
157                    Easily onboard new developers or business teams (Sales, BA) by looking at a simple, visualized version of their database.
158                  `),i(),S(`li`,{class:`text-landing-main-lighten-20`},`
159                    The whole team can keep the documents updated as the project goes.
160                  `)])]),i(),S(`div`,{class:`mx-2`}),i(),S(`div`,{class:`shadow-lg rounded border border-primary-lighten-50 px-10 pb-10 md:w-1/2 mb-4`},[S(`img`,{src:`/assets/with-client-DfxU4woV.svg`,alt:`dbdocs - Docs Image`,class:`my-8 max-w-xs sm:max-w-2xl lg:max-w-4xl rounded-lg`}),i(),S(`h3`,{class:`h3 text-landing-main-lighten-20 mt-3 mb-1`},`
161                  Software Development Agency
162                `),i(),S(`ul`,{class:`list-disc`},[S(`li`,{class:`text-landing-main-lighten-20 mb-3`},`
163                    Explain complex schema with notes, references and relationships of each field.
164                  `),i(),S(`li`,{class:`text-landing-main-lighten-20`},`
165                    Easily hand over the project database structure in DBML for future maintenance.
166                  `)])])])],-1),t[17]||=i(),t[18]||=S(`section`,{class:`w-full flex flex-col items-center mb-32`},[S(`h2`,{class:`h2 text-center text-landing-main mb-8`},`
167              Frequently Asked Questions
168            `),i(),S(`div`,{class:`flex flex-wrap md:flex-nowrap w-full`},[S(`div`,{class:`w-full lg:w-1/2 lg:pr-5`},[S(`div`,{class:`question mb-10`},[S(`h3`,{class:`h3 text-left text-landing-main mb-2`},`
169                    What markup language is the dbdocs following?
170                  `),i(),S(`div`,{class:`text-description text-landing-main-lighten-5 text-left`},[i(`
171                    We use
172                    `),S(`a`,{href:`https://dbml.dbdiagram.io/home/`,class:`text-primary-lighten-15 hover:underline`,target:`_blank`},`DBML - Database Markup Language`),i(`, a markup language designed to easily document database structures.
173                    `),S(`br`),i(),S(`br`),i(`DBML is also completely open-source on
174                    `),S(`a`,{href:`https://github.com/holistics/dbml`,class:`text-primary-lighten-15 hover:underline`,target:`_blank`},`Github`),i(`.
175                  `)])]),i(),S(`div`,{class:`question mb-10`},[S(`h3`,{class:`h3 text-left text-landing-main mb-2`},`
176                    Is my dbdocs project public? How can I make it private?
177                  `),i(),S(`div`,{class:`text-description text-landing-main-lighten-5 text-left`},[i(`
178                    Your dbdocs project is set to be public by default. However, you can follow our instructions
179                    `),S(`a`,{href:`https://docs.dbdocs.io/features/project-access-control`,class:`text-primary-lighten-15 hover:underline`,target:`_blank`},`
180                      here
181                    `),i(`
182                    to secure it or remove the project after testing.
183                  `)])]),i(),S(`div`,{class:`question mb-10`},[S(`h3`,{class:`h3 text-left text-landing-main mb-2`},`
184                    My company has strict security requirements, do you provide a self-hosted ver
184sion?
185                  `),i(),S(`div`,{class:`text-description text-landing-main-lighten-5 text-left`},[i(`
186                    We understand the importance of safeguarding your data. If you're looking for a self-hosted version of dbdocs, simply fill out this
187                    `),S(`a`,{href:`https://form.jotform.com/240041567989466`,class:`text-primary-lighten-15 hover:underline`,target:`_blank`},`form`),i(`, and our team will be in touch to discuss your specific requirements.
188                  `)])])]),i(),S(`div`,{class:`mx-2`}),i(),S(`div`,{class:`w-full lg:w-1/2 lg:pl-5`},[S(`div`,{class:`question mb-10`},[S(`h3`,{class:`h3 text-left text-landing-main mb-2`},`
189                    How can I integrate this with my development workflow?
190                  `),i(),S(`div`,{class:`text-description text-landing-main-lighten-5 text-left`},[i(`
191                    Step 1 - Create a database.dbml in your root folder of your Git repo. Type up your database definition there.
192                    `),S(`br`),i(),S(`br`),i(`Step 2 - Design a simple hook to push database.dbml to your dbdocs project (run $ dbdocs build database.dbml) everytime a commit is made.
193                    `),S(`br`),i(),S(`br`),i(`Step 3 - Make sure when you make database migration, update database.dbml with the relevant change.
194                  `)])]),i(),S(`div`,{class:`question`},[S(`h3`,{class:`h3 text-left text-landing-main mb-2`},`
195                    How can I delete a project?
196                  `),i(),S(`div`,{class:`text-description text-landing-main-lighten-5 text-left`},`
197                    Simply run $ dbdocs remove <project_name>
198                  `)])])])],-1),t[19]||=i(),t[20]||=S(`section`,{class:`w-full flex flex-col items-center`},[S(`h2`,{class:`h2 text-center text-landing-main mb-4`},[i(`
199              Built with passion for data `),S(`span`,{class:`text-red`},`❤️`)]),i(),S(`p`,{class:`text-lg text-landing-main-lighten-20 text-justify md:text-center mb-8`},[i(`
200              dbdocs.io is built by the folks at `),S(`a`,{href:`https://holistics.io`,target:`_blank`,class:`font-semibold text-primary-lighten-15 hover:underline`},`holistics.io`),i(` - a powerful BI platform that reduces your need for data engineering.
201              `),S(`br`),i(`We empower your analysts with SQL to build your data warehouse, and give them the tools to build automated reporting routines that deliver insights to everyone.
202            `)]),i(),S(`div`,{class:`h3 text-landing-main mb-8`},[S(`a`,{class:`hover:underline`,target:`_blank`,href:`https://form.jotform.com/230881460465458`},`Contact Us`),i(` •
203              `),S(`a`,{class:`hover:underline`,target:`_blank`,href:`https://form.jotform.com/200962053361448`},`Feedback`),i(` •
204              `),S(`a`,{class:`hover:underline`,target:`_blank`,href:`https://holistics.notion.site/Public-Product-Roadmap-dbx-dbdiagram-dbdocs-dbml-c36af127c86a40919337b61ac6e12a48`},`Roadmap`)])],-1)])])])]),_:1}))}},[[`__scopeId`,`data-v-8cde3e80`]]),wt={class:`flex flex-col`},Tt=[`onClick`],Et=[`src`],Dt={key:0,class:`flex items-center p-3`},Ot={key:1,class:`p-3 text-main-lighten-20`},kt={key:2,class:`p-3 text-main-lighten-20`},At={key:1,class:`italic mt-2 pl-3`},jt=n({__name:`SharedWithMe`,props:{projectUserRoles:{default:()=>[]},search:{default:``}},setup(e){let n=j(),{toggleSort:c,sortData:f,sortColumn:p,sortAscending:m}=K(),y=[{title:`Name`,key:`name`,width:`36%`},{title:`Permission`,key:`projectPermission`,width:`14%`},{title:`Date modified`,key:`updatedAt`,width:`21%`},{title:`Date created`,key:`createdAt`,width:`21%`},{title:`Owner`,key:`ownerEmail`,width:`8%`}],C=h(()=>y.map(e=>e.width)),T=h(()=>n.getters[`whiteLabel/isWhiteLabel`]),E=h(()=>e.projectUserRoles.map(e=>({name:e.Project.name,updatedAt:e.Project.updatedAt,createdAt:e.Project.createdAt,ownerAvatarUrl:e.Project.Owner.avatarUrl,ownerEmail:e.Project.Owner.email,projectPermission:ee[e?.Role.name],data:{id:e.id,generalAccessType:e.Project.generalAccessType,generalAccessTooltipText:w[e.Project.generalAccessType],relativeUrl:T.value?`/${e.Project.urlName}`:`/${e.Project.Org.name}/${e.Project.urlName}`}}))),O=h(()=>{let t=E.value.slice();return e.search&&(t=t.filter(t=>t.name.toLowerCase().includes(e.search.toLowerCase()))),t=f(t),t});return(n,f)=>{let h=l(`font-awesome-icon`),w=l(`inline-svg`),T=l(`router-link`),k=t(`tooltip`);return o(),x(`div`,wt,[s(d(D),{class:`min-h-0`,columns:y,"column-widths":C.value,items:O.value},{header:v(({column:e,class:t})=>[S(`div`,{class:a([`p-3 font-semibold capitalize text-main-lighten-5 cursor-pointer select-none`,{"text-center":e.key===`ownerEmail`,[t]:!0}]),onClick:t=>d(c)(e.key)}
204,[S(`span`,null,_(e.title),1),f[0]||=i(),e.key===d(p)?(o(),u(h,{key:0,icon:[`fas`,d(m)?`long-arrow-up`:`long-arrow-down`]},null,8,[`icon`])):r(``,!0)],10,Tt)]),cell:v(({column:t,item:n,class:r})=>[t.key===`ownerEmail`?(o(),x(`div`,{key:0,class:a([`text-center`,r])},[n.ownerAvatarUrl?b((o(),x(`img`,{key:0,src:n.ownerAvatarUrl,alt:`user`,class:`rounded-full border-2 border-grey inline w-5 h-5`},null,8,Et)),[[k,n.ownerEmail]]):b((o(),u(w,{key:1,src:B,alt:`user`,class:`w-5 h-5 inline text-grey outline-none`},null,512)),[[k,n.ownerEmail]])],2)):(o(),u(T,{key:1,to:n.data.relativeUrl,class:a(r)},{default:v(()=>[t.key===`name`?(o(),x(`div`,Dt,[b(s(A,{type:n.data.generalAccessType,class:`flex-shrink-0 mr-3`},null,8,[`type`]),[[k,n.data.generalAccessTooltipText]]),f[1]||=i(),b(s(P,{text:n.name,search:e.search,class:`text-main-lighten-20 font-semibold truncate`},null,8,[`text`,`search`]),[[k,n.name]])])):t.key===`createdAt`||t.key===`updatedAt`?(o(),x(`div`,Ot,_(new Date(n[t.key]).toLocaleString()),1)):(o(),x(`div`,kt,_(n[t.key]),1))]),_:2},1032,[`to`,`class`]))]),_:1},8,[`column-widths`,`items`]),f[3]||=i(),O.value.length===0?(o(),x(g,{key:0},[E.value.length===0?(o(),u(G,{key:0,"is-my-projects-page":!1,class:`flex-1 min-h-0 max-h-[700px]`})):(o(),x(`p`,At,`
205        (No results found)
206      `))],64)):r(``,!0)])}}}),Mt=class{static async getWhiteLabelConfig(e){if(e)return(await O.get(`/white_label/${e}`)).data}static async getSharedProjectsInOrg(e,t){if(e)return(await O.get(`/white_label/${e}/user_shared_projects`,{headers:{Authorization:t}})).data}},Nt={name:`WhiteLabelOrgPage`,components:{WhiteLabelHeaderBar:z,NotFound:H,Loading:W,SharedWithMe:jt,BubbleLoading:I},data(){return{search:``,org:null,projectUserRoles:[],status:`fetching`,selectedView:null,ORG_VIEW:N,subscriptionInfo:{},isFirstFetch:!0}},computed:{...M(`whiteLabel`,[`domainName`,`orgName`]),...ne(`auth`,[`isAuthenticated`]),isSharedWithMeView(){return!this.selectedView||this.selectedView===N.sharedWithMe}},watch:{isAuthenticated:`fetch`,selectedView:{async handler(e,t){this.isFirstFetch||e===N.myProjects&&!t||t===N.myProjects&&!e||await this.fetch()}},$route:{handler(e,t){this.setRouterQuery(e)}}},async mounted(){this.setRouterQuery(this.$route),await this.fetch()},methods:{...k(`auth`,[`getUserToken`]),async fetch(){this.search=``,this.status=this.isFirstFetch?`fetching`:`refetching`;try{let e=await this.getUserToken();this.projectUserRoles=await Mt.getSharedProjectsInOrg(this.domainName,e),this.status=200,this.isFirstFetch=!1}catch(e){if(e.response)switch(e.response.status){case 404:this.status=e.response.status;break;default:this.status=400}else this.status=400}},onViewClick(e){this.$router.push({query:{view:e}})},setRouterQuery(e){let t=[N.myProjects,N.sharedWithMe];this.isSubscribed&&t.push(N.managePlan);let{view:n}=e.query;n&&!t.includes(n)||(this.selectedView=n)}}},$={class:`w-full h-full bg-cpt-header-bg`},Pt={key:0,class:`flex flex-col h-full`},Ft={class:`flex grow items-center justify-center`},It={key:0,class:`flex flex-col self-center w-[800px] min-h-0`},Lt={class:`flex self-center items-center justify-between mt-5 mb-2.5 w-full`},Rt={class:`flex relative border border-solid border-main-lighten-45 text-main-lighten-20 w-[300px] rounded text-xs focus-within:border-primary-lighten-25`},zt={for:`project-search`,class:`absolute pl-2.5 py-2.5 icon-wrap search-icon`};function Bt(e,t,n,c,d,f){let p=l(`font-awesome-icon`),m=l(`WhiteLabelHeaderBar`),h=l(`shared-with-me`),g=l(`bubble-loading`),_=l(`loading`),C=l(`not-found`),w=l(`client-only`);return o(),u(w,null,{default:v(()=>[S(`div`,$,[d.status===200||d.status===`refetching`?(o(),x(`div`,Pt,[s(m,{title:e.orgName,class:`header bg-cpt-header-bg cpt-header-shadow cpt-header-border z-50`},{default:v(()=>[S(`div`,Ft,[S(`div`,{class:a([{"text-main-lighten-5 border-b-main-lighten-5":f.isSharedWithMeView},`font-semibold mx-4 border-solid border-t-2 border-b-2 border-transparent cursor-pointer text-grey text-xsm hover:text-main-lighten-5 hover:border-b-main-lighten-5`]),onClick:t[0]||=e=>f.onViewClick(d.ORG_VIEW.sharedWithMe)},[s(p,{icon:[`fas`,`share-alt`],class:`mr-1`}),t[2]||=i(`
207              Shared with Me
208            `,-1)],2)])]),_:1},8,[`title`]),t[5]||=i(),d.status===200?(o(),x(`div`,It,[S(`div`,Lt,[S(`div`,Rt,[S(`label`,zt,[s(p,{icon:[`fal`,`search`]})]),t[3]||=i(),b(S(`input`,{id:`project-search`,"onUpdate:modelValue":t[1]||=e=>d.search=e,class:`flex-1 pl-8 py-2.5 pr-2.5 focus:outline-none bg-transparent`,type:`search`,placeholder:`Search projects`},null,512),[[y,d.search]])])]),t[4]||=i(),s(h,{"project-user-roles":d.projectUserRoles,search:d.search,class:`[&_thead>tr]:sticky [&_thead>tr]:top-0 [&_thead>tr]:bg-cpt-header-bg [&_td]:align-middle text-xs mt-3 bg-cpt-header-bg flex-1 min-h-0 overflow-y-auto`},null,8,[`project-user-roles`,`search`])])):d.status===`refetching`?(
208o(),u(g,{key:1,class:`flex-1 !bg-cpt-header-bg`})):r(``,!0)])):d.status===`fetching`?(o(),u(_,{key:1,"white-label":!0})):d.status===404||d.status===400?(o(),u(C,{key:2,"white-label":!0})):r(``,!0)])]),_:1})}var Vt=F(Nt,[[`render`,Bt]]),Ht={key:0,class:`flex justify-center items-center p-10 h-full`},Ut={class:`shadow p-16 rounded`},Wt=n({__name:`Home`,setup(e){let{handlePostLoginSuccess:t,isAuthenticated:n}=R(),r=j(),i=h(()=>r.getters[`whiteLabel/isWhiteLabel`]),a=h(()=>i.value?`whitelabel`:`cloud`);return f(()=>{a.value===`selfhost`&&n.value&&t()}),(e,n)=>a.value===`selfhost`?(o(),x(`div`,Ht,[S(`div`,Ut,[s(te,{"included-methods":[`OTP`,`EMAIL_PASSWORD`],onLoginSuccess:d(t)},null,8,[`onLoginSuccess`])])])):a.value===`whitelabel`?(o(),u(Vt,{key:1})):(o(),u(Ct,{key:2}))}});export{Wt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.