chaipro 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/IconPicker-I7VNLYZ4.js +5 -0
- package/dist/actions-DM00SIUk.d.cts +899 -0
- package/dist/actions-DM00SIUk.d.ts +899 -0
- package/dist/actions-registery-SEJTZE5Q.js +1 -0
- package/dist/active-in-another-tab-SONDAONP.js +1 -0
- package/dist/add-new-language-page-TI6DUYYX.js +1 -0
- package/dist/add-new-page-LBHXICXO.js +1 -0
- package/dist/ai-block-floating-prompt-input-ESY5GQLZ.js +1 -0
- package/dist/ai-panel-content-62I6FDQF.css +1 -0
- package/dist/ai-panel-content-UZJZ463W.js +1 -0
- package/dist/ai-panel-default-lang-2ZXZYQRT.js +6 -0
- package/dist/ai-panel-default-lang-ETFOFFEF.css +1 -0
- package/dist/ai-panel-for-image-LADQP6VY.js +1 -0
- package/dist/ai-panel-other-lang-WDLC3M2M.js +1 -0
- package/dist/ai-panel-page-chat-7ZISZWY4.js +4 -0
- package/dist/ai-panel-page-chat-N4YFJGAM.css +1 -0
- package/dist/ai-prompt-input-CPT5ETQ4.js +1 -0
- package/dist/ai-theme-generator-7PS4BX52.js +1 -0
- package/dist/ai-translation-prompt-3VE2ECGR.js +1 -0
- package/dist/blocks-CMvgDlxw.d.ts +72 -0
- package/dist/blocks-CP-Pngaz.d.cts +72 -0
- package/dist/build-config-CCERdThN.d.ts +80 -0
- package/dist/build-config-DrerOPd9.d.cts +80 -0
- package/dist/builder.cjs +243 -0
- package/dist/builder.css +1 -0
- package/dist/builder.d.cts +352 -0
- package/dist/builder.d.ts +352 -0
- package/dist/builder.js +1 -0
- package/dist/chaibuilder-instance-DNz3Q-dY.d.cts +579 -0
- package/dist/chaibuilder-instance-qroszVwI.d.ts +579 -0
- package/dist/change-password-modal-NJL7ZLTY.js +1 -0
- package/dist/chunk-2AFM6557.js +3 -0
- package/dist/chunk-2N4IJZOR.js +1 -0
- package/dist/chunk-2NYUIXUX.js +1 -0
- package/dist/chunk-2PJZUYIZ.js +1 -0
- package/dist/chunk-32HH35VD.js +1 -0
- package/dist/chunk-346H4FEX.js +1 -0
- package/dist/chunk-34HIOUTE.js +1 -0
- package/dist/chunk-374QEK4F.js +1 -0
- package/dist/chunk-3E72DJSP.js +1 -0
- package/dist/chunk-3IT7IIAV.js +1 -0
- package/dist/chunk-3UEPBBE4.js +11 -0
- package/dist/chunk-3XSKJBPH.js +1 -0
- package/dist/chunk-45ELAD2J.js +1 -0
- package/dist/chunk-4JBHWPMO.js +1 -0
- package/dist/chunk-4P25MV5E.js +1 -0
- package/dist/chunk-4PQNBY3V.js +1 -0
- package/dist/chunk-4VNLL2IA.js +1 -0
- package/dist/chunk-55SU3QPU.js +1 -0
- package/dist/chunk-5ZC65NB6.js +1 -0
- package/dist/chunk-6M7V7BOM.js +1 -0
- package/dist/chunk-6TXCHU4K.js +1 -0
- package/dist/chunk-777N6WHB.js +1 -0
- package/dist/chunk-7C4EQOAR.js +12 -0
- package/dist/chunk-7EXZXKW2.js +1 -0
- package/dist/chunk-7QWMLDCG.js +1 -0
- package/dist/chunk-AOJE5WI3.js +1 -0
- package/dist/chunk-ATLMLDBS.js +1 -0
- package/dist/chunk-AVGF3YLU.js +17 -0
- package/dist/chunk-BQSLQHLD.js +1 -0
- package/dist/chunk-BWORNCTE.js +1 -0
- package/dist/chunk-BYGD5CDT.js +1 -0
- package/dist/chunk-CA5PVX24.js +1 -0
- package/dist/chunk-CFNOB42V.js +1 -0
- package/dist/chunk-CJP3BQH2.js +1 -0
- package/dist/chunk-CRJENCPR.js +1 -0
- package/dist/chunk-D5SKCKSB.js +1 -0
- package/dist/chunk-DZ72OHTD.js +1 -0
- package/dist/chunk-EPGOG22Q.js +0 -0
- package/dist/chunk-ERCY63ZW.js +1 -0
- package/dist/chunk-ESCX7KEH.js +1 -0
- package/dist/chunk-F2V4N3LT.js +156 -0
- package/dist/chunk-F7YMHPEA.js +1 -0
- package/dist/chunk-FERH2TPR.js +1 -0
- package/dist/chunk-FLSV2QGU.js +1 -0
- package/dist/chunk-FOKGOT6B.js +1 -0
- package/dist/chunk-GJOOCKUE.js +1 -0
- package/dist/chunk-HA7LF3RV.js +1 -0
- package/dist/chunk-HAKJOMCL.js +1 -0
- package/dist/chunk-HEKCKC7N.js +1 -0
- package/dist/chunk-HELRVKD2.js +3 -0
- package/dist/chunk-I7ODKVVX.js +1 -0
- package/dist/chunk-IAKCX2WB.js +1 -0
- package/dist/chunk-IB2C3TWH.js +1 -0
- package/dist/chunk-IH562KSP.js +1 -0
- package/dist/chunk-IP4JBQOX.js +1 -0
- package/dist/chunk-ITX7QWN6.js +1 -0
- package/dist/chunk-IUACZ3E6.js +6 -0
- package/dist/chunk-J7Q62EP7.js +1 -0
- package/dist/chunk-JBB5IJFA.js +1 -0
- package/dist/chunk-JPJRO4NU.js +1 -0
- package/dist/chunk-JUIS55JT.js +1 -0
- package/dist/chunk-JYBTQ3YX.js +5 -0
- package/dist/chunk-K5YWQY4U.js +1 -0
- package/dist/chunk-K6RHR4HT.js +1 -0
- package/dist/chunk-LNV5MRGV.js +1 -0
- package/dist/chunk-LRJREWRD.js +1 -0
- package/dist/chunk-LWYDGDPW.js +1 -0
- package/dist/chunk-MDMGXS5B.js +1 -0
- package/dist/chunk-MEROMQQX.js +1 -0
- package/dist/chunk-N7Z4RFFI.js +1 -0
- package/dist/chunk-NSQEQYEM.js +1 -0
- package/dist/chunk-OD3K76M6.js +1 -0
- package/dist/chunk-ODSL3KXG.js +1 -0
- package/dist/chunk-OJJDRACB.js +1 -0
- package/dist/chunk-ONSZ462E.js +1 -0
- package/dist/chunk-OQZ4EPOM.js +1 -0
- package/dist/chunk-OR7KKUYT.js +1 -0
- package/dist/chunk-OSGXFZTA.js +1 -0
- package/dist/chunk-PM3JNOZH.js +1 -0
- package/dist/chunk-PQHFT4TE.js +1 -0
- package/dist/chunk-QGVCH2NI.js +1 -0
- package/dist/chunk-QIGSSVEY.js +1 -0
- package/dist/chunk-R5ZTCDFD.js +1 -0
- package/dist/chunk-RBDZDQZR.js +1 -0
- package/dist/chunk-ROQRBSK6.js +1 -0
- package/dist/chunk-SSENH35Y.js +1 -0
- package/dist/chunk-SYPALJAE.js +1 -0
- package/dist/chunk-T2YYNX6Z.js +1 -0
- package/dist/chunk-T32TW3XV.js +1 -0
- package/dist/chunk-T56KQBE2.js +1 -0
- package/dist/chunk-TEL5ACJE.js +1 -0
- package/dist/chunk-TGJQC6VC.js +1 -0
- package/dist/chunk-TQ34DGOT.js +1 -0
- package/dist/chunk-TVF77C53.js +1 -0
- package/dist/chunk-UIDBBTCZ.js +3 -0
- package/dist/chunk-VKSRWZCO.js +1 -0
- package/dist/chunk-VL5WBPVV.js +1 -0
- package/dist/chunk-VUWHFLT7.js +22 -0
- package/dist/chunk-WEVKAJMV.js +1 -0
- package/dist/chunk-WHPIYGCY.js +1 -0
- package/dist/chunk-WNESLH23.js +1 -0
- package/dist/chunk-WOT6VMZA.js +1 -0
- package/dist/chunk-WSQ5SQBD.js +1 -0
- package/dist/chunk-XY4UJKHE.js +1 -0
- package/dist/chunk-Y2BHO7OO.js +1 -0
- package/dist/chunk-YDOQEFOK.js +1 -0
- package/dist/chunk-YEFMD4DS.js +1 -0
- package/dist/chunk-YQ5QQCRD.js +1 -0
- package/dist/chunk-YQPOFRXU.js +1 -0
- package/dist/chunk-YTPQSO7V.js +801 -0
- package/dist/chunk-ZAU65LBG.js +1 -0
- package/dist/chunk-ZRFCEMYU.js +1 -0
- package/dist/chunk-ZU2B5YT6.js +1 -0
- package/dist/chunk-ZXKKBKGV.js +1 -0
- package/dist/code-display-7346IUCO.js +1 -0
- package/dist/code-editor-UBGTTX2L.js +1 -0
- package/dist/components/ui/accordion.cjs +1 -0
- package/dist/components/ui/accordion.d.cts +9 -0
- package/dist/components/ui/accordion.d.ts +9 -0
- package/dist/components/ui/accordion.js +1 -0
- package/dist/components/ui/alert-dialog.cjs +1 -0
- package/dist/components/ui/alert-dialog.d.cts +23 -0
- package/dist/components/ui/alert-dialog.d.ts +23 -0
- package/dist/components/ui/alert-dialog.js +1 -0
- package/dist/components/ui/alert.cjs +1 -0
- package/dist/components/ui/alert.d.cts +11 -0
- package/dist/components/ui/alert.d.ts +11 -0
- package/dist/components/ui/alert.js +1 -0
- package/dist/components/ui/avatar.cjs +1 -0
- package/dist/components/ui/avatar.d.cts +8 -0
- package/dist/components/ui/avatar.d.ts +8 -0
- package/dist/components/ui/avatar.js +1 -0
- package/dist/components/ui/badge.cjs +1 -0
- package/dist/components/ui/badge.d.cts +13 -0
- package/dist/components/ui/badge.d.ts +13 -0
- package/dist/components/ui/badge.js +1 -0
- package/dist/components/ui/button.cjs +1 -0
- package/dist/components/ui/button.d.cts +15 -0
- package/dist/components/ui/button.d.ts +15 -0
- package/dist/components/ui/button.js +1 -0
- package/dist/components/ui/card.cjs +1 -0
- package/dist/components/ui/card.d.cts +10 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.js +1 -0
- package/dist/components/ui/checkbox.cjs +1 -0
- package/dist/components/ui/checkbox.d.cts +6 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/components/ui/checkbox.js +1 -0
- package/dist/components/ui/command.cjs +1 -0
- package/dist/components/ui/command.d.cts +83 -0
- package/dist/components/ui/command.d.ts +83 -0
- package/dist/components/ui/command.js +1 -0
- package/dist/components/ui/context-menu.cjs +1 -0
- package/dist/components/ui/context-menu.d.cts +30 -0
- package/dist/components/ui/context-menu.d.ts +30 -0
- package/dist/components/ui/context-menu.js +1 -0
- package/dist/components/ui/dialog.cjs +1 -0
- package/dist/components/ui/dialog.d.cts +22 -0
- package/dist/components/ui/dialog.d.ts +22 -0
- package/dist/components/ui/dialog.js +1 -0
- package/dist/components/ui/dropdown-menu.cjs +1 -0
- package/dist/components/ui/dropdown-menu.d.cts +30 -0
- package/dist/components/ui/dropdown-menu.d.ts +30 -0
- package/dist/components/ui/dropdown-menu.js +1 -0
- package/dist/components/ui/hover-card.cjs +1 -0
- package/dist/components/ui/hover-card.d.cts +8 -0
- package/dist/components/ui/hover-card.d.ts +8 -0
- package/dist/components/ui/hover-card.js +1 -0
- package/dist/components/ui/input.cjs +1 -0
- package/dist/components/ui/input.d.cts +5 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/input.js +1 -0
- package/dist/components/ui/label.cjs +1 -0
- package/dist/components/ui/label.d.cts +8 -0
- package/dist/components/ui/label.d.ts +8 -0
- package/dist/components/ui/label.js +1 -0
- package/dist/components/ui/loader.cjs +1 -0
- package/dist/components/ui/loader.d.cts +12 -0
- package/dist/components/ui/loader.d.ts +12 -0
- package/dist/components/ui/loader.js +1 -0
- package/dist/components/ui/navigation-menu.cjs +1 -0
- package/dist/components/ui/navigation-menu.d.cts +15 -0
- package/dist/components/ui/navigation-menu.d.ts +15 -0
- package/dist/components/ui/navigation-menu.js +1 -0
- package/dist/components/ui/popover.cjs +1 -0
- package/dist/components/ui/popover.d.cts +9 -0
- package/dist/components/ui/popover.d.ts +9 -0
- package/dist/components/ui/popover.js +1 -0
- package/dist/components/ui/progress.cjs +1 -0
- package/dist/components/ui/progress.d.cts +8 -0
- package/dist/components/ui/progress.d.ts +8 -0
- package/dist/components/ui/progress.js +1 -0
- package/dist/components/ui/scroll-area.cjs +1 -0
- package/dist/components/ui/scroll-area.d.cts +7 -0
- package/dist/components/ui/scroll-area.d.ts +7 -0
- package/dist/components/ui/scroll-area.js +1 -0
- package/dist/components/ui/select.cjs +1 -0
- package/dist/components/ui/select.d.cts +15 -0
- package/dist/components/ui/select.d.ts +15 -0
- package/dist/components/ui/select.js +1 -0
- package/dist/components/ui/separator.cjs +1 -0
- package/dist/components/ui/separator.d.cts +6 -0
- package/dist/components/ui/separator.d.ts +6 -0
- package/dist/components/ui/separator.js +1 -0
- package/dist/components/ui/sheet.cjs +1 -0
- package/dist/components/ui/sheet.d.cts +29 -0
- package/dist/components/ui/sheet.d.ts +29 -0
- package/dist/components/ui/sheet.js +1 -0
- package/dist/components/ui/skeleton.cjs +1 -0
- package/dist/components/ui/skeleton.d.cts +5 -0
- package/dist/components/ui/skeleton.d.ts +5 -0
- package/dist/components/ui/skeleton.js +1 -0
- package/dist/components/ui/slider.cjs +1 -0
- package/dist/components/ui/slider.d.cts +6 -0
- package/dist/components/ui/slider.d.ts +6 -0
- package/dist/components/ui/slider.js +1 -0
- package/dist/components/ui/switch.cjs +1 -0
- package/dist/components/ui/switch.d.cts +9 -0
- package/dist/components/ui/switch.d.ts +9 -0
- package/dist/components/ui/switch.js +1 -0
- package/dist/components/ui/tabs.cjs +1 -0
- package/dist/components/ui/tabs.d.cts +9 -0
- package/dist/components/ui/tabs.d.ts +9 -0
- package/dist/components/ui/tabs.js +1 -0
- package/dist/components/ui/textarea.cjs +1 -0
- package/dist/components/ui/textarea.d.cts +5 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/textarea.js +1 -0
- package/dist/components/ui/toggle.cjs +1 -0
- package/dist/components/ui/toggle.d.cts +15 -0
- package/dist/components/ui/toggle.d.ts +15 -0
- package/dist/components/ui/toggle.js +1 -0
- package/dist/components/ui/tooltip.cjs +1 -0
- package/dist/components/ui/tooltip.d.cts +9 -0
- package/dist/components/ui/tooltip.d.ts +9 -0
- package/dist/components/ui/tooltip.js +1 -0
- package/dist/config-registry-RSJCAKY5.js +1 -0
- package/dist/continue-editing-in-this-client-QBMOFRLL.js +1 -0
- package/dist/core-BNe4bA6z.d.cts +5455 -0
- package/dist/core-BNe4bA6z.d.ts +5455 -0
- package/dist/css-import-modal-NMFRQGCY.js +13 -0
- package/dist/db/better-sqlite3.cjs +1 -0
- package/dist/db/better-sqlite3.d.cts +16 -0
- package/dist/db/better-sqlite3.d.ts +16 -0
- package/dist/db/better-sqlite3.js +1 -0
- package/dist/db/d1.cjs +1 -0
- package/dist/db/d1.d.cts +17 -0
- package/dist/db/d1.d.ts +17 -0
- package/dist/db/d1.js +1 -0
- package/dist/db/libsql.cjs +1 -0
- package/dist/db/libsql.d.cts +23 -0
- package/dist/db/libsql.d.ts +23 -0
- package/dist/db/libsql.js +1 -0
- package/dist/db/node-pg.cjs +1 -0
- package/dist/db/node-pg.d.cts +21 -0
- package/dist/db/node-pg.d.ts +21 -0
- package/dist/db/node-pg.js +1 -0
- package/dist/db/postgres.cjs +1 -0
- package/dist/db/postgres.d.cts +28 -0
- package/dist/db/postgres.d.ts +28 -0
- package/dist/db/postgres.js +1 -0
- package/dist/delete-page-CGR6VXZC.css +1 -0
- package/dist/delete-page-FQYTEMBN.js +1 -0
- package/dist/digital-asset-manager-PIZMJEMX.js +1 -0
- package/dist/digital-asset-manager-PSTDGMY2.css +1 -0
- package/dist/dispatch-action-3IV56BNY.js +1 -0
- package/dist/duplicate-page-HPPMQRL3.js +1 -0
- package/dist/dynamic-page-selector-LFHJQLYY.js +1 -0
- package/dist/dynamic-page-selector-SXJQAIGL.css +1 -0
- package/dist/edit-url-panel-Q3NJCV55.js +1 -0
- package/dist/get-blocks-styles-SLZ5NDUF.js +1 -0
- package/dist/get-page-styles-Q4FWW5LX.js +1 -0
- package/dist/image-editor-PLXDYVKE.css +1 -0
- package/dist/image-editor-RSEHWRGV.js +1 -0
- package/dist/json-diff-viewer-FQYK2FUX.js +8 -0
- package/dist/lang-panel-57UGEL6B.css +1 -0
- package/dist/lang-panel-HH5LEOF4.js +1 -0
- package/dist/license-overlay-4Q525E53.js +1 -0
- package/dist/log-ai-request-LHPKU2C5.js +1 -0
- package/dist/manage-design-tokens-264H25A2.js +1 -0
- package/dist/manage-design-tokens-modal-OIWIZ53K.js +1 -0
- package/dist/mark-as-template-7TCCEMGC.js +1 -0
- package/dist/nested-path-selector-content-N4XN7QUS.js +1 -0
- package/dist/nextjs/render-client.cjs +1 -0
- package/dist/nextjs/render-client.css +1 -0
- package/dist/nextjs/render-client.d.cts +14 -0
- package/dist/nextjs/render-client.d.ts +14 -0
- package/dist/nextjs/render-client.js +1 -0
- package/dist/nextjs/render.cjs +829 -0
- package/dist/nextjs/render.d.cts +78 -0
- package/dist/nextjs/render.d.ts +78 -0
- package/dist/nextjs/render.js +1 -0
- package/dist/nextjs/server.cjs +807 -0
- package/dist/nextjs/server.d.cts +329 -0
- package/dist/nextjs/server.d.ts +329 -0
- package/dist/nextjs/server.js +1 -0
- package/dist/nextjs.cjs +1 -0
- package/dist/nextjs.d.cts +17 -0
- package/dist/nextjs.d.ts +17 -0
- package/dist/nextjs.js +1 -0
- package/dist/no-language-page-content-NQIROTIL.js +1 -0
- package/dist/no-language-page-dialog-CWG5PI7N.js +1 -0
- package/dist/page-creator-2L6L6EFV.js +1 -0
- package/dist/page-lock-7HMG34UJ.js +1 -0
- package/dist/page-locked-dialog-ACMWVAZX.js +1 -0
- package/dist/page-manager-new-SCZFNGKO.js +1 -0
- package/dist/page-manager-new-VWRASZTI.css +1 -0
- package/dist/page-manager-search-and-filter-7CHPYAPV.js +1 -0
- package/dist/page-manager-sheet-KZZBKQ6M.js +1 -0
- package/dist/page-manager-sheet-U5YEB5CS.css +1 -0
- package/dist/page-revisions-content-DHPEQ4CA.js +1 -0
- package/dist/page-revisions-trigger-XGC4HOTL.js +1 -0
- package/dist/pages-DlMX1Lj2.d.cts +21 -0
- package/dist/pages-Dol4CXrN.d.ts +21 -0
- package/dist/payload/builder.cjs +243 -0
- package/dist/payload/builder.css +1 -0
- package/dist/payload/builder.d.cts +13 -0
- package/dist/payload/builder.d.ts +13 -0
- package/dist/payload/builder.js +1 -0
- package/dist/payload.cjs +807 -0
- package/dist/payload.d.cts +603 -0
- package/dist/payload.d.ts +603 -0
- package/dist/payload.js +1 -0
- package/dist/preview-banner-SDDZGGRW.js +1 -0
- package/dist/publish-pages-content-3AZ45DYH.js +1 -0
- package/dist/registry.cjs +11 -0
- package/dist/registry.d.cts +74 -0
- package/dist/registry.d.ts +74 -0
- package/dist/registry.js +1 -0
- package/dist/relations-DDBTFCMR.js +1 -0
- package/dist/revalidate-G2DEOH4Z.js +1 -0
- package/dist/rte-widget-modal-7RXFEYHK.js +1 -0
- package/dist/save-to-lib-65EGTZE5.js +1 -0
- package/dist/schema-IVNMPI4V.js +1 -0
- package/dist/schema.sqlite-CYBLikNv.d.cts +5852 -0
- package/dist/schema.sqlite-CYBLikNv.d.ts +5852 -0
- package/dist/seo-panel-WQ47FNP4.css +1 -0
- package/dist/seo-panel-Z6OBXHQ4.js +2 -0
- package/dist/server-config-b29G6_aQ.d.cts +116 -0
- package/dist/server-config-oPlt3V1X.d.ts +116 -0
- package/dist/state-RAP56WXS.js +1 -0
- package/dist/take-over-request-EB464ZGU.js +1 -0
- package/dist/translation-warning-modal-EES6I2QV.js +1 -0
- package/dist/types.cjs +1 -0
- package/dist/types.d.cts +38 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.js +1 -0
- package/dist/unmark-as-template-6STMTBP5.js +1 -0
- package/dist/unpublish-page-CE3CJK5C.js +1 -0
- package/dist/unpublished-partials-modal-OZBWBCLN.js +1 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.d.cts +168 -0
- package/dist/utils.d.ts +168 -0
- package/dist/utils.js +1 -0
- package/dist/web-blocks.cjs +1 -0
- package/dist/web-blocks.d.cts +3 -0
- package/dist/web-blocks.d.ts +3 -0
- package/dist/web-blocks.js +1 -0
- package/dist/web-preview-EIWOXGPY.js +1 -0
- package/package.json +322 -0
package/dist/builder.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.FIE_topbar-save-menu{display:flex;flex-direction:column;gap:0;border-width:1px;padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;line-height:1rem;box-shadow:0 25px 50px -12px #00000040}.FIE_topbar-save-menu-item{font-size:.75rem;line-height:1rem}.FIE_topbar-save-menu-item:hover{background-color:#e5e7eb}.FIE_topbar-save-menu-item>span:first-child{height:1rem;width:1rem}#chai-image-editor-container>button{opacity:0}body{pointer-events:auto!important}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
3
|
+
import { T as ChaiPageType, N as ChaiLibrary, O as ChaiLibraryBlock, aa as ChaiWebsiteBuilderProps, e as AIModel, d as AIEvent, f as AISuccessCallback, c as AIErrorCallback, a as AICompleteCallback, b as AIContext, Q as ChaiPage, ab as ChaiWebsiteSetting, k as ChaiBlock, ag as StructureRule } from './actions-DM00SIUk.cjs';
|
|
4
|
+
export { useTranslation } from 'react-i18next';
|
|
5
|
+
import * as _react_hookz_web from '@react-hookz/web';
|
|
6
|
+
import * as React$1 from 'react';
|
|
7
|
+
import React__default, { ComponentType, ReactNode, LazyExoticComponent } from 'react';
|
|
8
|
+
import 'ai';
|
|
9
|
+
import '@rjsf/utils';
|
|
10
|
+
|
|
11
|
+
type NestedPathSelectorProps = {
|
|
12
|
+
data: Record<string, any>;
|
|
13
|
+
onSelect: (path: string) => void;
|
|
14
|
+
dataType?: "value" | "array" | "object";
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
declare function NestedPathSelector({ data, onSelect, dataType, disabled }: NestedPathSelectorProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
declare const useChaiCurrentPage: () => {
|
|
20
|
+
data: any;
|
|
21
|
+
isFetching: boolean;
|
|
22
|
+
};
|
|
23
|
+
declare const usePrimaryPage: () => {
|
|
24
|
+
data: any;
|
|
25
|
+
isFetching: boolean;
|
|
26
|
+
};
|
|
27
|
+
declare const useCurrentActivePage: () => {
|
|
28
|
+
data: any;
|
|
29
|
+
isFetching: boolean;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Hook to fetch all page data in a single API call
|
|
34
|
+
* Consolidates GET_DRAFT_PAGE, GET_BUILDER_PAGE_DATA, and GET_LANGUAGE_PAGES
|
|
35
|
+
* Uses queryClient.setQueryData to populate individual caches for backward compatibility
|
|
36
|
+
*/
|
|
37
|
+
declare const usePageAllData: () => _tanstack_react_query.UseQueryResult<any, Error>;
|
|
38
|
+
|
|
39
|
+
declare const useBuilderPageData: () => _tanstack_react_query.UseQueryResult<unknown, Error>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* React Query hook to fetch site-wide global data.
|
|
43
|
+
* Global data is the same for all pages and is cached per language.
|
|
44
|
+
* Populated automatically by usePageAllData on initial load.
|
|
45
|
+
*/
|
|
46
|
+
declare const useSiteGlobalData: () => _tanstack_react_query.UseQueryResult<Record<string, unknown>, Error>;
|
|
47
|
+
|
|
48
|
+
declare const usePageTypes: () => _tanstack_react_query.UseQueryResult<ChaiPageType[], Error>;
|
|
49
|
+
|
|
50
|
+
declare const useFallbackLang: () => string;
|
|
51
|
+
|
|
52
|
+
declare const useGotoPage: () => ({ pageId }: {
|
|
53
|
+
pageId: string;
|
|
54
|
+
}) => void;
|
|
55
|
+
|
|
56
|
+
declare const useReloadPage: () => () => Promise<void>;
|
|
57
|
+
declare const useClearAll: () => () => void;
|
|
58
|
+
|
|
59
|
+
declare const useUpdateActivePageMetadata: () => _tanstack_react_query.UseMutationResult<unknown, Error, Record<string, any>, unknown>;
|
|
60
|
+
|
|
61
|
+
declare const defaultChaiLibrary: ({ baseUrl, }?: {
|
|
62
|
+
baseUrl?: string;
|
|
63
|
+
}) => {
|
|
64
|
+
name: string;
|
|
65
|
+
description: string;
|
|
66
|
+
getBlocksList: (_library: ChaiLibrary) => Promise<any[]>;
|
|
67
|
+
getBlock: ({ block }: {
|
|
68
|
+
library: ChaiLibrary;
|
|
69
|
+
block: ChaiLibraryBlock<any>;
|
|
70
|
+
}) => Promise<string>;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
declare const useSavePage: () => {
|
|
74
|
+
savePage: _react_hookz_web.ThrottledFunction<(autoSave?: boolean, force?: boolean) => Promise<true | undefined>>;
|
|
75
|
+
savePageAsync: (force?: boolean) => Promise<true | undefined>;
|
|
76
|
+
saveState: "SAVED" | "SAVING" | "UNSAVED";
|
|
77
|
+
setSaveState: (args_0: "SAVED" | "SAVING" | "UNSAVED" | ((prev: "SAVED" | "SAVING" | "UNSAVED") => "SAVED" | "SAVING" | "UNSAVED")) => void;
|
|
78
|
+
needTranslations: () => boolean;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
declare const ChaiWebsiteBuilder: (props: ChaiWebsiteBuilderProps) => react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
declare const PermissionChecker: ({ permission, permissions, children, fallback, }: {
|
|
84
|
+
permission?: string;
|
|
85
|
+
permissions?: string[];
|
|
86
|
+
fallback?: React.ReactNode;
|
|
87
|
+
children: React.ReactNode;
|
|
88
|
+
}) => React$1.ReactNode;
|
|
89
|
+
|
|
90
|
+
interface SmartJsonInputProps {
|
|
91
|
+
value: string;
|
|
92
|
+
onChange: (value: string) => void;
|
|
93
|
+
disabled?: boolean;
|
|
94
|
+
readOnly?: boolean;
|
|
95
|
+
placeholder?: string;
|
|
96
|
+
rows?: number;
|
|
97
|
+
id?: string;
|
|
98
|
+
pageData?: Record<string, any>;
|
|
99
|
+
handleFieldInsert?: (field: string, inputId: string) => void;
|
|
100
|
+
hasJsonLdForSelectedLang?: boolean;
|
|
101
|
+
copyJsonLDFromDefaultPage?: () => void;
|
|
102
|
+
topRightComponent?: React.ReactNode;
|
|
103
|
+
}
|
|
104
|
+
declare const SmartJsonInput: React.FC<SmartJsonInputProps>;
|
|
105
|
+
|
|
106
|
+
declare const LanguageSwitcher: ({ showAdd, goToDefaultLang, }: {
|
|
107
|
+
showAdd?: boolean;
|
|
108
|
+
goToDefaultLang?: boolean;
|
|
109
|
+
}) => react_jsx_runtime.JSX.Element | null;
|
|
110
|
+
|
|
111
|
+
interface ImagePickerProps {
|
|
112
|
+
assetId?: string;
|
|
113
|
+
assetUrl?: string;
|
|
114
|
+
onChange: (value: {
|
|
115
|
+
url: string;
|
|
116
|
+
id: string;
|
|
117
|
+
}) => void;
|
|
118
|
+
className?: string;
|
|
119
|
+
placeholder?: string;
|
|
120
|
+
disabled?: boolean;
|
|
121
|
+
}
|
|
122
|
+
declare const ImagePicker: React__default.FC<ImagePickerProps>;
|
|
123
|
+
|
|
124
|
+
interface AiPanelContentProps {
|
|
125
|
+
type?: "default" | "floating" | "generate-image";
|
|
126
|
+
models?: AIModel[];
|
|
127
|
+
onAIEvent?: (event: AIEvent) => void;
|
|
128
|
+
onSuccess?: (data: AISuccessCallback) => void;
|
|
129
|
+
onError?: (data: AIErrorCallback) => void;
|
|
130
|
+
onComplete?: (data: AICompleteCallback) => void;
|
|
131
|
+
context?: AIContext;
|
|
132
|
+
[key: string]: any;
|
|
133
|
+
updateLoadingState?: (loading: boolean) => void;
|
|
134
|
+
onImageGenerate?: (url: string) => void;
|
|
135
|
+
}
|
|
136
|
+
declare const AiPanelContent: ({ type, models, onAIEvent, onSuccess, onError, onComplete, context, updateLoadingState, onImageGenerate, ...rest }: AiPanelContentProps) => react_jsx_runtime.JSX.Element;
|
|
137
|
+
|
|
138
|
+
declare const useLanguagePages: (pageId?: string | undefined) => _tanstack_react_query.UseQueryResult<any[] | null, Error>;
|
|
139
|
+
|
|
140
|
+
declare const useWebsitePrimaryPages: () => _tanstack_react_query.UseQueryResult<ChaiPage[], Error>;
|
|
141
|
+
|
|
142
|
+
declare const useApiUrl: () => string;
|
|
143
|
+
|
|
144
|
+
declare const useWebsiteSetting: () => _tanstack_react_query.UseQueryResult<ChaiWebsiteSetting, Error>;
|
|
145
|
+
|
|
146
|
+
declare const useChaiAuth: () => {
|
|
147
|
+
readonly isLoggedIn: boolean;
|
|
148
|
+
readonly user: any;
|
|
149
|
+
readonly logout: any;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
type CheckUserAccessResponse = {
|
|
153
|
+
access: boolean;
|
|
154
|
+
role: string;
|
|
155
|
+
permissions: string[] | null;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Hook to periodically check if the user has access to the app
|
|
159
|
+
* Also returns the user's role and permissions
|
|
160
|
+
* @param checkInterval Interval in seconds (default 300 = 5 mins)
|
|
161
|
+
* @returns Object with access, role, permissions, and loading states
|
|
162
|
+
*/
|
|
163
|
+
declare const useCheckUserAccess: (checkInterval?: number) => _tanstack_react_query.UseQueryResult<CheckUserAccessResponse, Error>;
|
|
164
|
+
|
|
165
|
+
declare const useChaiUserInfo: (currentEditor: string) => _tanstack_react_query.UseQueryResult<any, Error>;
|
|
166
|
+
|
|
167
|
+
declare const useBuilderFetch: () => ({ body, headers, url, streamResponse, options, }: {
|
|
168
|
+
body: {
|
|
169
|
+
action: string;
|
|
170
|
+
data?: any;
|
|
171
|
+
};
|
|
172
|
+
headers?: Record<string, string>;
|
|
173
|
+
url?: string;
|
|
174
|
+
streamResponse?: boolean;
|
|
175
|
+
options?: {
|
|
176
|
+
signal?: AbortSignal;
|
|
177
|
+
};
|
|
178
|
+
}) => Promise<any>;
|
|
179
|
+
declare const useFetch: () => (url: string | undefined, body: {
|
|
180
|
+
action: string;
|
|
181
|
+
data?: any;
|
|
182
|
+
}, headers?: Record<string, string>, streamResponse?: boolean, options?: {
|
|
183
|
+
signal?: AbortSignal;
|
|
184
|
+
}) => Promise<unknown>;
|
|
185
|
+
|
|
186
|
+
declare const CHAI_SLOT_IDS: {
|
|
187
|
+
readonly TOPBAR_LEFT: "topbar-left";
|
|
188
|
+
readonly TOPBAR_CENTER: "topbar-center";
|
|
189
|
+
readonly TOPBAR_RIGHT: "topbar-right";
|
|
190
|
+
readonly MEDIA_MANAGER: "media-manager";
|
|
191
|
+
readonly TOP_BAR: "top-bar";
|
|
192
|
+
readonly BEFORE_OUTLINE: "before-outline";
|
|
193
|
+
readonly AFTER_BLOCK_OPTIONS: "after-block-options";
|
|
194
|
+
readonly AFTER_BODY_BLOCK_OPTIONS: "after-body-block-options";
|
|
195
|
+
readonly AFTER_BUILDER: "after-builder";
|
|
196
|
+
readonly AFTER_PAGE_MORE_OPTIONS: "after-page-more-options";
|
|
197
|
+
readonly SEO_PANEL: {
|
|
198
|
+
readonly TRIGGER: "after-seo-panel-tabs-triggers";
|
|
199
|
+
readonly CONTENT: "after-seo-panel-tabs-content";
|
|
200
|
+
};
|
|
201
|
+
readonly BLOCK_STYLING_ELEMENTS: "block-styling-elements";
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
declare const RJSF_EXTENSIONS: Record<string, {
|
|
205
|
+
id: string;
|
|
206
|
+
component: React.ComponentType<any>;
|
|
207
|
+
type: string;
|
|
208
|
+
}>;
|
|
209
|
+
declare const registerChaiBlockSettingWidget: (id: string, component: React.ComponentType<any>) => void;
|
|
210
|
+
declare const registerChaiBlockSettingField: (id: string, component: React.ComponentType<any>) => void;
|
|
211
|
+
declare const registerChaiBlockSettingTemplate: (id: string, component: React.ComponentType<any>) => void;
|
|
212
|
+
declare const useChaiBlockSettingComponents: (type: "widget" | "field" | "template") => Record<string, React.ComponentType<any>>;
|
|
213
|
+
|
|
214
|
+
type AddBlockTab = {
|
|
215
|
+
id: string;
|
|
216
|
+
tab: React.ComponentType;
|
|
217
|
+
tabContent: React.ComponentType;
|
|
218
|
+
};
|
|
219
|
+
declare const ADD_BLOCK_TABS: Record<string, AddBlockTab>;
|
|
220
|
+
declare const registerChaiAddBlockTab: (id: string, tab: Omit<AddBlockTab, "id">) => void;
|
|
221
|
+
declare const useChaiAddBlockTabs: () => AddBlockTab[];
|
|
222
|
+
|
|
223
|
+
type ChaiFlagOptions = {
|
|
224
|
+
key: string;
|
|
225
|
+
value?: any;
|
|
226
|
+
description?: string;
|
|
227
|
+
};
|
|
228
|
+
declare const registerChaiFeatureFlag: (key: string, flagOptions: Omit<ChaiFlagOptions, "key">) => void;
|
|
229
|
+
declare const registerChaiFeatureFlags: (flags: Record<string, Omit<ChaiFlagOptions, "key">>) => void;
|
|
230
|
+
declare const useChaiFeatureFlags: () => Record<string, ChaiFlagOptions>;
|
|
231
|
+
declare const useChaiFeatureFlag: (flagKey: string) => boolean;
|
|
232
|
+
declare const useToggleChaiFeatureFlag: (flagKey: string) => () => void;
|
|
233
|
+
declare const IfChaiFeatureFlag: ({ flagKey, children }: {
|
|
234
|
+
flagKey: string;
|
|
235
|
+
children: React.ReactNode;
|
|
236
|
+
}) => React$1.ReactNode;
|
|
237
|
+
|
|
238
|
+
declare const CHAI_HOOKS: {
|
|
239
|
+
readonly BEFORE_SAVE_PAGE: "before:save:page";
|
|
240
|
+
readonly AFTER_SAVE_PAGE: "after:save:page";
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
type ChaiHook<T = any> = (data: T, context?: any) => Promise<T> | T;
|
|
244
|
+
type ChaiHookContext = {
|
|
245
|
+
pageId?: string;
|
|
246
|
+
operation?: "create" | "update" | "delete" | "duplicate";
|
|
247
|
+
userId?: string;
|
|
248
|
+
[key: string]: any;
|
|
249
|
+
};
|
|
250
|
+
type ChaiHookName = (typeof CHAI_HOOKS)[keyof typeof CHAI_HOOKS] | string;
|
|
251
|
+
/**
|
|
252
|
+
* Register a hook function for a specific hook name
|
|
253
|
+
* Hooks execute in pipeline/chain pattern - each hook receives output from previous hook
|
|
254
|
+
*/
|
|
255
|
+
declare const registerChaiHook: <T>(hookName: ChaiHookName, hookFn: ChaiHook<T>) => void;
|
|
256
|
+
/**
|
|
257
|
+
* Execute all registered hooks for a given hook name in pipeline pattern
|
|
258
|
+
* Each hook receives the output from the previous hook
|
|
259
|
+
* Errors in hooks are caught and logged but don't break the pipeline
|
|
260
|
+
*/
|
|
261
|
+
declare const executeChaiHooks: <T>(hookName: ChaiHookName, initialData: T, context?: ChaiHookContext) => Promise<T>;
|
|
262
|
+
/**
|
|
263
|
+
* Get all registered hooks for a given hook name (for testing)
|
|
264
|
+
*/
|
|
265
|
+
declare const getRegisteredHooks: (hookName: ChaiHookName) => ChaiHook<any>[];
|
|
266
|
+
/**
|
|
267
|
+
* Clear all hooks for a given hook name (for testing)
|
|
268
|
+
*/
|
|
269
|
+
declare const clearHooks: (hookName?: ChaiHookName) => void;
|
|
270
|
+
|
|
271
|
+
type HTMLString = string;
|
|
272
|
+
type ChaiLibraryConfig<T> = {
|
|
273
|
+
id: string;
|
|
274
|
+
name: string;
|
|
275
|
+
description: string;
|
|
276
|
+
getBlocksList: (library: ChaiLibrary) => Promise<ChaiLibraryBlock<T>[]>;
|
|
277
|
+
getBlock: ({ library, block, }: {
|
|
278
|
+
library: ChaiLibrary;
|
|
279
|
+
block: ChaiLibraryBlock<T>;
|
|
280
|
+
}) => Promise<HTMLString | ChaiBlock[]>;
|
|
281
|
+
};
|
|
282
|
+
declare const registerChaiLibrary: <T extends Record<string, any> = Record<string, any>>(id: string, library: Omit<ChaiLibraryConfig<T>, "id">) => void;
|
|
283
|
+
declare const getChaiLibrary: (id: string) => ChaiLibraryConfig<any>;
|
|
284
|
+
declare const useChaiLibraries: () => ChaiLibraryConfig<any>[];
|
|
285
|
+
|
|
286
|
+
declare const registerChaiPreImportHTMLHook: (fn: (code: string) => Promise<string>) => void;
|
|
287
|
+
declare const getPreImportHTML: (code: string) => Promise<string>;
|
|
288
|
+
|
|
289
|
+
type SaveToLibraryProps = {
|
|
290
|
+
blockId: string;
|
|
291
|
+
blocks: ChaiBlock[];
|
|
292
|
+
close: () => void;
|
|
293
|
+
};
|
|
294
|
+
declare let SAVE_TO_LIB_COMPONENT: ComponentType<SaveToLibraryProps> | null;
|
|
295
|
+
declare const registerChaiSaveToLibrary: (component: ComponentType<SaveToLibraryProps>) => void;
|
|
296
|
+
declare const useSaveToLibraryComponent: () => ComponentType<SaveToLibraryProps> | null;
|
|
297
|
+
declare const resetSaveToLibrary: () => void;
|
|
298
|
+
|
|
299
|
+
interface ChaiSidebarPanel {
|
|
300
|
+
id: string;
|
|
301
|
+
position: "top" | "bottom";
|
|
302
|
+
view?: "standard" | "modal" | "overlay" | "drawer";
|
|
303
|
+
button: React.ComponentType<{
|
|
304
|
+
isActive: boolean;
|
|
305
|
+
show: () => void;
|
|
306
|
+
panelId: string;
|
|
307
|
+
position: "top" | "bottom";
|
|
308
|
+
}>;
|
|
309
|
+
label: string;
|
|
310
|
+
panel?: ComponentType;
|
|
311
|
+
width?: number;
|
|
312
|
+
isInternal?: boolean;
|
|
313
|
+
icon?: React.ReactNode;
|
|
314
|
+
}
|
|
315
|
+
declare const CHAI_BUILDER_PANELS: Record<string, ChaiSidebarPanel>;
|
|
316
|
+
declare const registerChaiSidebarPanel: (panelId: string, panelOptions: Omit<ChaiSidebarPanel, "id">) => void;
|
|
317
|
+
declare const useChaiSidebarPanels: (position: "top" | "bottom") => ChaiSidebarPanel[];
|
|
318
|
+
|
|
319
|
+
type LeafStringValues<T> = T extends string ? T : T extends object ? LeafStringValues<T[keyof T]> : never;
|
|
320
|
+
type ChaiSlotId = LeafStringValues<typeof CHAI_SLOT_IDS> | (string & {});
|
|
321
|
+
type ChaiSlotComponent = ComponentType<any> | LazyExoticComponent<ComponentType<any>>;
|
|
322
|
+
interface ChaiSlotProps {
|
|
323
|
+
slotId: ChaiSlotId;
|
|
324
|
+
context?: Record<string, any>;
|
|
325
|
+
multiple?: boolean;
|
|
326
|
+
defaultComponent?: ComponentType<any> | null;
|
|
327
|
+
fallback?: ReactNode;
|
|
328
|
+
}
|
|
329
|
+
declare const SLOT_REGISTRY: Record<string, ChaiSlotComponent[]>;
|
|
330
|
+
declare const registerChaiSlot: (slotId: ChaiSlotId, component: ChaiSlotComponent) => void;
|
|
331
|
+
declare const useChaiSlot: (slotId: ChaiSlotId) => ChaiSlotComponent[];
|
|
332
|
+
declare const ChaiSlot: ({ slotId, context, multiple, defaultComponent: DefaultComponent, fallback, }: ChaiSlotProps) => react_jsx_runtime.JSX.Element | null;
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Register a custom structure validation rule
|
|
336
|
+
* @param rule - The structure rule to register
|
|
337
|
+
* @example
|
|
338
|
+
* ```ts
|
|
339
|
+
* registerChaiStructureCheckRule({
|
|
340
|
+
* name: "custom-rule",
|
|
341
|
+
* description: "My custom validation rule",
|
|
342
|
+
* validate: (canvasDocument: Document) => {
|
|
343
|
+
* const errors = [];
|
|
344
|
+
* // Your validation logic here
|
|
345
|
+
* return errors;
|
|
346
|
+
* }
|
|
347
|
+
* });
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
declare const registerChaiStructureCheckRule: (rule: StructureRule) => void;
|
|
351
|
+
|
|
352
|
+
export { ADD_BLOCK_TABS, type AddBlockTab, CHAI_BUILDER_PANELS, CHAI_SLOT_IDS, AiPanelContent as ChaiAiPanel, type AiPanelContentProps as ChaiAiPanelProps, type ChaiHook, type ChaiHookContext, type ChaiHookName, SmartJsonInput as ChaiJsonInput, type ChaiSidebarPanel, ChaiSlot, type ChaiSlotComponent, type ChaiSlotId, type ChaiSlotProps, ChaiWebsiteBuilder, IfChaiFeatureFlag, ImagePicker, LanguageSwitcher, NestedPathSelector, PermissionChecker, RJSF_EXTENSIONS, SAVE_TO_LIB_COMPONENT, SLOT_REGISTRY, type SaveToLibraryProps, clearHooks, defaultChaiLibrary, executeChaiHooks, getChaiLibrary, getPreImportHTML, getRegisteredHooks, registerChaiAddBlockTab, registerChaiBlockSettingField, registerChaiBlockSettingTemplate, registerChaiBlockSettingWidget, registerChaiFeatureFlag, registerChaiFeatureFlags, registerChaiHook, registerChaiLibrary, registerChaiPreImportHTMLHook, registerChaiSaveToLibrary, registerChaiSidebarPanel, registerChaiSlot, registerChaiStructureCheckRule, resetSaveToLibrary, useCurrentActivePage as useActivePage, useApiUrl, useBuilderFetch, useBuilderPageData, useChaiAddBlockTabs, useChaiAuth, useChaiBlockSettingComponents, useChaiCurrentPage, useChaiFeatureFlag, useChaiFeatureFlags, useChaiLibraries, usePrimaryPage as useChaiPrimaryPage, useChaiSidebarPanels, useChaiSlot, useChaiUserInfo, useClearAll, useFallbackLang, useFetch, useGotoPage, useLanguagePages, usePageAllData, usePageTypes, useReloadPage, useSavePage, useSaveToLibraryComponent, useSiteGlobalData, useToggleChaiFeatureFlag, useUpdateActivePageMetadata, useCheckUserAccess as useUserPermissions, useWebsitePrimaryPages as useWebsitePages, useWebsiteSetting };
|