├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── enhancement_request.md
│ └── feature_request.md
└── workflows
│ ├── cd-beta.yaml
│ ├── cd-dev.yaml
│ ├── cd-stable.yaml
│ ├── cd-stage.yaml
│ └── ci.yaml
├── .gitignore
├── .husky
└── pre-commit
├── .nvmrc
├── Dockerfile
├── LICENSE
├── README.md
├── app.yaml
├── ci
└── scripts
│ ├── pull_ci_screenshots.sh
│ ├── pull_ci_secrets.sh
│ ├── update_etc_hosts.sh
│ └── upload_debug_screenshots_to_gcp.sh
├── cypress.config.js
├── cypress
├── .gitignore
├── README.md
├── e2e
│ ├── blocks
│ │ ├── pages
│ │ │ ├── AllBlocksPage.js
│ │ │ └── BlockPage.js
│ │ └── tests
│ │ │ ├── blocks.spec.js
│ │ │ └── starter-blocks.spec.js
│ ├── code
│ │ ├── actions.spec.js
│ │ └── all-files-page.spec.js
│ ├── content
│ │ ├── actions.spec.js
│ │ ├── analyticsDashboard.spec.js
│ │ ├── comments.js
│ │ ├── content.spec.js
│ │ ├── failures.spec.js
│ │ ├── favicon.spec.js
│ │ ├── headTags.spec.js
│ │ ├── item-list-table.spec.js
│ │ ├── list.spec.js
│ │ ├── meta.spec.js
│ │ ├── multi-lang.spec.js
│ │ ├── navigation.spec.js
│ │ ├── pages
│ │ │ └── ContentItemPage.js
│ │ ├── redirects.spec.js
│ │ ├── singlePageAnalytics.spec.js
│ │ └── workflows.spec.js
│ ├── home
│ │ └── mature.spec.js
│ ├── media
│ │ ├── contentmodal.spec.js
│ │ ├── files.spec.js
│ │ ├── folders.spec.js
│ │ └── uploads.spec.js
│ ├── releases
│ │ ├── members.spec.js
│ │ └── release.spec.js
│ ├── reports
│ │ └── activity-log
│ │ │ └── activity-log.spec.js
│ ├── schema
│ │ ├── activity-log.spec.js
│ │ ├── field.spec.js
│ │ ├── models.spec.js
│ │ └── pages
│ │ │ └── SchemaPage.js
│ ├── search
│ │ ├── advanced-search.spec.js
│ │ ├── search-bar.spec.js
│ │ └── search-page.spec.js
│ ├── seo
│ │ └── redirects
│ │ │ └── redirects.spec.js
│ ├── settings
│ │ ├── actions.spec.js
│ │ ├── fonts.spec.js
│ │ ├── headtags.spec.js
│ │ ├── instance.spec.js
│ │ ├── tabs.spec.js
│ │ └── workflows.spec.js
│ └── shell
│ │ └── instance-menu.spec.js
├── fixtures
│ └── example.json
├── index.d.ts
├── jsconfig.json
├── plugins
│ └── index.js
└── support
│ ├── api.js
│ ├── commands.js
│ └── e2e.js
├── etc
├── nginx.conf
├── release.js
└── ssl
│ ├── README.md
│ ├── _.manager.dev.zesty.io.crt
│ ├── _.manager.dev.zesty.io.csr
│ ├── _.manager.dev.zesty.io.key
│ ├── myCA.key
│ ├── myCA.pem
│ ├── myCA.srl
│ └── zesty.io.ext
├── index.d.ts
├── package-lock.json
├── package.json
├── public
├── icons
│ └── material-rounded
│ │ └── icons.js
├── images
│ ├── FFFFFF-0.png
│ ├── addFieldsImage.png
│ ├── all-models-empty-state-image.png
│ ├── allBlocksEmpty.png
│ ├── blockPlaceholder.png
│ ├── block_contact_us_form.png
│ ├── block_feature_side_by_side_image.png
│ ├── block_hero_image_below.png
│ ├── block_hero_side_by_side_image.png
│ ├── block_single_testimonial.png
│ ├── blocksOnboarding1.png
│ ├── blocksOnboarding2.png
│ ├── blocksOnboarding3.png
│ ├── bynder-logo.svg
│ ├── bynder-preview.png
│ ├── contentAnalytics.svg
│ ├── contentAnalyticsDashboard.svg
│ ├── cssIcon.svg
│ ├── csvImg.png
│ ├── defaultImg.png
│ ├── discordIcon.svg
│ ├── emptyItemsList.png
│ ├── excelImg.png
│ ├── fields-loading.png
│ ├── fileBroken.jpg
│ ├── flags
│ │ ├── ad.svg
│ │ ├── ae.svg
│ │ ├── af.svg
│ │ ├── ag.svg
│ │ ├── ai.svg
│ │ ├── al.svg
│ │ ├── am.svg
│ │ ├── ao.svg
│ │ ├── aq.svg
│ │ ├── ar.svg
│ │ ├── arab.svg
│ │ ├── as.svg
│ │ ├── at.svg
│ │ ├── au.svg
│ │ ├── aw.svg
│ │ ├── ax.svg
│ │ ├── az.svg
│ │ ├── ba.svg
│ │ ├── bb.svg
│ │ ├── bd.svg
│ │ ├── be.svg
│ │ ├── bf.svg
│ │ ├── bg.svg
│ │ ├── bh.svg
│ │ ├── bi.svg
│ │ ├── bj.svg
│ │ ├── bl.svg
│ │ ├── bm.svg
│ │ ├── bn.svg
│ │ ├── bo.svg
│ │ ├── bq.svg
│ │ ├── br.svg
│ │ ├── bs.svg
│ │ ├── bt.svg
│ │ ├── bv.svg
│ │ ├── bw.svg
│ │ ├── by.svg
│ │ ├── bz.svg
│ │ ├── ca.svg
│ │ ├── cc.svg
│ │ ├── cd.svg
│ │ ├── cefta.svg
│ │ ├── cf.svg
│ │ ├── cg.svg
│ │ ├── ch.svg
│ │ ├── ci.svg
│ │ ├── ck.svg
│ │ ├── cl.svg
│ │ ├── cm.svg
│ │ ├── cn.svg
│ │ ├── co.svg
│ │ ├── cp.svg
│ │ ├── cr.svg
│ │ ├── cu.svg
│ │ ├── cv.svg
│ │ ├── cw.svg
│ │ ├── cx.svg
│ │ ├── cy.svg
│ │ ├── cz.svg
│ │ ├── de.svg
│ │ ├── dg.svg
│ │ ├── dj.svg
│ │ ├── dk.svg
│ │ ├── dm.svg
│ │ ├── do.svg
│ │ ├── dz.svg
│ │ ├── eac.svg
│ │ ├── ec.svg
│ │ ├── ee.svg
│ │ ├── eg.svg
│ │ ├── eh.svg
│ │ ├── er.svg
│ │ ├── es-ct.svg
│ │ ├── es-ga.svg
│ │ ├── es-pv.svg
│ │ ├── es.svg
│ │ ├── et.svg
│ │ ├── eu.svg
│ │ ├── fi.svg
│ │ ├── fj.svg
│ │ ├── fk.svg
│ │ ├── fm.svg
│ │ ├── fo.svg
│ │ ├── fr.svg
│ │ ├── ga.svg
│ │ ├── gb-eng.svg
│ │ ├── gb-nir.svg
│ │ ├── gb-sct.svg
│ │ ├── gb-wls.svg
│ │ ├── gb.svg
│ │ ├── gd.svg
│ │ ├── ge.svg
│ │ ├── gf.svg
│ │ ├── gg.svg
│ │ ├── gh.svg
│ │ ├── gi.svg
│ │ ├── gl.svg
│ │ ├── gm.svg
│ │ ├── gn.svg
│ │ ├── gp.svg
│ │ ├── gq.svg
│ │ ├── gr.svg
│ │ ├── gs.svg
│ │ ├── gt.svg
│ │ ├── gu.svg
│ │ ├── gw.svg
│ │ ├── gy.svg
│ │ ├── hk.svg
│ │ ├── hm.svg
│ │ ├── hn.svg
│ │ ├── hr.svg
│ │ ├── ht.svg
│ │ ├── hu.svg
│ │ ├── ic.svg
│ │ ├── id.svg
│ │ ├── ie.svg
│ │ ├── il.svg
│ │ ├── im.svg
│ │ ├── in.svg
│ │ ├── io.svg
│ │ ├── iq.svg
│ │ ├── ir.svg
│ │ ├── is.svg
│ │ ├── it.svg
│ │ ├── je.svg
│ │ ├── jm.svg
│ │ ├── jo.svg
│ │ ├── jp.svg
│ │ ├── ke.svg
│ │ ├── kg.svg
│ │ ├── kh.svg
│ │ ├── ki.svg
│ │ ├── km.svg
│ │ ├── kn.svg
│ │ ├── kp.svg
│ │ ├── kr.svg
│ │ ├── kw.svg
│ │ ├── ky.svg
│ │ ├── kz.svg
│ │ ├── la.svg
│ │ ├── lb.svg
│ │ ├── lc.svg
│ │ ├── li.svg
│ │ ├── lk.svg
│ │ ├── lr.svg
│ │ ├── ls.svg
│ │ ├── lt.svg
│ │ ├── lu.svg
│ │ ├── lv.svg
│ │ ├── ly.svg
│ │ ├── ma.svg
│ │ ├── mc.svg
│ │ ├── md.svg
│ │ ├── me.svg
│ │ ├── mf.svg
│ │ ├── mg.svg
│ │ ├── mh.svg
│ │ ├── mk.svg
│ │ ├── ml.svg
│ │ ├── mm.svg
│ │ ├── mn.svg
│ │ ├── mo.svg
│ │ ├── mp.svg
│ │ ├── mq.svg
│ │ ├── mr.svg
│ │ ├── ms.svg
│ │ ├── mt.svg
│ │ ├── mu.svg
│ │ ├── mv.svg
│ │ ├── mw.svg
│ │ ├── mx.svg
│ │ ├── my.svg
│ │ ├── mz.svg
│ │ ├── na.svg
│ │ ├── nc.svg
│ │ ├── ne.svg
│ │ ├── nf.svg
│ │ ├── ng.svg
│ │ ├── ni.svg
│ │ ├── nl.svg
│ │ ├── no.svg
│ │ ├── np.svg
│ │ ├── nr.svg
│ │ ├── nu.svg
│ │ ├── nz.svg
│ │ ├── om.svg
│ │ ├── pa.svg
│ │ ├── pc.svg
│ │ ├── pe.svg
│ │ ├── pf.svg
│ │ ├── pg.svg
│ │ ├── ph.svg
│ │ ├── pk.svg
│ │ ├── pl.svg
│ │ ├── pm.svg
│ │ ├── pn.svg
│ │ ├── pr.svg
│ │ ├── ps.svg
│ │ ├── pt.svg
│ │ ├── pw.svg
│ │ ├── py.svg
│ │ ├── qa.svg
│ │ ├── re.svg
│ │ ├── ro.svg
│ │ ├── rs.svg
│ │ ├── ru.svg
│ │ ├── rw.svg
│ │ ├── sa.svg
│ │ ├── sb.svg
│ │ ├── sc.svg
│ │ ├── sd.svg
│ │ ├── se.svg
│ │ ├── sg.svg
│ │ ├── sh-ac.svg
│ │ ├── sh-hl.svg
│ │ ├── sh-ta.svg
│ │ ├── sh.svg
│ │ ├── si.svg
│ │ ├── sj.svg
│ │ ├── sk.svg
│ │ ├── sl.svg
│ │ ├── sm.svg
│ │ ├── sn.svg
│ │ ├── so.svg
│ │ ├── sr.svg
│ │ ├── ss.svg
│ │ ├── st.svg
│ │ ├── sv.svg
│ │ ├── sx.svg
│ │ ├── sy.svg
│ │ ├── sz.svg
│ │ ├── tc.svg
│ │ ├── td.svg
│ │ ├── tf.svg
│ │ ├── tg.svg
│ │ ├── th.svg
│ │ ├── tj.svg
│ │ ├── tk.svg
│ │ ├── tl.svg
│ │ ├── tm.svg
│ │ ├── tn.svg
│ │ ├── to.svg
│ │ ├── tr.svg
│ │ ├── tt.svg
│ │ ├── tv.svg
│ │ ├── tw.svg
│ │ ├── tz.svg
│ │ ├── ua.svg
│ │ ├── ug.svg
│ │ ├── um.svg
│ │ ├── un.svg
│ │ ├── us.svg
│ │ ├── uy.svg
│ │ ├── uz.svg
│ │ ├── va.svg
│ │ ├── vc.svg
│ │ ├── ve.svg
│ │ ├── vg.svg
│ │ ├── vi.svg
│ │ ├── vn.svg
│ │ ├── vu.svg
│ │ ├── wf.svg
│ │ ├── ws.svg
│ │ ├── xk.svg
│ │ ├── xx.svg
│ │ ├── ye.svg
│ │ ├── yt.svg
│ │ ├── za.svg
│ │ ├── zm.svg
│ │ └── zw.svg
│ ├── fullZestyLogo.svg
│ ├── githubIcon.svg
│ ├── githubLogoSmall.svg
│ ├── googleAnalyticsIcon.svg
│ ├── googleAnalyticsLogo.png
│ ├── googleChromeLogo.png
│ ├── googleIcon.svg
│ ├── graphQLIcon.svg
│ ├── growInstance.svg
│ ├── guide1.png
│ ├── guide2.png
│ ├── guide3.png
│ ├── headlessLogos.jpg
│ ├── htmlIcon.svg
│ ├── hybridLogos.jpg
│ ├── ipad.png
│ ├── iphone-14-camera.png
│ ├── iphone-14-pro-camera.png
│ ├── iphone-14-pro.png
│ ├── iphone-14.png
│ ├── jsIcon.svg
│ ├── lineChartSkeleton.svg
│ ├── lineChartSkeleton2.svg
│ ├── lineChartSkeleton3.svg
│ ├── microsoftIcon.svg
│ ├── microsoftLogo.png
│ ├── mpImg.png
│ ├── noSearchResults.jpg
│ ├── noSearchResults.svg
│ ├── nodejsLogo.png
│ ├── notFound.jpg
│ ├── notFound.png
│ ├── notFoundTransparent.png
│ ├── npmLogo.png
│ ├── numberImg.png
│ ├── onboardingIcon.svg
│ ├── openai-badge.svg
│ ├── parsleyIcon.svg
│ ├── pdfImg.png
│ ├── pixel-7-camera.png
│ ├── pixel-7.png
│ ├── postmanIcon.svg
│ ├── pptImg.png
│ ├── restricted-image.svg
│ ├── restricted.png
│ ├── sb__avatar__1.png
│ ├── sb__company__logo__1.png
│ ├── sb__hero__image__1.png
│ ├── sb__hero__image__2.png
│ ├── sb__person__image__1.png
│ ├── slackIcon.svg
│ ├── starCheckIcon.svg
│ ├── uploadFiles.svg
│ ├── winnerPanel.svg
│ ├── wordImg.png
│ ├── youtubeIcon.svg
│ ├── zestyLogo.svg
│ ├── zestyLogoOnly.svg
│ ├── zestyLogoOnlyGrey.svg
│ ├── zestyLogoOnlyPulsate.svg
│ ├── zestyRocket.svg
│ └── zipImg.png
├── initial-loading.js
├── manifest.webmanifest
├── offline.html
├── plugins
│ └── help
│ │ ├── index.js
│ │ ├── js
│ │ └── i18n
│ │ │ └── keynav
│ │ │ ├── ar.js
│ │ │ ├── bg_BG.js
│ │ │ ├── ca.js
│ │ │ ├── cs.js
│ │ │ ├── da.js
│ │ │ ├── de.js
│ │ │ ├── el.js
│ │ │ ├── en.js
│ │ │ ├── es.js
│ │ │ ├── eu.js
│ │ │ ├── fa.js
│ │ │ ├── fi.js
│ │ │ ├── fr_FR.js
│ │ │ ├── he_IL.js
│ │ │ ├── hi.js
│ │ │ ├── hr.js
│ │ │ ├── hu_HU.js
│ │ │ ├── id.js
│ │ │ ├── it.js
│ │ │ ├── ja.js
│ │ │ ├── kk.js
│ │ │ ├── ko_KR.js
│ │ │ ├── ms.js
│ │ │ ├── nb_NO.js
│ │ │ ├── nl.js
│ │ │ ├── pl.js
│ │ │ ├── pt_BR.js
│ │ │ ├── pt_PT.js
│ │ │ ├── ro.js
│ │ │ ├── ru.js
│ │ │ ├── sk.js
│ │ │ ├── sl_SI.js
│ │ │ ├── sv_SE.js
│ │ │ ├── th_TH.js
│ │ │ ├── tr.js
│ │ │ ├── uk.js
│ │ │ ├── vi.js
│ │ │ ├── zh_CN.js
│ │ │ └── zh_TW.js
│ │ ├── plugin.js
│ │ └── plugin.min.js
├── styles
│ └── initial-loading-screen.css
├── sw.js
├── ui
│ └── images
│ │ ├── clippy.svg
│ │ └── icons
│ │ └── file_types
│ │ └── 48px
│ │ ├── _blank.png
│ │ ├── _page.png
│ │ ├── aac.png
│ │ ├── ai.png
│ │ ├── aiff.png
│ │ ├── avi.png
│ │ ├── bmp.png
│ │ ├── c.png
│ │ ├── cpp.png
│ │ ├── css.png
│ │ ├── dat.png
│ │ ├── dmg.png
│ │ ├── doc.png
│ │ ├── dotx.png
│ │ ├── dwg.png
│ │ ├── dxf.png
│ │ ├── eps.png
│ │ ├── exe.png
│ │ ├── flv.png
│ │ ├── gif.png
│ │ ├── h.png
│ │ ├── hpp.png
│ │ ├── html.png
│ │ ├── ics.png
│ │ ├── iso.png
│ │ ├── java.png
│ │ ├── jpg.png
│ │ ├── js.png
│ │ ├── key.png
│ │ ├── less.png
│ │ ├── mid.png
│ │ ├── mp3.png
│ │ ├── mp4.png
│ │ ├── mpg.png
│ │ ├── odf.png
│ │ ├── ods.png
│ │ ├── odt.png
│ │ ├── otp.png
│ │ ├── ots.png
│ │ ├── ott.png
│ │ ├── pdf.png
│ │ ├── php.png
│ │ ├── png.png
│ │ ├── ppt.png
│ │ ├── psd.png
│ │ ├── py.png
│ │ ├── qt.png
│ │ ├── rar.png
│ │ ├── rb.png
│ │ ├── rtf.png
│ │ ├── sass.png
│ │ ├── scss.png
│ │ ├── sql.png
│ │ ├── tga.png
│ │ ├── tgz.png
│ │ ├── tiff.png
│ │ ├── txt.png
│ │ ├── wav.png
│ │ ├── xls.png
│ │ ├── xlsx.png
│ │ ├── xml.png
│ │ ├── yml.png
│ │ └── zip.png
└── vendors
│ └── tinymce
│ ├── content.css
│ ├── plugins
│ ├── advcode
│ │ ├── changelog.txt
│ │ ├── codemirror.min.css
│ │ ├── codemirror.min.js
│ │ ├── license.txt
│ │ ├── plugin.js
│ │ ├── plugin.min.js
│ │ └── version.txt
│ ├── formatpainter
│ │ ├── changelog.txt
│ │ ├── plugin.js
│ │ ├── plugin.min.js
│ │ └── version.txt
│ ├── mediaembed
│ │ ├── changelog.txt
│ │ ├── content.min.css
│ │ ├── license.txt
│ │ ├── plugin.js
│ │ ├── plugin.min.js
│ │ └── version.txt
│ ├── pageembed
│ │ ├── changelog.txt
│ │ ├── plugin.js
│ │ ├── plugin.min.js
│ │ └── version.txt
│ └── powerpaste
│ │ ├── changelog.txt
│ │ ├── js
│ │ └── wordimport.js
│ │ ├── langs
│ │ ├── ar.js
│ │ ├── ca.js
│ │ ├── cs.js
│ │ ├── da.js
│ │ ├── de.js
│ │ ├── el.js
│ │ ├── es.js
│ │ ├── fa.js
│ │ ├── fi.js
│ │ ├── fr_FR.js
│ │ ├── he_IL.js
│ │ ├── hr.js
│ │ ├── hu_HU.js
│ │ ├── it.js
│ │ ├── ja.js
│ │ ├── kk.js
│ │ ├── ko_KR.js
│ │ ├── nb_NO.js
│ │ ├── nl.js
│ │ ├── pl.js
│ │ ├── pt_BR.js
│ │ ├── pt_PT.js
│ │ ├── ro.js
│ │ ├── ru.js
│ │ ├── sk.js
│ │ ├── sl_SI.js
│ │ ├── sv_SE.js
│ │ ├── th_TH.js
│ │ ├── tr.js
│ │ ├── uk.js
│ │ ├── zh_CN.js
│ │ └── zh_TW.js
│ │ ├── license.txt
│ │ ├── plugin.js
│ │ ├── plugin.min.js
│ │ └── version.txt
│ └── skins
│ └── ui
│ ├── Zesty
│ ├── content.css
│ ├── content.inline.css
│ ├── content.inline.min.css
│ ├── content.min.css
│ ├── content.mobile.css
│ ├── content.mobile.min.css
│ ├── fonts
│ │ └── tinymce-mobile.woff
│ ├── skin.css
│ ├── skin.min.css
│ ├── skin.mobile.css
│ └── skin.mobile.min.css
│ └── oxide
│ ├── content.min.css
│ └── skin.min.css
├── src
├── apps
│ ├── active-preview
│ │ ├── Preview.js
│ │ ├── Preview.less
│ │ ├── api.js
│ │ ├── components
│ │ │ ├── Frame
│ │ │ │ ├── Frame.js
│ │ │ │ ├── Frame.less
│ │ │ │ └── index.js
│ │ │ ├── JSONPreview
│ │ │ │ ├── JSONPreview.js
│ │ │ │ ├── JSONPreview.less
│ │ │ │ └── index.js
│ │ │ └── Meta
│ │ │ │ ├── Meta.js
│ │ │ │ ├── Meta.less
│ │ │ │ └── index.js
│ │ ├── index.html
│ │ └── index.js
│ ├── blocks
│ │ ├── components
│ │ │ ├── BlockCard.tsx
│ │ │ ├── CreateVariantDialog.tsx
│ │ │ ├── OnboardingDialog.tsx
│ │ │ └── Sidebar.tsx
│ │ ├── index.tsx
│ │ └── views
│ │ │ ├── AllBlocks.tsx
│ │ │ ├── BlockItem.tsx
│ │ │ └── BlockModel.tsx
│ ├── code-editor
│ │ └── src
│ │ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── BottomDrawer
│ │ │ │ │ ├── AuditTrail.tsx
│ │ │ │ │ ├── FileCard.tsx
│ │ │ │ │ ├── FileStatus.tsx
│ │ │ │ │ ├── LinkedContent.tsx
│ │ │ │ │ ├── LinkedSchema.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── CreateFile.tsx
│ │ │ │ ├── Differ
│ │ │ │ │ ├── Differ.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── Editor
│ │ │ │ │ ├── Editor.js
│ │ │ │ │ ├── components
│ │ │ │ │ │ └── MemoizedEditor
│ │ │ │ │ │ │ ├── MemoizedEditor.js
│ │ │ │ │ │ │ ├── MonacoSetup.js
│ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ ├── parsley-theme.js
│ │ │ │ │ │ │ └── parsley-tokens.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── FileActions
│ │ │ │ │ ├── FileActions.js
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── Delete
│ │ │ │ │ │ │ ├── Delete.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── DifferActions
│ │ │ │ │ │ │ ├── DifferActions.js
│ │ │ │ │ │ │ ├── DifferActions.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── EditorActions
│ │ │ │ │ │ │ ├── EditorActions.js
│ │ │ │ │ │ │ ├── EditorActions.less
│ │ │ │ │ │ │ ├── Publish
│ │ │ │ │ │ │ ├── Publish.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── Save
│ │ │ │ │ │ │ ├── Save.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── Sync
│ │ │ │ │ │ │ ├── Sync.js
│ │ │ │ │ │ │ ├── Sync.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── FileDrawer
│ │ │ │ │ ├── FileDrawer.js
│ │ │ │ │ ├── FileDrawer.less
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── AuditTrail
│ │ │ │ │ │ │ ├── AuditTrail.js
│ │ │ │ │ │ │ ├── AuditTrail.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── FileStatus
│ │ │ │ │ │ │ ├── FileStatus.js
│ │ │ │ │ │ │ ├── FileStatus.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── LinkedContent
│ │ │ │ │ │ │ ├── LinkedContent.js
│ │ │ │ │ │ │ ├── LinkedContent.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── LinkedSchema
│ │ │ │ │ │ │ ├── LinkedSchema.js
│ │ │ │ │ │ │ ├── LinkedSchema.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── PublishAll
│ │ │ │ │ │ │ ├── PublishAll.js
│ │ │ │ │ │ │ ├── PublishAll.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── FileList
│ │ │ │ │ ├── FileList.js
│ │ │ │ │ ├── FileList.less
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── CreateFile
│ │ │ │ │ │ │ ├── CreateFile.js
│ │ │ │ │ │ │ ├── CreateFile.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── FilterFiles
│ │ │ │ │ │ │ ├── FilterFiles.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── OrderFiles
│ │ │ │ │ │ │ ├── OrderFiles.js
│ │ │ │ │ │ │ ├── OrderFiles.less
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Draggable
│ │ │ │ │ │ │ │ │ ├── Draggable.js
│ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ └── Dropzone
│ │ │ │ │ │ │ │ │ ├── Dropzone.js
│ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── PublishAll
│ │ │ │ │ │ │ ├── PublishAll.js
│ │ │ │ │ │ │ ├── PublishAll.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── SelectBranch
│ │ │ │ │ │ │ ├── SelectBranch.js
│ │ │ │ │ │ │ ├── SelectBranch.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── FileTabs
│ │ │ │ │ ├── FileTabs.js
│ │ │ │ │ └── FileTabs.less
│ │ │ │ ├── LocalDirtyCodeModal
│ │ │ │ │ ├── LocalDirtyCodeModal.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── LockedView
│ │ │ │ │ ├── LockedView.js
│ │ │ │ │ ├── LockedView.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── RecentFiles
│ │ │ │ │ ├── DevResources.tsx
│ │ │ │ │ ├── FileList.tsx
│ │ │ │ │ ├── TopBar.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── SideBar
│ │ │ │ │ ├── FileNav.tsx
│ │ │ │ │ ├── OrderFiles.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── TopBar
│ │ │ │ │ ├── ActionButton.tsx
│ │ │ │ │ ├── DeleteDialog.tsx
│ │ │ │ │ ├── DifferActions.tsx
│ │ │ │ │ ├── EditorActions.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── Workspace
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── GettingStarted
│ │ │ │ │ │ │ ├── GettingStarted.js
│ │ │ │ │ │ │ ├── GettingStarted.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── NotFound
│ │ │ │ │ │ │ ├── NotFound.js
│ │ │ │ │ │ │ ├── NotFound.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ └── constants.ts
│ │ │ └── views
│ │ │ │ └── CodeEditor
│ │ │ │ ├── CodeEditor.js
│ │ │ │ └── index.js
│ │ │ ├── index.js
│ │ │ └── store
│ │ │ ├── auditTrail.js
│ │ │ ├── files.js
│ │ │ ├── headers.js
│ │ │ ├── navCode.js
│ │ │ └── status.js
│ ├── content-editor
│ │ └── src
│ │ │ ├── app
│ │ │ ├── ContentEditor.js
│ │ │ ├── ContentEditor.less
│ │ │ ├── components
│ │ │ │ ├── APIEndpoints.tsx
│ │ │ │ ├── ContentBreadcrumbs.tsx
│ │ │ │ ├── ContentNav
│ │ │ │ │ ├── NavError.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── DragScroll.js
│ │ │ │ ├── Editor
│ │ │ │ │ ├── Editor.js
│ │ │ │ │ ├── Editor.less
│ │ │ │ │ ├── Field
│ │ │ │ │ │ ├── Field.less
│ │ │ │ │ │ ├── Field.tsx
│ │ │ │ │ │ ├── FieldShell.tsx
│ │ │ │ │ │ ├── FieldTooltipBody.tsx
│ │ │ │ │ │ ├── InternalLink.tsx
│ │ │ │ │ │ ├── LinkOption.tsx
│ │ │ │ │ │ ├── ResolvedOption.tsx
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── FieldError.tsx
│ │ │ │ │ ├── FieldsLoader.tsx
│ │ │ │ │ ├── PreviewMode
│ │ │ │ │ │ ├── PreviewMode.js
│ │ │ │ │ │ ├── PreviewMode.less
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── FieldTypeMedia.tsx
│ │ │ │ ├── HideContentItemDialog.tsx
│ │ │ │ ├── LockedItem
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── NoFields.tsx
│ │ │ │ ├── PendingEditsModal
│ │ │ │ │ ├── PendingEditsModal.less
│ │ │ │ │ ├── PendingEditsModal.tsx
│ │ │ │ │ └── index.js
│ │ │ │ └── ReorderNav
│ │ │ │ │ ├── DragComponents
│ │ │ │ │ ├── DragList.js
│ │ │ │ │ ├── DraggableItem.js
│ │ │ │ │ └── styles.less
│ │ │ │ │ ├── ReorderNav.js
│ │ │ │ │ ├── ReorderNav.less
│ │ │ │ │ └── index.js
│ │ │ ├── index.js
│ │ │ └── views
│ │ │ │ ├── Analytics
│ │ │ │ ├── components
│ │ │ │ │ ├── AnalyticsDateFilter.tsx
│ │ │ │ │ ├── AnalyticsDialog.tsx
│ │ │ │ │ ├── AnalyticsPropertySelector.tsx
│ │ │ │ │ ├── AuthView.tsx
│ │ │ │ │ ├── CompareDialog.tsx
│ │ │ │ │ ├── Metric.tsx
│ │ │ │ │ └── PropertiesDialog.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── utils.ts
│ │ │ │ └── views
│ │ │ │ │ ├── AnalyticsDashboard
│ │ │ │ │ ├── ByDayLineChart.tsx
│ │ │ │ │ ├── ItemsTable
│ │ │ │ │ │ ├── GainersLosersWrapper.tsx
│ │ │ │ │ │ ├── ItemsTable.tsx
│ │ │ │ │ │ ├── LatestPublishesWrapper.tsx
│ │ │ │ │ │ ├── MostPopularWrapper.tsx
│ │ │ │ │ │ ├── NameCell.tsx
│ │ │ │ │ │ ├── RecentEditsWrapper.tsx
│ │ │ │ │ │ ├── StatsCell.tsx
│ │ │ │ │ │ └── ViewsCell.tsx
│ │ │ │ │ ├── UsersDoughutChart.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ └── SinglePageAnalytics
│ │ │ │ │ ├── ByDayLineChart.tsx
│ │ │ │ │ ├── UsersBarChart.tsx
│ │ │ │ │ ├── UsersDoughnutChart.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── CSVImport
│ │ │ │ ├── CSVImport.less
│ │ │ │ ├── CSVImportBody.js
│ │ │ │ ├── Columns
│ │ │ │ │ ├── Columns.js
│ │ │ │ │ ├── Columns.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── CsvSettings
│ │ │ │ │ ├── CsvSettings.js
│ │ │ │ │ ├── CsvSettings.less
│ │ │ │ │ └── index.js
│ │ │ │ └── index.tsx
│ │ │ │ ├── Dashboard
│ │ │ │ ├── Dashboard.js
│ │ │ │ ├── Dashboard.less
│ │ │ │ ├── components
│ │ │ │ │ ├── AccountInfo
│ │ │ │ │ │ ├── AccountInfo.js
│ │ │ │ │ │ ├── AccountInfo.less
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── ChartDashboard
│ │ │ │ │ │ ├── ChartDashboard.js
│ │ │ │ │ │ ├── ChartDashboard.less
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── InstanceActivity
│ │ │ │ │ │ ├── InstanceActivity.js
│ │ │ │ │ │ ├── InstanceActivity.less
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── QuickJumps
│ │ │ │ │ │ ├── QuickJumps.js
│ │ │ │ │ │ ├── QuickJumps.less
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── UserLatest
│ │ │ │ │ │ ├── UserLatest.js
│ │ │ │ │ │ ├── UserLatest.less
│ │ │ │ │ │ └── index.js
│ │ │ │ └── index.js
│ │ │ │ ├── ItemCreate
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── ItemCreate.less
│ │ │ │ ├── ItemCreate.tsx
│ │ │ │ └── index.js
│ │ │ │ ├── ItemEdit
│ │ │ │ ├── Content
│ │ │ │ │ ├── Actions
│ │ │ │ │ │ ├── Actions.js
│ │ │ │ │ │ ├── Actions.less
│ │ │ │ │ │ ├── Widgets
│ │ │ │ │ │ │ ├── ContentInfo
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── ContentLinks
│ │ │ │ │ │ │ │ ├── ContentLinks.js
│ │ │ │ │ │ │ │ ├── ContentLinks.less
│ │ │ │ │ │ │ │ ├── InstantUrl
│ │ │ │ │ │ │ │ │ ├── InstantUrl.js
│ │ │ │ │ │ │ │ │ ├── InstantUrl.less
│ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── Modal
│ │ │ │ │ │ │ │ ├── Modal.js
│ │ │ │ │ │ │ │ ├── Modal.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── Release
│ │ │ │ │ │ │ │ ├── Release.js
│ │ │ │ │ │ │ │ ├── Release.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── SharedWidget.less
│ │ │ │ │ │ │ ├── Unpublish
│ │ │ │ │ │ │ │ ├── Unpublish.js
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── Widget
│ │ │ │ │ │ │ │ ├── Widget.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetDeleteItem
│ │ │ │ │ │ │ │ ├── WidgetDeleteItem.js
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetDraftHistory
│ │ │ │ │ │ │ │ ├── WidgetDraftHistory.js
│ │ │ │ │ │ │ │ ├── WidgetDraftHistory.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetListed
│ │ │ │ │ │ │ │ ├── WidgetListed.js
│ │ │ │ │ │ │ │ ├── WidgetListed.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetPublishHistory
│ │ │ │ │ │ │ │ ├── WidgetPublishHistory.js
│ │ │ │ │ │ │ │ ├── WidgetPublishHistory.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetPurgeItem
│ │ │ │ │ │ │ │ ├── WidgetPurgeItem.js
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ ├── WidgetQuickShare
│ │ │ │ │ │ │ │ ├── WidgetQuickShare.js
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ └── WorkflowRequest
│ │ │ │ │ │ │ │ ├── WorkflowRequest.js
│ │ │ │ │ │ │ │ ├── WorkflowRequests.less
│ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── Content.js
│ │ │ │ │ ├── Content.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── FreestyleWrapper.tsx
│ │ │ │ ├── HeadlessOptions
│ │ │ │ │ ├── HeadlessOptions.js
│ │ │ │ │ ├── HeadlessOptions.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── ItemEdit.js
│ │ │ │ ├── ItemHead
│ │ │ │ │ ├── ItemHead.js
│ │ │ │ │ ├── ItemHead.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── Meta
│ │ │ │ │ ├── ContentInsights
│ │ │ │ │ │ ├── MatchedWords.tsx
│ │ │ │ │ │ ├── MostMentionedWords.tsx
│ │ │ │ │ │ ├── WordCount.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── SocialMediaPreview
│ │ │ │ │ │ ├── FacebookPreview.tsx
│ │ │ │ │ │ ├── GooglePreview.tsx
│ │ │ │ │ │ ├── LinkedInPreview.tsx
│ │ │ │ │ │ ├── TwitterPreview.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── useImageURL.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── settings
│ │ │ │ │ │ ├── CanonicalTag.js
│ │ │ │ │ │ ├── CanonicalTag.less
│ │ │ │ │ │ ├── ItemParent.tsx
│ │ │ │ │ │ ├── ItemRoute.tsx
│ │ │ │ │ │ ├── MetaDescription.tsx
│ │ │ │ │ │ ├── MetaImage.tsx
│ │ │ │ │ │ ├── MetaKeywords.tsx
│ │ │ │ │ │ ├── MetaLinkText.tsx
│ │ │ │ │ │ ├── MetaTitle.tsx
│ │ │ │ │ │ ├── OGDescription.tsx
│ │ │ │ │ │ ├── OGTitle.tsx
│ │ │ │ │ │ ├── SitemapPriority.js
│ │ │ │ │ │ ├── SitemapPriority.less
│ │ │ │ │ │ ├── TCDescription.tsx
│ │ │ │ │ │ ├── TCImage.tsx
│ │ │ │ │ │ ├── TCTitle.tsx
│ │ │ │ │ │ └── util.ts
│ │ │ │ ├── PublishState.tsx
│ │ │ │ ├── components
│ │ │ │ │ ├── BlockTabs.tsx
│ │ │ │ │ ├── Header
│ │ │ │ │ │ ├── DuoModeToggle
│ │ │ │ │ │ │ ├── DuoModeToggle.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── Header.js
│ │ │ │ │ │ ├── Header.less
│ │ │ │ │ │ ├── ItemNavigation
│ │ │ │ │ │ │ ├── ItemNavigation.js
│ │ │ │ │ │ │ ├── ItemNavigation.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── LanguageSelector
│ │ │ │ │ │ │ ├── LanguageSelector.js
│ │ │ │ │ │ │ ├── LanguageSelector.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── LiveUrl
│ │ │ │ │ │ │ ├── LiveUrl.js
│ │ │ │ │ │ │ ├── LiveUrl.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── PreviewUrl
│ │ │ │ │ │ │ ├── PreviewUrl.js
│ │ │ │ │ │ │ ├── PreviewUrl.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── ItemEditHeader
│ │ │ │ │ │ ├── DeleteItemDialog.tsx
│ │ │ │ │ │ ├── DuoModeToggle.tsx
│ │ │ │ │ │ ├── DuplicateItemDialog.tsx
│ │ │ │ │ │ ├── ItemEditHeaderActions.tsx
│ │ │ │ │ │ ├── LanguageSelector.tsx
│ │ │ │ │ │ ├── MoreMenu.tsx
│ │ │ │ │ │ ├── PreviewMenu.tsx
│ │ │ │ │ │ ├── PublishStatus.tsx
│ │ │ │ │ │ ├── RenameItemDialog.tsx
│ │ │ │ │ │ ├── UnpublishDialog.tsx
│ │ │ │ │ │ ├── UnpublishedRelatedItem.tsx
│ │ │ │ │ │ ├── VersionSelector
│ │ │ │ │ │ ├── NoResults.tsx
│ │ │ │ │ │ ├── Row.tsx
│ │ │ │ │ │ ├── VersionItem.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ └── index.js
│ │ │ │ ├── ItemList
│ │ │ │ ├── ConfirmDeletesDialog.tsx
│ │ │ │ ├── ConfirmPublishesDialog.tsx
│ │ │ │ ├── DialogContentItem.tsx
│ │ │ │ ├── ItemListActions.tsx
│ │ │ │ ├── ItemListEmpty.tsx
│ │ │ │ ├── ItemListFilters.tsx
│ │ │ │ ├── ItemListTable.tsx
│ │ │ │ ├── Loader.tsx
│ │ │ │ ├── SchedulePublishesDialog.tsx
│ │ │ │ ├── SelectedItemsContext.tsx
│ │ │ │ ├── StagedChangesContext.tsx
│ │ │ │ ├── TableCells
│ │ │ │ │ ├── BooleanCell.tsx
│ │ │ │ │ ├── DropdownCell.tsx
│ │ │ │ │ ├── ImageCell.tsx
│ │ │ │ │ ├── OneToManyCell.tsx
│ │ │ │ │ ├── SingleRelationshipCell.tsx
│ │ │ │ │ ├── SortCell.tsx
│ │ │ │ │ ├── UserCell.tsx
│ │ │ │ │ └── VersionCell.tsx
│ │ │ │ ├── TableSortProvider.tsx
│ │ │ │ ├── UpdateListActions.tsx
│ │ │ │ └── index.tsx
│ │ │ │ ├── LinkCreate
│ │ │ │ ├── LinkCreate.js
│ │ │ │ ├── LinkCreate.less
│ │ │ │ └── index.js
│ │ │ │ ├── LinkEdit
│ │ │ │ ├── LinkEdit.js
│ │ │ │ ├── LinkEdit.less
│ │ │ │ └── index.js
│ │ │ │ ├── NotFound
│ │ │ │ └── index.tsx
│ │ │ │ └── Redirects
│ │ │ │ ├── DeleteRedirectModal.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── index.js
│ │ │ └── store
│ │ │ ├── items.js
│ │ │ ├── listFilters.js
│ │ │ ├── modal.js
│ │ │ ├── navContent.js
│ │ │ └── sets.js
│ ├── custom-app
│ │ └── src
│ │ │ ├── app
│ │ │ ├── CustomApp.js
│ │ │ ├── CustomApp.less
│ │ │ └── index.js
│ │ │ └── index.js
│ ├── home
│ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── CongratulationsDialog.tsx
│ │ │ │ ├── EmptyState.tsx
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── MetricCards.tsx
│ │ │ │ ├── ResourceTable.tsx
│ │ │ │ └── ResourcesCard.tsx
│ │ │ └── index.tsx
│ │ └── index.ts
│ ├── leads
│ │ └── src
│ │ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── LeadExporter
│ │ │ │ │ ├── DownloadCSVButton
│ │ │ │ │ │ ├── DownloadCSVButton.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── FormGroupSelector
│ │ │ │ │ │ ├── FormGroupSelector.js
│ │ │ │ │ │ ├── FormGroupSelector.model.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── LeadExporter.js
│ │ │ │ │ ├── LeadExporter.less
│ │ │ │ │ ├── TableDateFilter
│ │ │ │ │ │ ├── TableDateFilter.js
│ │ │ │ │ │ ├── TableDateFilter.less
│ │ │ │ │ │ ├── TableDateFilter.model.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ └── LeadsTable
│ │ │ │ │ ├── LeadsTable.js
│ │ │ │ │ ├── LeadsTable.less
│ │ │ │ │ └── index.js
│ │ │ └── views
│ │ │ │ ├── GetStarted
│ │ │ │ ├── GetStarted.js
│ │ │ │ ├── GetStarted.less
│ │ │ │ └── index.js
│ │ │ │ └── Leads
│ │ │ │ ├── LeadFilter.service.js
│ │ │ │ ├── Leads.js
│ │ │ │ ├── Leads.less
│ │ │ │ └── index.js
│ │ │ ├── index.js
│ │ │ └── store
│ │ │ ├── filter.js
│ │ │ └── leads.js
│ ├── marketplace
│ │ └── src
│ │ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── InstallApp.tsx
│ │ │ │ └── Sidebar.tsx
│ │ │ ├── index.tsx
│ │ │ └── view
│ │ │ │ ├── CustomApp.js
│ │ │ │ └── CustomApp.less
│ │ │ └── index.ts
│ ├── media
│ │ └── src
│ │ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── Controls
│ │ │ │ │ ├── Controls.tsx
│ │ │ │ │ ├── DateFilter.tsx
│ │ │ │ │ ├── FiletypeFilter.tsx
│ │ │ │ │ ├── ImageFilterRow.tsx
│ │ │ │ │ ├── Sort.tsx
│ │ │ │ │ ├── ToggleViews.tsx
│ │ │ │ │ ├── VideoFilterRow.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── DateFilterModal.tsx
│ │ │ │ ├── DeleteFolderDialog.tsx
│ │ │ │ ├── DnDProvider.tsx
│ │ │ │ ├── DropArea.tsx
│ │ │ │ ├── EmptyState.tsx
│ │ │ │ ├── FileModal
│ │ │ │ │ ├── DeleteFileModal.tsx
│ │ │ │ │ ├── FileModalContent.tsx
│ │ │ │ │ ├── FileTypePreview.tsx
│ │ │ │ │ ├── MoveFileDialog.tsx
│ │ │ │ │ ├── OTFEditor.tsx
│ │ │ │ │ ├── RenameFileModal.tsx
│ │ │ │ │ ├── ReplaceFileModal.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── Folder
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── FolderMenu.tsx
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── InsightsTable.tsx
│ │ │ │ ├── MediaBreadcrumbs.tsx
│ │ │ │ ├── MediaGrid.tsx
│ │ │ │ ├── MediaList.tsx
│ │ │ │ ├── NewFolderDialog.tsx
│ │ │ │ ├── NoResultsState.tsx
│ │ │ │ ├── NotFoundState.tsx
│ │ │ │ ├── RenameFolderDialog.tsx
│ │ │ │ ├── SearchEmptyState.tsx
│ │ │ │ ├── Sidebar
│ │ │ │ │ ├── Folders.tsx
│ │ │ │ │ ├── Menu.tsx
│ │ │ │ │ ├── Searchbox.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── Thumbnail
│ │ │ │ │ ├── Loading.less
│ │ │ │ │ ├── ThumbnailContent.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── UploadButton.tsx
│ │ │ │ ├── UploadModal.tsx
│ │ │ │ └── UploadThumbnail.tsx
│ │ │ ├── index.tsx
│ │ │ ├── utils
│ │ │ │ └── fileUtils.ts
│ │ │ └── views
│ │ │ │ ├── AllMedia.tsx
│ │ │ │ ├── BinMedia.tsx
│ │ │ │ ├── FolderMedia.tsx
│ │ │ │ ├── InsightsMedia.tsx
│ │ │ │ ├── Media.tsx
│ │ │ │ └── SearchMedia.tsx
│ │ │ └── index.js
│ ├── release
│ │ └── src
│ │ │ ├── app
│ │ │ ├── ReleaseApp.js
│ │ │ ├── ReleaseApp.less
│ │ │ ├── index.js
│ │ │ └── views
│ │ │ │ ├── Activate
│ │ │ │ ├── Activate.js
│ │ │ │ ├── Activate.less
│ │ │ │ └── index.js
│ │ │ │ ├── CreateRelease
│ │ │ │ ├── CreateRelease.js
│ │ │ │ ├── CreateRelease.less
│ │ │ │ └── index.js
│ │ │ │ ├── ListReleases
│ │ │ │ ├── ListReleases.js
│ │ │ │ ├── ListReleases.less
│ │ │ │ ├── Release.js
│ │ │ │ └── index.js
│ │ │ │ └── ViewRelease
│ │ │ │ ├── ViewRelease.js
│ │ │ │ ├── ViewRelease.less
│ │ │ │ ├── components
│ │ │ │ ├── Completed
│ │ │ │ │ ├── Completed.js
│ │ │ │ │ ├── Completed.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── Header
│ │ │ │ │ ├── Header.js
│ │ │ │ │ ├── Header.less
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── DeleteRelease
│ │ │ │ │ │ │ ├── DeleteRelease.js
│ │ │ │ │ │ │ ├── DeleteRelease.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ └── PublishAll
│ │ │ │ │ │ │ ├── PublishAll.js
│ │ │ │ │ │ │ ├── PublishAll.less
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ └── index.js
│ │ │ │ ├── PlanStep
│ │ │ │ │ ├── PlanStep.js
│ │ │ │ │ ├── PlanStep.less
│ │ │ │ │ └── index.js
│ │ │ │ └── PlanTable
│ │ │ │ │ ├── PlanTable.js
│ │ │ │ │ ├── PlanTable.less
│ │ │ │ │ └── index.js
│ │ │ │ └── index.js
│ │ │ └── index.js
│ ├── reports
│ │ └── src
│ │ │ ├── app
│ │ │ ├── ReportingApp.js
│ │ │ ├── components
│ │ │ │ └── ReportingNav.tsx
│ │ │ └── views
│ │ │ │ ├── ActivityLog
│ │ │ │ ├── components
│ │ │ │ │ ├── ActionTimelineItem
│ │ │ │ │ │ ├── ContentActionTimelineItem.js
│ │ │ │ │ │ ├── FileActionTimelineItem.js
│ │ │ │ │ │ ├── ModelActionTimelineItem.js
│ │ │ │ │ │ ├── SettingsActionTimelineItem.js
│ │ │ │ │ │ ├── TimelineItem.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── ActionsByUsers.tsx
│ │ │ │ │ ├── ActionsTimeline.tsx
│ │ │ │ │ ├── ActivityByResource.js
│ │ │ │ │ ├── ApiErrorState.js
│ │ │ │ │ ├── DateRangePicker.js
│ │ │ │ │ ├── EmptyState.tsx
│ │ │ │ │ ├── Filters.tsx
│ │ │ │ │ ├── ResourceHeaderTitle.tsx
│ │ │ │ │ ├── ResourceList.js
│ │ │ │ │ ├── ResourceListItem
│ │ │ │ │ │ ├── ContentResourceListItem.js
│ │ │ │ │ │ ├── FileResourceListItem.js
│ │ │ │ │ │ ├── ListItem.js
│ │ │ │ │ │ ├── ModelResourceListItem.js
│ │ │ │ │ │ ├── SettingsResourceListItem.js
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── TopUsers.js
│ │ │ │ │ ├── UserHeaderTitle.tsx
│ │ │ │ │ ├── UserListItem.js
│ │ │ │ │ └── UsersList.js
│ │ │ │ ├── index.js
│ │ │ │ ├── utils.ts
│ │ │ │ └── views
│ │ │ │ │ ├── Home.js
│ │ │ │ │ ├── ResourceDetails.js
│ │ │ │ │ └── UserDetails.js
│ │ │ │ ├── AuditTrail
│ │ │ │ ├── components
│ │ │ │ │ ├── controls
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── styles.less
│ │ │ │ │ ├── log
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── styles.less
│ │ │ │ │ └── pagination
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── styles.less
│ │ │ │ ├── index.js
│ │ │ │ └── styles.less
│ │ │ │ └── Metrics
│ │ │ │ ├── Metrics.less
│ │ │ │ ├── TopReq.js
│ │ │ │ └── index.js
│ │ │ ├── index.js
│ │ │ └── store
│ │ │ ├── logsInView.js
│ │ │ └── searchTerm.js
│ ├── schema
│ │ ├── .editorconfig
│ │ └── src
│ │ │ ├── app
│ │ │ ├── components
│ │ │ │ ├── AddFieldDivider.tsx
│ │ │ │ ├── AddFieldModal
│ │ │ │ │ ├── CharacterLimit.tsx
│ │ │ │ │ ├── ComingSoon.tsx
│ │ │ │ │ ├── DefaultValue.tsx
│ │ │ │ │ ├── DefaultValueInput.tsx
│ │ │ │ │ ├── FieldFormInput.tsx
│ │ │ │ │ ├── FieldItem.tsx
│ │ │ │ │ ├── InputRange.tsx
│ │ │ │ │ ├── Learn.tsx
│ │ │ │ │ ├── MediaRules.tsx
│ │ │ │ │ ├── Regex.tsx
│ │ │ │ │ ├── TooltipBody.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── views
│ │ │ │ │ │ ├── FieldForm.tsx
│ │ │ │ │ │ ├── FieldSelection.tsx
│ │ │ │ │ │ └── Rules.tsx
│ │ │ │ ├── AllModelsEmptyState.tsx
│ │ │ │ ├── CreateModelDialogue.tsx
│ │ │ │ ├── DeleteModelDialogue.tsx
│ │ │ │ ├── DuplicateModelDialogue.tsx
│ │ │ │ ├── Field
│ │ │ │ │ ├── FieldIcon.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── FieldEmptyState.tsx
│ │ │ │ ├── FieldList.tsx
│ │ │ │ ├── FieldsListRight.tsx
│ │ │ │ ├── Filters
│ │ │ │ │ ├── ModelType.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ModelActivityLog.tsx
│ │ │ │ ├── ModelApi
│ │ │ │ │ ├── ApiCard.tsx
│ │ │ │ │ ├── ApiCardList.tsx
│ │ │ │ │ ├── ApiDetails.tsx
│ │ │ │ │ ├── ApiDomainEndpoints.tsx
│ │ │ │ │ ├── ApiInfo.tsx
│ │ │ │ │ ├── HeadlessSwitcher.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ModelBreadcrumbs.tsx
│ │ │ │ ├── ModelHeader.tsx
│ │ │ │ ├── ModelInfo
│ │ │ │ │ ├── ActivityDetails.tsx
│ │ │ │ │ ├── ModelDetails.tsx
│ │ │ │ │ ├── RelatedModels.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ModelMenu.tsx
│ │ │ │ ├── ModelsTable.tsx
│ │ │ │ ├── NoResults.tsx
│ │ │ │ ├── RenameModelDialogue.tsx
│ │ │ │ ├── SchemaCreateWizard.tsx
│ │ │ │ ├── SelectBlockGroupInput.tsx
│ │ │ │ ├── SelectModelParentInput.tsx
│ │ │ │ ├── Sidebar
│ │ │ │ │ ├── ModelList.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── StarterBlocks
│ │ │ │ │ ├── StarterBlockForm.tsx
│ │ │ │ │ ├── StarterBlocksSelection.tsx
│ │ │ │ │ ├── configs.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── UpdateBlockGroupDialogue.tsx
│ │ │ │ ├── UpdateDescriptionModelDialogue.tsx
│ │ │ │ ├── UpdateParentModelDialogue.tsx
│ │ │ │ ├── configs.ts
│ │ │ │ └── hooks
│ │ │ │ │ └── useMediaRules.tsx
│ │ │ ├── index.tsx
│ │ │ ├── utils
│ │ │ │ └── index.ts
│ │ │ └── views
│ │ │ │ ├── AllModels.tsx
│ │ │ │ ├── Model.tsx
│ │ │ │ └── SearchModels.tsx
│ │ │ ├── index.js
│ │ │ └── store
│ │ │ ├── navSchema.js
│ │ │ └── parents.js
│ ├── seo
│ │ └── src
│ │ │ ├── app
│ │ │ ├── app.less
│ │ │ ├── components
│ │ │ │ └── RedirectsDialogProvider
│ │ │ │ │ ├── CreateRedirects
│ │ │ │ │ ├── CreateForm.tsx
│ │ │ │ │ ├── PathField.tsx
│ │ │ │ │ └── SearchField.tsx
│ │ │ │ │ ├── DeleteDialog.tsx
│ │ │ │ │ ├── ErrorDialog.tsx
│ │ │ │ │ ├── constants.tsx
│ │ │ │ │ └── index.tsx
│ │ │ └── index.tsx
│ │ │ ├── index.js
│ │ │ ├── store
│ │ │ ├── imports.js
│ │ │ ├── redirects.js
│ │ │ └── redirectsFilter.js
│ │ │ └── views
│ │ │ └── RedirectsManager
│ │ │ ├── RedirectActions
│ │ │ ├── RedirectsDelete.tsx
│ │ │ ├── RedirectsImport.tsx
│ │ │ └── index.tsx
│ │ │ ├── RedirectImportTable
│ │ │ ├── ImportTableRowDisabled
│ │ │ │ ├── ImportTableRowDisabled.js
│ │ │ │ ├── ImportTableRowDisabled.less
│ │ │ │ └── index.js
│ │ │ ├── RedirectImportTable.js
│ │ │ ├── RedirectImportTable.less
│ │ │ ├── RedirectImportTableRow
│ │ │ │ ├── RedirectImportTableRow.js
│ │ │ │ ├── RedirectImportTableRow.less
│ │ │ │ └── index.js
│ │ │ └── index.js
│ │ │ ├── RedirectsTable
│ │ │ ├── RedirectCreator
│ │ │ │ ├── RedirectCreator.js
│ │ │ │ └── index.js
│ │ │ ├── RedirectTargetCell.js
│ │ │ ├── RedirectsTableContextProvider.tsx
│ │ │ ├── RedirectsTableHeader
│ │ │ │ ├── RedirectsTableHeader.js
│ │ │ │ ├── RedirectsTableHeader.less
│ │ │ │ └── index.js
│ │ │ ├── RedirectsTableRow
│ │ │ │ ├── RedirectsTableRow.js
│ │ │ │ ├── RedirectsTableRow.less
│ │ │ │ └── index.js
│ │ │ ├── TableSortFilters.tsx
│ │ │ └── index.tsx
│ │ │ └── index.tsx
│ └── settings
│ │ └── src
│ │ ├── app
│ │ ├── App.js
│ │ ├── components
│ │ │ ├── ConfirmSaveDialog.tsx
│ │ │ ├── Containers.tsx
│ │ │ ├── Nav
│ │ │ │ ├── SettingsNav.less
│ │ │ │ ├── SettingsNav.tsx
│ │ │ │ └── index.ts
│ │ │ └── TopBar.tsx
│ │ └── views
│ │ │ ├── Bynder.tsx
│ │ │ ├── Fonts
│ │ │ ├── Browse.js
│ │ │ ├── Fonts.less
│ │ │ ├── Installed.js
│ │ │ └── index.js
│ │ │ ├── Instance
│ │ │ ├── Instance.js
│ │ │ └── index.js
│ │ │ ├── Robots
│ │ │ ├── HeadTags.js
│ │ │ ├── Robots.js
│ │ │ └── index.js
│ │ │ ├── Styles
│ │ │ ├── Styles.js
│ │ │ └── index.js
│ │ │ └── User
│ │ │ └── Workflows
│ │ │ ├── RestrictedPage.tsx
│ │ │ ├── authorized
│ │ │ ├── ActiveStatus.tsx
│ │ │ ├── DeactivatedStatus.tsx
│ │ │ ├── StatusLabel.tsx
│ │ │ ├── forms-dialogs
│ │ │ │ ├── DeactivationDialog.tsx
│ │ │ │ ├── StatusLabelForm.tsx
│ │ │ │ └── index.tsx
│ │ │ └── index.tsx
│ │ │ ├── constants.tsx
│ │ │ └── index.tsx
│ │ └── index.js
├── engine
│ ├── actionTypes.ts
│ ├── handlers.ts
│ ├── navigator.ts
│ ├── queue.ts
│ ├── refRegistry.ts
│ └── useRegisterRef.ts
├── externals.d.ts
├── globals.d.ts
├── index.html
├── mui.d.ts
├── shell
│ ├── app.config.js
│ ├── components
│ │ ├── AccessDenied.tsx
│ │ ├── AppError
│ │ │ ├── AppError.less
│ │ │ ├── AppError.tsx
│ │ │ └── index.ts
│ │ ├── AppSidebar
│ │ │ └── index.tsx
│ │ ├── CascadingMenuItem
│ │ │ └── index.tsx
│ │ ├── Comment
│ │ │ ├── CommentItem.tsx
│ │ │ ├── CommentsList.tsx
│ │ │ ├── ConfirmDeleteModal.tsx
│ │ │ ├── InputField.tsx
│ │ │ ├── MentionList.tsx
│ │ │ ├── index.tsx
│ │ │ └── utils.ts
│ │ ├── ConfirmPublishModal.tsx
│ │ ├── CreateContentItemDialog.tsx
│ │ ├── CustomBreadcrumbs.tsx
│ │ ├── DataGridSkeletonCell
│ │ │ └── index.tsx
│ │ ├── DirtyCodeModal
│ │ │ ├── DirtyCodeModal.tsx
│ │ │ └── index.tsx
│ │ ├── Favicon
│ │ │ ├── favicon.less
│ │ │ └── index.tsx
│ │ ├── FieldTypeBlockSelector
│ │ │ ├── NoVariant.tsx
│ │ │ ├── VariantSelector.tsx
│ │ │ └── index.tsx
│ │ ├── FieldTypeColor
│ │ │ └── index.tsx
│ │ ├── FieldTypeCurrency
│ │ │ ├── currencies.ts
│ │ │ └── index.tsx
│ │ ├── FieldTypeDate
│ │ │ └── index.tsx
│ │ ├── FieldTypeDateTime
│ │ │ ├── index.tsx
│ │ │ └── util.ts
│ │ ├── FieldTypeEditor
│ │ │ ├── Converter.js
│ │ │ ├── Editors
│ │ │ │ ├── Basic.js
│ │ │ │ ├── Basic.less
│ │ │ │ ├── EmbedModal
│ │ │ │ │ ├── EmbedModal.js
│ │ │ │ │ ├── EmbedModal.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── Html.js
│ │ │ │ ├── Html.less
│ │ │ │ ├── Inline.js
│ │ │ │ ├── Inline.less
│ │ │ │ ├── LinkModal
│ │ │ │ │ ├── LinkModal.js
│ │ │ │ │ ├── LinkModal.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── Markdown.js
│ │ │ │ ├── Markdown.less
│ │ │ │ ├── prosemirror-views
│ │ │ │ │ ├── IframeResizeView.js
│ │ │ │ │ ├── ImageResizeView.js
│ │ │ │ │ └── VideoResizeView.js
│ │ │ │ ├── react-prosemirror-menu
│ │ │ │ │ ├── characters.js
│ │ │ │ │ ├── icons.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── inline-menu.js
│ │ │ │ │ └── menu.js
│ │ │ │ ├── react-prosemirror-plugins
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── keys.js
│ │ │ │ │ ├── plugins.js
│ │ │ │ │ └── rules.js
│ │ │ │ ├── react-prosemirror-schema
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── marks.js
│ │ │ │ │ └── nodes
│ │ │ │ │ │ ├── blockquote.js
│ │ │ │ │ │ ├── br.js
│ │ │ │ │ │ ├── code.js
│ │ │ │ │ │ ├── div.js
│ │ │ │ │ │ ├── heading.js
│ │ │ │ │ │ ├── hr.js
│ │ │ │ │ │ ├── iframe.js
│ │ │ │ │ │ ├── image.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── lists.js
│ │ │ │ │ │ ├── paragraph.js
│ │ │ │ │ │ ├── script.js
│ │ │ │ │ │ ├── table.js
│ │ │ │ │ │ └── video.js
│ │ │ │ └── react-prosemirror
│ │ │ │ │ ├── Editor.js
│ │ │ │ │ ├── HtmlEditor.js
│ │ │ │ │ ├── MenuBar.js
│ │ │ │ │ └── MenuBar.module.less
│ │ │ ├── FieldTypeEditor.js
│ │ │ ├── FieldTypeEditor.less
│ │ │ └── index.js
│ │ ├── FieldTypeImage
│ │ │ ├── FieldTypeImage.js
│ │ │ ├── FieldTypeImage.less
│ │ │ └── index.js
│ │ ├── FieldTypeInternalLink
│ │ │ ├── FieldTypeInternalLink.js
│ │ │ ├── FieldTypeInternalLink.less
│ │ │ └── index.js
│ │ ├── FieldTypeNumber.tsx
│ │ ├── FieldTypeOneToMany
│ │ │ └── index.tsx
│ │ ├── FieldTypeOneToOne
│ │ │ └── index.tsx
│ │ ├── FieldTypeSort
│ │ │ └── index.tsx
│ │ ├── FieldTypeTinyMCE
│ │ │ ├── index.tsx
│ │ │ └── plugins
│ │ │ │ ├── imageresizer.ts
│ │ │ │ ├── slashcommands.ts
│ │ │ │ └── socialmediaembed.ts
│ │ ├── FieldTypeUUID
│ │ │ ├── FieldTypeUUID.js
│ │ │ ├── FieldTypeUUID.less
│ │ │ └── index.js
│ │ ├── Filters
│ │ │ ├── DateFilter
│ │ │ │ ├── DateFilter.tsx
│ │ │ │ ├── DateFilterModal.tsx
│ │ │ │ ├── DateRangeFilterModal.tsx
│ │ │ │ ├── getDateFilter.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── DateRangeFilter.tsx
│ │ │ ├── FilterButton.tsx
│ │ │ ├── GenericFilter.tsx
│ │ │ ├── UserFilter.tsx
│ │ │ └── index.ts
│ │ ├── GlobalAccountMenu
│ │ │ ├── config.ts
│ │ │ └── index.tsx
│ │ ├── GlobalDocsMenu
│ │ │ ├── config.ts
│ │ │ └── index.tsx
│ │ ├── GlobalDomainsMenu
│ │ │ └── index.tsx
│ │ ├── GlobalSearch
│ │ │ ├── components
│ │ │ │ ├── AdvancedSearch.tsx
│ │ │ │ ├── GlobalSearchItem.tsx
│ │ │ │ ├── KeywordSearchItem.tsx
│ │ │ │ ├── RecentSearchItem.tsx
│ │ │ │ ├── SearchAccelerator.tsx
│ │ │ │ └── config.ts
│ │ │ ├── index.tsx
│ │ │ └── utils.ts
│ │ ├── GlobalTopbar
│ │ │ ├── DomainSwitcher.tsx
│ │ │ ├── GlobalTopbar.tsx
│ │ │ └── index.ts
│ │ ├── Head
│ │ │ ├── Head.js
│ │ │ ├── Head.less
│ │ │ ├── HeadTag
│ │ │ │ ├── HeadTag.js
│ │ │ │ ├── HeadTag.less
│ │ │ │ └── index.js
│ │ │ ├── Preview
│ │ │ │ ├── Preview.js
│ │ │ │ ├── Preview.less
│ │ │ │ └── index.js
│ │ │ └── index.js
│ │ ├── InAppAnnouncement
│ │ │ └── index.tsx
│ │ ├── InstanceFlyoutMenuModal
│ │ │ ├── DocsMenu.tsx
│ │ │ ├── DomainsMenu.tsx
│ │ │ ├── InstancesListMenu.tsx
│ │ │ ├── SearchEmptyState.tsx
│ │ │ └── index.tsx
│ │ ├── InteractiveTooltip
│ │ │ └── index.tsx
│ │ ├── InvalidUrl.tsx
│ │ ├── InviteMembersModal
│ │ │ ├── ConfirmationDialog.tsx
│ │ │ ├── RoleAccessInfo.tsx
│ │ │ ├── RoleSelectModal.tsx
│ │ │ └── index.tsx
│ │ ├── LegacyContentSearch
│ │ │ ├── index.js
│ │ │ └── styles.less
│ │ ├── LoadingQuote
│ │ │ └── index.tsx
│ │ ├── MetricsCard
│ │ │ ├── GrowthIndicator.tsx
│ │ │ └── index.tsx
│ │ ├── NavTree
│ │ │ ├── components
│ │ │ │ └── NavTreeItem.tsx
│ │ │ └── index.tsx
│ │ ├── NoPermission.tsx
│ │ ├── NoSearchResults
│ │ │ └── index.tsx
│ │ ├── NotFound.tsx
│ │ ├── NumberFormatInput
│ │ │ └── index.tsx
│ │ ├── RelationalFieldBase
│ │ │ ├── ActiveItem
│ │ │ │ ├── ActiveItemLoading.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── CreateNewItemDialog.tsx
│ │ │ ├── FieldSelectorDialog
│ │ │ │ ├── DialogHeader.tsx
│ │ │ │ ├── FieldSelectorFilters.tsx
│ │ │ │ ├── ImageCell.tsx
│ │ │ │ ├── ItemsLoading.tsx
│ │ │ │ ├── TitleCell.tsx
│ │ │ │ ├── VersionCell.tsx
│ │ │ │ ├── dateFilter.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── keywordSearchFilter.ts
│ │ │ │ ├── statusFilter.ts
│ │ │ │ └── userFilter.ts
│ │ │ ├── VersionChip.tsx
│ │ │ └── index.tsx
│ │ ├── ResizeableContainer.tsx
│ │ ├── SchedulePublish
│ │ │ └── index.tsx
│ │ ├── Staging.tsx
│ │ ├── global-menu
│ │ │ └── index.tsx
│ │ ├── global-notifications
│ │ │ ├── GlobalNotifications.js
│ │ │ ├── GlobalNotifications.less
│ │ │ └── index.js
│ │ ├── global-sidebar
│ │ │ ├── GlobalSidebar.tsx
│ │ │ ├── components
│ │ │ │ ├── InstanceAvatar.tsx
│ │ │ │ ├── InstanceMenu
│ │ │ │ │ ├── DropdownMenu.tsx
│ │ │ │ │ ├── Flyouts
│ │ │ │ │ │ └── InstancesList.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ └── OnboardingCall.tsx
│ │ │ └── index.js
│ │ ├── global-tabs
│ │ │ ├── GlobalTabs.tsx
│ │ │ ├── components
│ │ │ │ ├── Breadcrumbs
│ │ │ │ │ ├── Breadcrumbs.js
│ │ │ │ │ ├── Breadcrumbs.less
│ │ │ │ │ └── index.js
│ │ │ │ ├── Dropdown.tsx
│ │ │ │ ├── GlobalDirtyCodeModal.tsx
│ │ │ │ └── Tab.tsx
│ │ │ └── index.ts
│ │ ├── load-instance
│ │ │ ├── LoadInstance.less
│ │ │ ├── NoInstancePermission.tsx
│ │ │ └── index.js
│ │ ├── login
│ │ │ ├── Login.js
│ │ │ ├── Login.less
│ │ │ └── index.js
│ │ ├── missing
│ │ │ └── index.tsx
│ │ ├── private-route
│ │ │ └── index.js
│ │ ├── utils
│ │ │ └── virtualization.tsx
│ │ ├── welcome
│ │ │ └── index.js
│ │ ├── withAi
│ │ │ ├── AIGenerator.tsx
│ │ │ ├── AIGeneratorProvider.tsx
│ │ │ └── index.tsx
│ │ ├── withCursorPosition
│ │ │ └── index.tsx
│ │ └── withDAM.tsx
│ ├── constants.ts
│ ├── contexts
│ │ ├── CommentProvider.tsx
│ │ ├── CreateContentItemDialogProvider.tsx
│ │ └── duoModeContext.ts
│ ├── hooks
│ │ ├── use-domain.ts
│ │ ├── use-permissions.js
│ │ ├── useDateFilterParams.ts
│ │ ├── useFilePath.js
│ │ ├── useGetActiveApp.ts
│ │ ├── useHover.js
│ │ ├── useMetaKey.js
│ │ ├── useParams.ts
│ │ ├── useRecentSearches.ts
│ │ ├── useResizeObserver.ts
│ │ ├── useSearchCodeFilesByKeyword.ts
│ │ ├── useSearchMediaFoldersByKeyword.ts
│ │ └── useSearchModelsByKeyword.ts
│ ├── index.js
│ ├── package-lock.json
│ ├── package.json
│ ├── services
│ │ ├── accounts.ts
│ │ ├── analytics.ts
│ │ ├── cloudFunctions.ts
│ │ ├── instance.ts
│ │ ├── marketing.ts
│ │ ├── mediaManager.ts
│ │ ├── metrics.ts
│ │ ├── types.ts
│ │ └── util.js
│ ├── store
│ │ ├── apps.js
│ │ ├── auth.js
│ │ ├── content.js
│ │ ├── contentVersions.js
│ │ ├── fields.js
│ │ ├── headTags.js
│ │ ├── index.js
│ │ ├── instance.js
│ │ ├── instances.js
│ │ ├── languages.js
│ │ ├── logs.js
│ │ ├── media-revamp.ts
│ │ ├── media.js
│ │ ├── middleware
│ │ │ ├── api.js
│ │ │ ├── app-bus.js
│ │ │ ├── local-storage.js
│ │ │ ├── nav.js
│ │ │ ├── relationship-worker.js
│ │ │ └── session.js
│ │ ├── models.js
│ │ ├── notifications.ts
│ │ ├── platform.js
│ │ ├── products.js
│ │ ├── releaseMembers.js
│ │ ├── releases.js
│ │ ├── settings.js
│ │ ├── types.ts
│ │ ├── ui.ts
│ │ ├── user.js
│ │ ├── userRole.js
│ │ └── users.js
│ ├── views
│ │ ├── SearchPage
│ │ │ ├── BackButton.tsx
│ │ │ ├── CopyButton.tsx
│ │ │ ├── Filters
│ │ │ │ ├── LanguageFilter.tsx
│ │ │ │ ├── ResourceTypeFilter.tsx
│ │ │ │ ├── SortByFilter.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── LinksContainer.tsx
│ │ │ ├── List
│ │ │ │ ├── Code.tsx
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── Media.tsx
│ │ │ │ ├── Model.tsx
│ │ │ │ ├── SearchListItem.tsx
│ │ │ │ └── SearchPageList.tsx
│ │ │ ├── SearchPage.tsx
│ │ │ └── index.tsx
│ │ └── Shell
│ │ │ ├── AIDrawer.tsx
│ │ │ ├── LoadingShell.tsx
│ │ │ ├── Shell.less
│ │ │ ├── Shell.tsx
│ │ │ └── index.js
│ ├── wdyr.js
│ └── webpack.config.js
├── utility
│ ├── batchApiRequests.ts
│ ├── deepFreeze.js
│ ├── filterByParams.js
│ ├── formatDate.ts
│ ├── formatMediaFileName.js
│ ├── formatName.js
│ ├── formatPathPart.js
│ ├── getFlagEmoji.ts
│ ├── history.ts
│ ├── idb.ts
│ ├── instanceZUID.js
│ ├── isZestyEmail.ts
│ ├── md5.js
│ ├── numberFormatter.js
│ ├── pluralizeWord.ts
│ ├── request.js
│ ├── resolveResourceType.js
│ ├── resolveResourceUrlFromAudit.ts
│ └── sentry.js
└── vendors
│ └── common
│ └── dnd.js
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://EditorConfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
15 | [*.{yml,yaml}]
16 | indent_size = 2
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/enhancement_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Enhancement request
3 | about: Request for a functionality enhancement on an existing feature on this project.
4 | title: "[APP NAME] - [DESCRIPTION OF THE ENHANCEMENT REQUEST]"
5 | labels: '["enhancement"]'
6 | assignees: ""
7 | type: "Feature"
8 | ---
9 |
10 | ## Current behavior
11 |
12 | Describe the current behavior of the feature that you would like to be changed.
13 |
14 | ## Proposed change
15 |
16 | A clear and concise description of what you want to happen.
17 |
18 | ## Design
19 |
20 | A link to the UI design related to the feature request.
21 |
22 | ## Additional notes
23 |
24 | Add any other context about the feature request here.
25 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Request for a new feature for this project.
4 | title: "[APP NAME] - [DESCRIPTION OF THE FEATURE REQUEST]"
5 | labels: '["feature"]'
6 | assignees: ""
7 | type: "Feature"
8 | ---
9 |
10 | ## Problem
11 |
12 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13 |
14 | ## Solution
15 |
16 | A clear and concise description of what you want to happen.
17 |
18 | ## Design
19 |
20 | A link to the UI design related to the feature request.
21 |
22 | ## Additional notes
23 |
24 | Add any other context about the feature request here.
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # File Extensions
2 | *.sublime-*
3 | *.log
4 | *.lock
5 | *.css.json
6 |
7 | # secrets
8 | *.env*
9 | *.enc
10 |
11 | /build
12 | *dist/
13 | *node_modules/
14 |
15 | .vscode
16 | .DS_Store
17 | .idea
18 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | npx --no-install pretty-quick --staged
5 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v16
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:alpine
2 |
3 | COPY ./etc/nginx.conf /etc/nginx/nginx.conf
4 | COPY ./build /www
5 |
6 | RUN chmod -R a+r /www
7 |
--------------------------------------------------------------------------------
/app.yaml:
--------------------------------------------------------------------------------
1 | service: manager-ui
2 |
3 | runtime: custom
4 | env: flex
5 |
6 | automatic_scaling:
7 | min_num_instances: 2
8 | max_num_instances: 5
9 | cool_down_period_sec: 180
10 | cpu_utilization:
11 | target_utilization: 0.8
12 |
13 | liveness_check:
14 | path: "/liveness_check"
15 | check_interval_sec: 30
16 | timeout_sec: 4
17 | failure_threshold: 2
18 | success_threshold: 2
19 |
20 | readiness_check:
21 | path: "/readiness_check"
22 | check_interval_sec: 5
23 | timeout_sec: 4
24 | failure_threshold: 2
25 | success_threshold: 2
26 | app_start_timeout_sec: 300
27 |
--------------------------------------------------------------------------------
/cypress/.gitignore:
--------------------------------------------------------------------------------
1 | /screenshots
2 | /videos
3 |
--------------------------------------------------------------------------------
/cypress/README.md:
--------------------------------------------------------------------------------
1 | # Manager-UI Testing
2 |
3 | > Notes on the cypress testing process
4 |
5 | ## Custom Commands
6 |
7 | There are few custom commands we have created to simplify the process of writing tests against the manager-ui.
8 |
9 | ### `blockLock`
10 |
11 | Zesty is a multitennant app with a lock feature that presents a modal when USER X is viewing the same resource as USER Y. This modal can layover UI being tested causing the default Cypress behavior of failing on interaction with out of view elements. We solve this by including this statement which intercepts the /door/knock API request and stubs an empty response, preventing the lock modal from displaying.
12 |
13 | ### `waitOn`
14 |
15 | ### `login`
16 |
--------------------------------------------------------------------------------
/cypress/e2e/blocks/pages/BlockPage.js:
--------------------------------------------------------------------------------
1 | class BlockPage {
2 | get createVariantButton() {
3 | return cy.getBySelector("create-variant-button");
4 | }
5 |
6 | createVariant(name) {
7 | this.createVariantButton.click();
8 | cy.getBySelector("variant-name-input").type(name);
9 | cy.getBySelector("create-variant-confirm-button").click();
10 | }
11 | }
12 |
13 | export default new BlockPage();
14 |
--------------------------------------------------------------------------------
/cypress/e2e/content/failures.spec.js:
--------------------------------------------------------------------------------
1 | describe("Actions in content editor", () => {
2 | before(() => {
3 | //initial login to set the cookie
4 | cy.login();
5 | });
6 |
7 | // TODO: render error message for missing required field
8 | it.skip("Fails to save without filling all required fields", () => {
9 | cy.visit("/content/6-2543d4-dx4l70/7-255694-4gmw9w");
10 |
11 | cy.contains("Page Title").get("input[name='title']").clear();
12 | cy.get("#SaveItemButton").click();
13 | cy.contains("You are missing data in required textarea").should("exist");
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/cypress/e2e/content/item-list-table.spec.js:
--------------------------------------------------------------------------------
1 | describe("Content item list table", () => {
2 | it("Resolves internal link zuids", () => {
3 | cy.waitOn("/search/items*", () => {
4 | cy.waitOn("/v1/content/models*", () => {
5 | cy.visit("/content/6-a1a600-k0b6f0");
6 | });
7 | });
8 |
9 | cy.getBySelector("SingleRelationshipCell", { timeout: 30000 })
10 | .first()
11 | .contains(
12 | "5 Tricks to Teach Your Pitbull: Fun & Easy Tips for You & Your Dog!",
13 | { timeout: 15_000 }
14 | );
15 | });
16 | });
17 |
--------------------------------------------------------------------------------
/cypress/e2e/content/multi-lang.spec.js:
--------------------------------------------------------------------------------
1 | describe("multi-lang", () => {
2 | it("Check if multi lang exist", () => {
3 | cy.waitOn(
4 | "/v1/content/models/6-a4d6e6f087-1jmlbx/items/7-b8da98dea8-1nwkc9",
5 | () => {
6 | cy.visit("/content/6-a4d6e6f087-1jmlbx/7-b8da98dea8-1nwkc9");
7 | }
8 | );
9 |
10 | cy.getBySelector("language-selector").click();
11 |
12 | cy.contains("ES (ES)");
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/cypress/e2e/settings/fonts.spec.js:
--------------------------------------------------------------------------------
1 | describe("Fonts", () => {
2 | before(() => {
3 | cy.visit("/settings");
4 | });
5 |
6 | it("Install font", () => {
7 | cy.get("[data-cy=SettingsNav]").contains("Browse fonts").click();
8 | cy.get("[data-cy=SubApp] input[type=checkbox]").first().check();
9 |
10 | cy.get("#InstallFont").click();
11 |
12 | cy.contains("Font installed").should("exist");
13 | });
14 |
15 | it("Removes a font", () => {
16 | cy.get("[data-cy=SettingsNav]").contains("Installed fonts").click();
17 | cy.get("#RemoveFont").first().click();
18 | cy.get(".MuiDialog-root button").last().click();
19 |
20 | cy.contains("Font has been removed").should("exist");
21 | });
22 | });
23 |
--------------------------------------------------------------------------------
/cypress/fixtures/example.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Using fixtures to represent data",
3 | "email": "hello@cypress.io",
4 | "body": "Fixtures are a great way to mock data for responses to routes"
5 | }
6 |
--------------------------------------------------------------------------------
/cypress/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "types": ["cypress", "node"],
4 | "jsx": "react-jsx",
5 | "resolveJsonModule": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/etc/ssl/myCA.srl:
--------------------------------------------------------------------------------
1 | 6DF9AA54720C2AC8A0BFC19FE9065E2296D7EC53
2 |
--------------------------------------------------------------------------------
/etc/ssl/zesty.io.ext:
--------------------------------------------------------------------------------
1 | [ v3_req ]
2 |
3 | # Extensions to add to a certificate request
4 | authorityKeyIdentifier=keyid,issuer
5 | basicConstraints=CA:FALSE
6 | keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
7 | subjectAltName = @alt_names
8 |
9 | # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
10 | [alt_names]
11 | DNS.1 = zesty.io
12 | DNS.2 = dev.zesty.io
13 | DNS.3 = manager.dev.zesty.io
14 | DNS.4 = *.manager.dev.zesty.io
--------------------------------------------------------------------------------
/index.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.png";
2 | declare module "*.jpg";
3 | declare module "*.svg";
4 |
--------------------------------------------------------------------------------
/public/images/FFFFFF-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/FFFFFF-0.png
--------------------------------------------------------------------------------
/public/images/addFieldsImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/addFieldsImage.png
--------------------------------------------------------------------------------
/public/images/all-models-empty-state-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/all-models-empty-state-image.png
--------------------------------------------------------------------------------
/public/images/allBlocksEmpty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/allBlocksEmpty.png
--------------------------------------------------------------------------------
/public/images/blockPlaceholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/blockPlaceholder.png
--------------------------------------------------------------------------------
/public/images/block_contact_us_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/block_contact_us_form.png
--------------------------------------------------------------------------------
/public/images/block_feature_side_by_side_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/block_feature_side_by_side_image.png
--------------------------------------------------------------------------------
/public/images/block_hero_image_below.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/block_hero_image_below.png
--------------------------------------------------------------------------------
/public/images/block_hero_side_by_side_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/block_hero_side_by_side_image.png
--------------------------------------------------------------------------------
/public/images/block_single_testimonial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/block_single_testimonial.png
--------------------------------------------------------------------------------
/public/images/blocksOnboarding1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/blocksOnboarding1.png
--------------------------------------------------------------------------------
/public/images/blocksOnboarding2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/blocksOnboarding2.png
--------------------------------------------------------------------------------
/public/images/blocksOnboarding3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/blocksOnboarding3.png
--------------------------------------------------------------------------------
/public/images/bynder-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/bynder-preview.png
--------------------------------------------------------------------------------
/public/images/csvImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/csvImg.png
--------------------------------------------------------------------------------
/public/images/defaultImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/defaultImg.png
--------------------------------------------------------------------------------
/public/images/emptyItemsList.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/emptyItemsList.png
--------------------------------------------------------------------------------
/public/images/excelImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/excelImg.png
--------------------------------------------------------------------------------
/public/images/fields-loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/fields-loading.png
--------------------------------------------------------------------------------
/public/images/fileBroken.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/fileBroken.jpg
--------------------------------------------------------------------------------
/public/images/flags/ae.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/am.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/at.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/ax.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/public/images/flags/az.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/bb.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/bd.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/be.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/bf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/bg.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/bh.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/bj.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/public/images/flags/bl.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/bq.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/bs.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/bv.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/bw.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/ca.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/cd.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/cg.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/public/images/flags/ch.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/images/flags/ci.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/cl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/co.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/cp.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/cr.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/cu.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/cz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/de.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/dj.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/dk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/dz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/ee.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/es-ct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/es-pv.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/fi.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/fo.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/public/images/flags/fr.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/ga.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/gb-eng.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/gb-sct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/gb.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/gf.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/gg.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/images/flags/gh.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/gl.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/gm.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/public/images/flags/gn.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/gp.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/gy.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/images/flags/hu.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/ic.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/id.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/ie.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/is.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/public/images/flags/it.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/jm.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/jp.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/images/flags/kw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/la.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/public/images/flags/lc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/lt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/lu.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/lv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/ly.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/ma.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/mc.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/mf.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/mg.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/mk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/ml.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/mq.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/mr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/mu.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/mv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/ne.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/ng.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/nl.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/no.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/nr.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/public/images/flags/pe.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/pl.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/pm.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/pr.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/ps.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/public/images/flags/pw.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/images/flags/qa.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/re.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/ro.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/ru.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/sc.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/sd.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/se.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/sh.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/sj.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/sl.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/sn.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/so.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/images/flags/sr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/ss.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/sy.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/td.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/th.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/tl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/tn.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/to.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/public/images/flags/tr.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/tt.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/tz.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/flags/ua.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/public/images/flags/um.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/images/flags/us.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/images/flags/vc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/public/images/flags/vn.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/public/images/flags/wf.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/flags/ws.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/xx.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/public/images/flags/ye.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/public/images/flags/yt.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/public/images/googleAnalyticsLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/googleAnalyticsLogo.png
--------------------------------------------------------------------------------
/public/images/googleChromeLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/googleChromeLogo.png
--------------------------------------------------------------------------------
/public/images/guide1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/guide1.png
--------------------------------------------------------------------------------
/public/images/guide2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/guide2.png
--------------------------------------------------------------------------------
/public/images/guide3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/guide3.png
--------------------------------------------------------------------------------
/public/images/headlessLogos.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/headlessLogos.jpg
--------------------------------------------------------------------------------
/public/images/hybridLogos.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/hybridLogos.jpg
--------------------------------------------------------------------------------
/public/images/ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/ipad.png
--------------------------------------------------------------------------------
/public/images/iphone-14-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/iphone-14-camera.png
--------------------------------------------------------------------------------
/public/images/iphone-14-pro-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/iphone-14-pro-camera.png
--------------------------------------------------------------------------------
/public/images/iphone-14-pro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/iphone-14-pro.png
--------------------------------------------------------------------------------
/public/images/iphone-14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/iphone-14.png
--------------------------------------------------------------------------------
/public/images/lineChartSkeleton3.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/public/images/microsoftIcon.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/public/images/microsoftLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/microsoftLogo.png
--------------------------------------------------------------------------------
/public/images/mpImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/mpImg.png
--------------------------------------------------------------------------------
/public/images/noSearchResults.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/noSearchResults.jpg
--------------------------------------------------------------------------------
/public/images/nodejsLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/nodejsLogo.png
--------------------------------------------------------------------------------
/public/images/notFound.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/notFound.jpg
--------------------------------------------------------------------------------
/public/images/notFound.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/notFound.png
--------------------------------------------------------------------------------
/public/images/notFoundTransparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/notFoundTransparent.png
--------------------------------------------------------------------------------
/public/images/npmLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/npmLogo.png
--------------------------------------------------------------------------------
/public/images/numberImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/numberImg.png
--------------------------------------------------------------------------------
/public/images/pdfImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/pdfImg.png
--------------------------------------------------------------------------------
/public/images/pixel-7-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/pixel-7-camera.png
--------------------------------------------------------------------------------
/public/images/pixel-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/pixel-7.png
--------------------------------------------------------------------------------
/public/images/pptImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/pptImg.png
--------------------------------------------------------------------------------
/public/images/restricted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/restricted.png
--------------------------------------------------------------------------------
/public/images/sb__avatar__1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/sb__avatar__1.png
--------------------------------------------------------------------------------
/public/images/sb__company__logo__1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/sb__company__logo__1.png
--------------------------------------------------------------------------------
/public/images/sb__hero__image__1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/sb__hero__image__1.png
--------------------------------------------------------------------------------
/public/images/sb__hero__image__2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/sb__hero__image__2.png
--------------------------------------------------------------------------------
/public/images/sb__person__image__1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/sb__person__image__1.png
--------------------------------------------------------------------------------
/public/images/wordImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/wordImg.png
--------------------------------------------------------------------------------
/public/images/zipImg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/images/zipImg.png
--------------------------------------------------------------------------------
/public/plugins/help/index.js:
--------------------------------------------------------------------------------
1 | // Exports the "help" plugin for usage with module loaders
2 | // Usage:
3 | // CommonJS:
4 | // require('tinymce/plugins/help')
5 | // ES2015:
6 | // import 'tinymce/plugins/help'
7 | require("./plugin.js");
8 |
--------------------------------------------------------------------------------
/public/ui/images/clippy.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/_blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/_blank.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/_page.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/aac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/aac.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ai.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/aiff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/aiff.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/avi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/avi.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/bmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/bmp.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/c.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/cpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/cpp.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/css.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/css.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/dat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/dat.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/dmg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/dmg.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/doc.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/dotx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/dotx.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/dwg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/dwg.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/dxf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/dxf.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/eps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/eps.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/exe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/exe.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/flv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/flv.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/gif.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/gif.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/h.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/hpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/hpp.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/html.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/html.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ics.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/iso.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/iso.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/java.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/java.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/jpg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/jpg.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/js.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/js.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/key.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/less.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/less.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/mid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/mid.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/mp3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/mp3.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/mp4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/mp4.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/mpg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/mpg.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/odf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/odf.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ods.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/odt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/odt.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/otp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/otp.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ots.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ott.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ott.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/pdf.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/php.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/php.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/png.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/png.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/ppt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/ppt.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/psd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/psd.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/py.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/py.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/qt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/qt.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/rar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/rar.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/rb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/rb.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/rtf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/rtf.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/sass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/sass.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/scss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/scss.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/sql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/sql.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/tga.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/tga.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/tgz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/tgz.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/tiff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/tiff.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/txt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/txt.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/wav.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/wav.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/xls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/xls.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/xlsx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/xlsx.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/xml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/xml.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/yml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/yml.png
--------------------------------------------------------------------------------
/public/ui/images/icons/file_types/48px/zip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/ui/images/icons/file_types/48px/zip.png
--------------------------------------------------------------------------------
/public/vendors/tinymce/content.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #fff;
3 | color: #1b202c;
4 | font-family: Verdana, Arial, Sans-Serif;
5 | font-size: 14px;
6 | font-weight: 400;
7 | line-height: normal;
8 | letter-spacing: 0px;
9 | }
10 |
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/advcode/changelog.txt:
--------------------------------------------------------------------------------
1 | Version 1.2.0 (2018-02-01)
2 | Decreased plugin size by improving build steps.
3 | Version 1.1.1 (2017-12-28)
4 | [BUG] Fixed issue where the ui would be accessed directly instead of though a factory.
5 | Version 1.1.0 (2017-03-01)
6 | [FEATURE] Added HTML autocomplete addon. Open a new tag by writing '<' and a dropdown menu will appear showing a list of suggestions of HTML tags that narrows down as you continue writing. #TINY-556
7 | Version 1.0.2 (2016-10-25)
8 | [FEATURE] Added version detection logic that check if this plugin is used with a compatible tinymce version. #TINY-639
9 |
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/advcode/license.txt:
--------------------------------------------------------------------------------
1 | EPHOX SOFTWARE TERMS & CONDITIONS OF USE
2 |
3 | Use of this software is covered by the Ephox Software Terms & Conditions of Use presented at http://www.ephox.com/legal. By use of this Software you have agreed to the Ephox Software Terms & Conditions of Use.
4 |
5 | 4 May 2015
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/advcode/version.txt:
--------------------------------------------------------------------------------
1 | 2.0.0-92
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/formatpainter/changelog.txt:
--------------------------------------------------------------------------------
1 | Version 1.1.0 (2019-03-28)
2 | Changed so that formats registered by the format painter are namespaced with a prefix #FOPA-25
3 | Added checklist and liststyletype format registration #FOPA-7
4 | Fixed an issue that made the format painter too lenient when matching/reading formats #FOPA-23
5 | Fixed an issue where applying formats with keyboard shortcut would toggle off the format painter #FOPA-22
6 | Fixed an issue where formats with selectors would be handled incorrectly #FOPA-22
7 | Version 1.0.0 (2019-01-07)
8 | Initial release.
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/formatpainter/version.txt:
--------------------------------------------------------------------------------
1 | 1.1.0-23
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/mediaembed/license.txt:
--------------------------------------------------------------------------------
1 | EPHOX SOFTWARE TERMS & CONDITIONS OF USE
2 |
3 | Use of this software is covered by the Ephox Software Terms & Conditions of Use presented at http://www.ephox.com/legal. By use of this Software you have agreed to the Ephox Software Terms & Conditions of Use.
4 |
5 | 4 May 2015
6 |
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/mediaembed/version.txt:
--------------------------------------------------------------------------------
1 | 2.2.3-91
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/pageembed/changelog.txt:
--------------------------------------------------------------------------------
1 | 1.0.0
2 | * Initial release.
3 |
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/pageembed/version.txt:
--------------------------------------------------------------------------------
1 | 1.0.0-20
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/powerpaste/license.txt:
--------------------------------------------------------------------------------
1 | EPHOX SOFTWARE TERMS & CONDITIONS OF USE
2 |
3 | Use of this software is covered by the Ephox Software Terms & Conditions of Use presented at http://www.ephox.com/legal. By use of this Software you have agreed to the Ephox Software Terms & Conditions of Use.
4 |
5 | 4 May 2015
--------------------------------------------------------------------------------
/public/vendors/tinymce/plugins/powerpaste/version.txt:
--------------------------------------------------------------------------------
1 | 5.1.0-412
--------------------------------------------------------------------------------
/public/vendors/tinymce/skins/ui/Zesty/fonts/tinymce-mobile.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zesty-io/manager-ui/9e8343318bad7090dd129abf8762f3fa700a4767/public/vendors/tinymce/skins/ui/Zesty/fonts/tinymce-mobile.woff
--------------------------------------------------------------------------------
/src/apps/active-preview/components/Frame/index.js:
--------------------------------------------------------------------------------
1 | export { Frame, templates } from "./Frame";
2 |
--------------------------------------------------------------------------------
/src/apps/active-preview/components/JSONPreview/JSONPreview.less:
--------------------------------------------------------------------------------
1 | @import "~@zesty-io/core/colors.less";
2 | @import "~@zesty-io/core/typography.less";
3 |
4 | .JSONPreview {
5 | background-color: @white;
6 | height: 100%;
7 | overflow: auto;
8 | }
9 |
--------------------------------------------------------------------------------
/src/apps/active-preview/components/JSONPreview/index.js:
--------------------------------------------------------------------------------
1 | import { JSONPreview } from "./JSONPreview";
2 | export { JSONPreview };
3 |
--------------------------------------------------------------------------------
/src/apps/active-preview/components/Meta/Meta.less:
--------------------------------------------------------------------------------
1 | @import "~@zesty-io/core/colors.less";
2 | @import "~@zesty-io/core/typography.less";
3 |
4 | .Meta {
5 | background-color: @appBkgColor;
6 | .ModalHeader {
7 | margin-bottom: 32px;
8 | h1 {
9 | word-break: break-all;
10 | }
11 | }
12 | .Item {
13 | ul {
14 | margin: 8px 0 8px 16px;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/apps/active-preview/components/Meta/index.js:
--------------------------------------------------------------------------------
1 | import { Meta } from "./Meta";
2 | export { Meta };
3 |
--------------------------------------------------------------------------------
/src/apps/active-preview/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from "react-dom";
2 | import { Preview } from "./Preview";
3 | import { ThemeProvider } from "@mui/material/styles";
4 | import { theme } from "@zesty-io/material";
5 |
6 | // interploated by webpack at build time
7 | window.CONFIG = __CONFIG__;
8 |
9 | ReactDOM.render(
10 |
`) wrapping one or more blocks. 4 | export const blockquote = { 5 | content: "text*", 6 | group: "block", 7 | defining: true, 8 | attrs: attributes(), 9 | parseDOM: [ 10 | { 11 | tag: "blockquote", 12 | getAttrs(dom) { 13 | return getElementAttrs(dom); 14 | }, 15 | }, 16 | ], 17 | toDOM(node) { 18 | return ["blockquote", node.attrs, ["p", 0]]; 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/Editors/react-prosemirror-schema/nodes/br.js: -------------------------------------------------------------------------------- 1 | import { getElementAttrs, attributes } from "./index.js"; 2 | 3 | // :: NodeSpec A hard line break, represented in the DOM as `
`. 4 | export const br = { 5 | inline: true, 6 | group: "inline", 7 | selectable: false, 8 | attrs: attributes(), 9 | parseDOM: [ 10 | { 11 | tag: "br", 12 | getAttrs(dom) { 13 | return getElementAttrs(dom); 14 | }, 15 | }, 16 | ], 17 | toDOM(node) { 18 | return ["br", node.attrs]; 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/Editors/react-prosemirror-schema/nodes/div.js: -------------------------------------------------------------------------------- 1 | import { getElementAttrs, attributes } from "./index.js"; 2 | 3 | export const div = { 4 | content: "block+", 5 | group: "block", 6 | attrs: attributes(), 7 | parseDOM: [ 8 | { 9 | tag: "div", 10 | getAttrs(dom) { 11 | return getElementAttrs(dom); 12 | }, 13 | }, 14 | ], 15 | toDOM(node) { 16 | return ["div", node.attrs, 0]; 17 | }, 18 | }; 19 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/Editors/react-prosemirror-schema/nodes/hr.js: -------------------------------------------------------------------------------- 1 | import { getElementAttrs, attributes } from "./index.js"; 2 | 3 | // :: NodeSpec A horizontal rule (`
`). 4 | export const hr = { 5 | group: "block", 6 | attrs: attributes(), 7 | parseDOM: [ 8 | { 9 | tag: "hr", 10 | getAttrs(dom) { 11 | return getElementAttrs(dom); 12 | }, 13 | }, 14 | ], 15 | toDOM(node) { 16 | return ["hr", node.attrs]; 17 | }, 18 | }; 19 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/Editors/react-prosemirror-schema/nodes/lists.js: -------------------------------------------------------------------------------- 1 | import { orderedList, bulletList, listItem } from "prosemirror-schema-list"; 2 | 3 | export const ordered_list = { 4 | ...orderedList, 5 | content: "list_item+", 6 | group: "block", 7 | }; 8 | export const bullet_list = { 9 | ...bulletList, 10 | content: "list_item+", 11 | group: "block", 12 | }; 13 | export const list_item = { 14 | ...listItem, 15 | content: "paragraph block*", 16 | group: "block", 17 | }; 18 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/Editors/react-prosemirror-schema/nodes/paragraph.js: -------------------------------------------------------------------------------- 1 | import { getElementAttrs, attributes } from "./index.js"; 2 | 3 | // :: NodeSpec A plain paragraph textblock. Represented in the DOM 4 | // as a `` element. 5 | export const paragraph = { 6 | content: "inline*", 7 | group: "block", 8 | attrs: attributes(), 9 | parseDOM: [ 10 | { 11 | tag: "p", 12 | getAttrs(dom) { 13 | return getElementAttrs(dom); 14 | }, 15 | }, 16 | ], 17 | toDOM(node) { 18 | return ["p", node.attrs, 0]; 19 | }, 20 | }; 21 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeEditor/index.js: -------------------------------------------------------------------------------- 1 | export { FieldTypeEditor } from "./FieldTypeEditor.js"; 2 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeImage/index.js: -------------------------------------------------------------------------------- 1 | export { FieldTypeImage } from "./FieldTypeImage"; 2 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeInternalLink/FieldTypeInternalLink.less: -------------------------------------------------------------------------------- 1 | .FieldTypeInternalLink { 2 | span { 3 | span { 4 | width: 100px; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeInternalLink/index.js: -------------------------------------------------------------------------------- 1 | export { FieldTypeInternalLink } from "./FieldTypeInternalLink"; 2 | -------------------------------------------------------------------------------- /src/shell/components/FieldTypeUUID/index.js: -------------------------------------------------------------------------------- 1 | export { FieldTypeUUID } from "./FieldTypeUUID"; 2 | -------------------------------------------------------------------------------- /src/shell/components/Filters/DateFilter/index.ts: -------------------------------------------------------------------------------- 1 | import { DateFilter } from "./DateFilter"; 2 | import { DateFilterValue } from "./types"; 3 | import { getDateFilterFn } from "./getDateFilter"; 4 | 5 | export { DateFilter, DateFilterValue, getDateFilterFn }; 6 | -------------------------------------------------------------------------------- /src/shell/components/Filters/DateFilter/types.ts: -------------------------------------------------------------------------------- 1 | export type PresetType = 2 | | "today" 3 | | "yesterday" 4 | | "last_7_days" 5 | | "last_14_days" 6 | | "last_30_days" 7 | | "last_3_months" 8 | | "last_12_months" 9 | | "this_week" 10 | | "this_year" 11 | | "quarter_to_date"; 12 | export type DateFilterModalType = "on" | "before" | "after" | "daterange" | ""; 13 | export interface DateRangeFilterValue { 14 | from: string | null; 15 | to: string | null; 16 | } 17 | 18 | export interface DateFilterValue { 19 | type: "preset" | DateFilterModalType; 20 | value: PresetType | DateRangeFilterValue | string; 21 | } 22 | -------------------------------------------------------------------------------- /src/shell/components/Filters/index.ts: -------------------------------------------------------------------------------- 1 | import { FilterButton } from "./FilterButton"; 2 | import { UserFilter } from "./UserFilter"; 3 | import { DateFilter } from "./DateFilter"; 4 | import { DateRangeFilter, DateRangeFilterValue } from "./DateRangeFilter"; 5 | import { GenericFilter } from "./GenericFilter"; 6 | 7 | export { 8 | FilterButton, 9 | UserFilter, 10 | DateFilter, 11 | DateRangeFilter, 12 | DateRangeFilterValue, 13 | GenericFilter, 14 | }; 15 | -------------------------------------------------------------------------------- /src/shell/components/GlobalTopbar/index.ts: -------------------------------------------------------------------------------- 1 | import { GlobalTopbar } from "./GlobalTopbar"; 2 | export default GlobalTopbar; 3 | -------------------------------------------------------------------------------- /src/shell/components/Head/Head.less: -------------------------------------------------------------------------------- 1 | @import "~@zesty-io/core/colors.less"; 2 | @import "~@zesty-io/core/typography.less"; 3 | 4 | .Head { 5 | height: 100%; 6 | display: flex; 7 | flex-direction: column-reverse; 8 | display: grid; 9 | grid-template-columns: minmax(400px, 1fr) 1fr; 10 | .Tags { 11 | height: 100%; 12 | overflow-y: scroll; 13 | margin-left: 16px; 14 | } 15 | 16 | .Notice { 17 | display: flex; 18 | align-items: center; 19 | margin: 20px 16px 32px 16px; 20 | color: #5b667d; 21 | font-size: 14px; 22 | } 23 | 24 | .NoTags { 25 | margin: 32px; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/shell/components/Head/HeadTag/HeadTag.less: -------------------------------------------------------------------------------- 1 | @import "~@zesty-io/core/colors.less"; 2 | 3 | .HeadTag { 4 | &:hover, 5 | &:focus { 6 | .CardHeader { 7 | button { 8 | display: flex; 9 | } 10 | } 11 | } 12 | 13 | .DropDown { 14 | width: 210px; 15 | } 16 | 17 | .Pair { 18 | align-items: flex-end; 19 | display: flex; 20 | margin: 8px 0; 21 | gap: 8px; 22 | 23 | &:hover, 24 | &:focus { 25 | button { 26 | visibility: visible; 27 | } 28 | } 29 | 30 | .Value { 31 | width: 100%; 32 | } 33 | } 34 | } 35 | .Global { 36 | background-color: lighten(@zesty-gray, 15%); 37 | } 38 | -------------------------------------------------------------------------------- /src/shell/components/Head/HeadTag/index.js: -------------------------------------------------------------------------------- 1 | export { HeadTag } from "./HeadTag"; 2 | -------------------------------------------------------------------------------- /src/shell/components/Head/Preview/Preview.less: -------------------------------------------------------------------------------- 1 | .TagPreviewWrap { 2 | background: #333333; 3 | overflow: scroll; 4 | 5 | .TagPreview { 6 | height: 100%; 7 | font-size: 14px; 8 | font-family: "Courier New", Courier, monospace; 9 | padding: 16px; 10 | color: lightgray; 11 | 12 | .Tag { 13 | color: lightseagreen; 14 | } 15 | .localTag { 16 | color: gold; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/shell/components/Head/Preview/index.js: -------------------------------------------------------------------------------- 1 | export { Preview } from "./Preview"; 2 | -------------------------------------------------------------------------------- /src/shell/components/Head/index.js: -------------------------------------------------------------------------------- 1 | import Head from "./Head"; 2 | export { Head }; 3 | -------------------------------------------------------------------------------- /src/shell/components/RelationalFieldBase/FieldSelectorDialog/userFilter.ts: -------------------------------------------------------------------------------- 1 | import { GridFilterOperator } from "@mui/x-data-grid-pro"; 2 | 3 | export const userFilterOperator: GridFilterOperator = { 4 | label: "equals", 5 | value: "userEquals", 6 | getApplyFilterFn: (filterItem) => { 7 | if (!filterItem.value) { 8 | return null; 9 | } 10 | 11 | return (params): boolean => { 12 | const version = params.value; 13 | return version?.itemData?.meta?.createdByUserZUID === filterItem.value; 14 | }; 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /src/shell/components/Staging.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from "react"; 2 | import { Box } from "@mui/material"; 3 | import zestyLogo from "../../../public/images/zestyLogo.svg"; 4 | 5 | export const Staging: FC = (props) => { 6 | return ( 7 |
17 | {props.children} 18 | 26 | ); 27 | }; 28 | -------------------------------------------------------------------------------- /src/shell/components/global-notifications/index.js: -------------------------------------------------------------------------------- 1 | import GlobalNotifications from "./GlobalNotifications"; 2 | export { GlobalNotifications }; 3 | -------------------------------------------------------------------------------- /src/shell/components/global-sidebar/index.js: -------------------------------------------------------------------------------- 1 | import GlobalSidebar from "./GlobalSidebar"; 2 | export default GlobalSidebar; 3 | -------------------------------------------------------------------------------- /src/shell/components/global-tabs/components/Breadcrumbs/Breadcrumbs.less: -------------------------------------------------------------------------------- 1 | @import "~@zesty-io/core/colors.less"; 2 | 3 | .Breadcrumbs { 4 | display: flex; 5 | .Home { 6 | padding: 0 4px 0 0; 7 | } 8 | 9 | .Crumbs { 10 | display: flex; 11 | flex-wrap: wrap; 12 | 13 | li { 14 | list-style: none; 15 | display: flex; 16 | align-items: center; 17 | 18 | a { 19 | word-break: keep-all; 20 | padding: 0 4px; 21 | color: #ff5d0a; 22 | } 23 | } 24 | } 25 | 26 | svg { 27 | padding: 0px 4px; 28 | } 29 | 30 | svg:first-child { 31 | padding: 0; 32 | color: #ff5d0a; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/shell/components/global-tabs/components/Breadcrumbs/index.js: -------------------------------------------------------------------------------- 1 | import Breadcrumbs from "./Breadcrumbs"; 2 | export { Breadcrumbs }; 3 | -------------------------------------------------------------------------------- /src/shell/components/global-tabs/index.ts: -------------------------------------------------------------------------------- 1 | import GlobalTabs from "./GlobalTabs"; 2 | export default GlobalTabs; 3 | -------------------------------------------------------------------------------- /src/shell/components/load-instance/LoadInstance.less: -------------------------------------------------------------------------------- 1 | .ErrorMessage { 2 | display: flex; 3 | justify-content: center; 4 | align-items: center; 5 | height: 100vh; 6 | flex-direction: column; 7 | } 8 | -------------------------------------------------------------------------------- /src/shell/components/login/Login.less: -------------------------------------------------------------------------------- 1 | @import "~@zesty-io/core/colors.less"; 2 | @import "~@zesty-io/core/typography.less"; 3 | 4 | .Login { 5 | width: 600px; 6 | 7 | form { 8 | .message { 9 | margin: 0 0 16px; 10 | } 11 | } 12 | .error { 13 | margin-top: 16px; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/shell/components/login/index.js: -------------------------------------------------------------------------------- 1 | import Login from "./Login"; 2 | export default Login; 3 | -------------------------------------------------------------------------------- /src/shell/components/welcome/index.js: -------------------------------------------------------------------------------- 1 | import { connect } from "react-redux"; 2 | 3 | export default connect()(function Welcome() { 4 | return ( 5 |25 | 6 | 10 | ); 11 | }); 12 | -------------------------------------------------------------------------------- /src/shell/constants.ts: -------------------------------------------------------------------------------- 1 | import ListRoundedIcon from "@mui/icons-material/ListRounded"; 2 | import { FileTable, Block } from "@zesty-io/material"; 3 | import DescriptionRoundedIcon from "@mui/icons-material/DescriptionRounded"; 4 | 5 | export const MODEL_ICON = { 6 | templateset: DescriptionRoundedIcon, 7 | dataset: FileTable, 8 | pageset: ListRoundedIcon, 9 | block: Block, 10 | } as const; 11 | 12 | export const MODEL_NAME = { 13 | templateset: "Single Page", 14 | dataset: "Dataset", 15 | pageset: "Multi Page", 16 | block: "Block", 17 | } as const; 18 | -------------------------------------------------------------------------------- /src/shell/contexts/duoModeContext.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from "react"; 2 | 3 | type DuoModeContextType = { 4 | value: boolean; 5 | setValue: (newValue: boolean) => void; 6 | isDisabled: boolean; 7 | }; 8 | 9 | export const DuoModeContext = createContext7 | Welcome to Zesty.io 8 |
9 |( 10 | undefined 11 | ); 12 | -------------------------------------------------------------------------------- /src/shell/hooks/useGetActiveApp.ts: -------------------------------------------------------------------------------- 1 | import { useMemo } from "react"; 2 | import { useLocation } from "react-router-dom"; 3 | 4 | /** 5 | * This hook is used to find out which app the user is currently using 6 | */ 7 | interface UseGetActiveApp { 8 | mainApp: string; 9 | subApp: string; 10 | } 11 | export const useGetActiveApp: () => UseGetActiveApp = () => { 12 | const { pathname } = useLocation(); 13 | 14 | const activeApp: UseGetActiveApp = useMemo(() => { 15 | return { 16 | mainApp: pathname.split("/")[1], 17 | subApp: pathname.split("/")[2] ?? "", 18 | }; 19 | }, [pathname]); 20 | 21 | return activeApp; 22 | }; 23 | -------------------------------------------------------------------------------- /src/shell/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "app-shell", 3 | "version": "1.0.0", 4 | "description": "Root application shell to coordinate all manager experiences", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "cross-env NODE_ENV=development ../../node_modules/.bin/webpack --display=errors-only --progress --watch", 8 | "build": "cross-env ../../node_modules/.bin/webpack --display=errors-only --progress -p" 9 | }, 10 | "devDependencies": { 11 | "cross-env": "^7.0.2" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/shell/store/middleware/app-bus.js: -------------------------------------------------------------------------------- 1 | export const appBus = 2 | (store) => 3 | (next) => 4 | (action = {}) => { 5 | const state = store.getState(); 6 | 7 | if (state.apps.frames.length) { 8 | state.apps.frames.forEach((frame) => { 9 | frame?.contentWindow?.postMessage({ 10 | source: "zesty", 11 | action, 12 | }); 13 | }); 14 | } 15 | 16 | // Ensure we continue redux action handling 17 | return next(action); 18 | }; 19 | -------------------------------------------------------------------------------- /src/shell/store/middleware/nav.js: -------------------------------------------------------------------------------- 1 | import { fetchNav } from "../../../apps/content-editor/src/store/navContent"; 2 | 3 | export const nav = (store) => (next) => (action) => { 4 | switch (action.type) { 5 | // update content nav and store to indexedDB 6 | case "CREATE_LINK": 7 | case "CREATE_ITEM": 8 | case "REMOVE_LINK": 9 | case "REMOVE_ITEM": 10 | case "REORDER_NAV": 11 | store.dispatch(fetchNav()); 12 | break; 13 | } 14 | 15 | return next(action); 16 | }; 17 | -------------------------------------------------------------------------------- /src/shell/store/platform.js: -------------------------------------------------------------------------------- 1 | export function platform(state = {}, action) { 2 | switch (action.type) { 3 | case "DETECT_PLATFORM": 4 | return { 5 | ...state, 6 | isMac: action.payload.isMac, 7 | }; 8 | 9 | default: 10 | return state; 11 | } 12 | } 13 | 14 | export function detectPlatform() { 15 | return (dispatch) => { 16 | return dispatch({ 17 | type: "DETECT_PLATFORM", 18 | payload: { 19 | isMac: navigator.platform.toUpperCase().indexOf("MAC") >= 0, 20 | }, 21 | }); 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /src/shell/views/SearchPage/BackButton.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from "react"; 2 | 3 | import CloseIcon from "@mui/icons-material/Close"; 4 | import { useHistory } from "react-router"; 5 | import { IconButton } from "@mui/material"; 6 | 7 | export const BackButton: FC = () => { 8 | const history = useHistory(); 9 | if (history.action === "POP") { 10 | return null; 11 | } 12 | return ( 13 | history.goBack()} 16 | data-cy="CloseSearchPage" 17 | > 18 | 20 | ); 21 | }; 22 | -------------------------------------------------------------------------------- /src/shell/views/SearchPage/index.tsx: -------------------------------------------------------------------------------- 1 | import { SearchPage } from "./SearchPage"; 2 | export default SearchPage; 3 | -------------------------------------------------------------------------------- /src/shell/views/Shell/index.js: -------------------------------------------------------------------------------- 1 | import Shell from "./Shell"; 2 | export default Shell; 3 | 4 | console.log(` 5 | ####### 6 | # ###### #### ##### # # # #### 7 | # # # # # # # # # 8 | # ##### #### # # # # # 9 | # # # # # ### # # # 10 | # # # # # # ### # # # 11 | ####### ###### #### # # ### # #### 12 | 13 | Hello there from the Zesty.io team. 14 | If you are looking to understand how this application is built or need to submit a bug report 15 | visit our public repository: https://github.com/zesty-io/manager-ui 16 | `); 17 | -------------------------------------------------------------------------------- /src/shell/wdyr.js: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | 3 | if (process.env.NODE_ENV === "development") { 4 | const whyDidYouRender = require("@welldone-software/why-did-you-render"); 5 | whyDidYouRender(React, { 6 | trackAllPureComponents: true, 7 | trackExtraHooks: [[require("react-redux/lib"), "useSelector"]], 8 | }); 9 | } 10 | -------------------------------------------------------------------------------- /src/utility/deepFreeze.js: -------------------------------------------------------------------------------- 1 | export function deepFreeze(obj) { 2 | // Retrieve the property names defined on obj 3 | var propNames = Object.getOwnPropertyNames(obj); 4 | 5 | // Freeze properties before freezing self 6 | propNames.forEach(function (name) { 7 | var prop = obj[name]; 8 | 9 | // Freeze prop if it is an object 10 | if (typeof prop == "object" && prop !== null) deepFreeze(prop); 11 | }); 12 | 13 | // Freeze self (no-op if already frozen) 14 | return Object.freeze(obj); 15 | } 16 | -------------------------------------------------------------------------------- /src/utility/formatMediaFileName.js: -------------------------------------------------------------------------------- 1 | export const formatMediaFilename = (str) => str.replace(/[^a-z\d-.]/gi, "-"); 2 | -------------------------------------------------------------------------------- /src/utility/formatName.js: -------------------------------------------------------------------------------- 1 | export const formatName = (str) => 2 | str 3 | .replace(/[^a-zA-Z0-9\_\\s]+/gi, "_") 4 | .toLowerCase() 5 | .trim(); 6 | -------------------------------------------------------------------------------- /src/utility/formatPathPart.js: -------------------------------------------------------------------------------- 1 | export const formatPathPart = (str) => 2 | str 3 | .replace(/[^a-zA-Z0-9\_\\s]+/gi, "-") 4 | .toLowerCase() 5 | .trim(); 6 | -------------------------------------------------------------------------------- /src/utility/getFlagEmoji.ts: -------------------------------------------------------------------------------- 1 | export default (countryCode: string) => { 2 | // Convert country code to flag emoji. 3 | // Unicode flag emojis are made up of regional indicator symbols, which are a sequence of two letters. 4 | const baseOffset = 0x1f1e6; 5 | return ( 6 | String.fromCodePoint(baseOffset + (countryCode.charCodeAt(0) - 65)) + 7 | String.fromCodePoint(baseOffset + (countryCode.charCodeAt(1) - 65)) 8 | ); 9 | }; 10 | -------------------------------------------------------------------------------- /src/utility/history.ts: -------------------------------------------------------------------------------- 1 | type NavModal = null | ((callback: (result: boolean) => void) => void); 2 | 3 | declare global { 4 | interface Window { 5 | openContentNavigationModal: NavModal; 6 | openCodeNavigationModal: NavModal; 7 | } 8 | } 9 | 10 | import { createBrowserHistory } from "history"; 11 | const history = createBrowserHistory({ 12 | getUserConfirmation(message, callback) { 13 | if (message === "content_confirm") { 14 | window.openContentNavigationModal(callback); 15 | } else if (message === "code_confirm") { 16 | window.openCodeNavigationModal(callback); 17 | } else { 18 | callback(true); 19 | } 20 | }, 21 | }); 22 | export default history; 23 | -------------------------------------------------------------------------------- /src/utility/instanceZUID.js: -------------------------------------------------------------------------------- 1 | const instanceZUID = window.location.host.split(".")[0]; 2 | export default instanceZUID; 3 | -------------------------------------------------------------------------------- /src/utility/isZestyEmail.ts: -------------------------------------------------------------------------------- 1 | export function isZestyEmail(email: string): boolean { 2 | return ( 3 | email.endsWith("@zesty.io") || 4 | email.endsWith("@kin.com") || 5 | email.endsWith("@geo-blue.com") || 6 | email.endsWith("@bpcreates.com") 7 | ); 8 | } 9 | -------------------------------------------------------------------------------- /src/utility/numberFormatter.js: -------------------------------------------------------------------------------- 1 | export const numberFormatter = Intl.NumberFormat("en", { 2 | notation: "compact", 3 | maximumFractionDigits: 2, 4 | }); 5 | -------------------------------------------------------------------------------- /src/utility/pluralizeWord.ts: -------------------------------------------------------------------------------- 1 | export default (word: string, count: number) => { 2 | return count > 1 ? `${word}s` : word; 3 | }; 4 | -------------------------------------------------------------------------------- /src/utility/resolveResourceType.js: -------------------------------------------------------------------------------- 1 | export const resolveResourceType = (ZUID) => { 2 | if (ZUID.startsWith("7")) { 3 | return "content"; 4 | } else if (ZUID.startsWith("6")) { 5 | return "schema"; 6 | } else if (ZUID.startsWith("10") || ZUID.startsWith("11")) { 7 | return "code"; 8 | } else { 9 | return "settings"; 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src", "index.d.ts"], 3 | "compilerOptions": { 4 | "noImplicitAny": true, 5 | "allowJs": true, 6 | "module": "es6", 7 | "target": "esnext", 8 | "jsx": "react-jsx", 9 | "moduleResolution": "node", 10 | "sourceMap": true, 11 | "allowSyntheticDefaultImports": true, 12 | "esModuleInterop": true, 13 | "types": ["react"] 14 | } 15 | } 16 | --------------------------------------------------------------------------------19 |