ghost 6.52.0 → 6.52.1
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/components/tryghost-kg-card-factory-5.2.3.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.3.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.3.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.3.tgz +0 -0
- package/core/built/admin/assets/Growth-CczbRexv.js +3 -0
- package/core/built/admin/assets/Newsletters-rFycX4x8.js +1 -0
- package/core/built/admin/assets/Overview-DFubBJaR.js +1 -0
- package/core/built/admin/assets/Web-BDE2lN4_.js +2 -0
- package/core/built/admin/assets/{account-migration-DiS76mRS.js → account-migration-gvH5a8ea.js} +1 -1
- package/core/built/admin/assets/audience-CMWMCxFS.js +1 -0
- package/core/built/admin/assets/{automated-emails-Cel18g7S.js → automated-emails-293Lcj5S.js} +1 -1
- package/core/built/admin/assets/automations-BxnjfCKn.js +1 -0
- package/core/built/admin/assets/automations-kPr44AmD.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-Cww54F3Y.js +1 -0
- package/core/built/admin/assets/{chunk.912.9d6df5a6da679d905bbf.js → chunk.251.dd82df30188bb633b4ae.js} +9 -9
- package/core/built/admin/assets/{chunk.730.2457b7fede040aa52c88.js → chunk.341.20e7d2936dfa5877deea.js} +3 -3
- package/core/built/admin/assets/{chunk.524.d6d399b571454ea0234d.js → chunk.524.697bf0ded48e7c994fc3.js} +5 -5
- package/core/built/admin/assets/{chunk.582.50a9a5cbab6996daf0fe.js → chunk.582.6b742e9ba932688c442c.js} +6 -6
- package/core/built/admin/assets/{code-editor-view-BLGzcLub.js → code-editor-view-DSY5RHLf.js} +1 -1
- package/core/built/admin/assets/comments-BwNUmaNM.js +1 -0
- package/core/built/admin/assets/constants-c-JNF9c2.js +1 -0
- package/core/built/admin/assets/container-CD33Rm0u.js +1 -0
- package/core/built/admin/assets/content-helpers-CNBPrwsi.js +1 -0
- package/core/built/admin/assets/date-range-select-BkkNN98H.js +1 -0
- package/core/built/admin/assets/disabled-sources-indicator-ChHTF69d.js +1 -0
- package/core/built/admin/assets/{domain-2REz20SO.js → domain-CGk9SMa-.js} +1 -1
- package/core/built/admin/assets/dropzone-9zocztX0.js +5 -0
- package/core/built/admin/assets/{edit-profile-7QEh0VtN.js → edit-profile-C0B2Kbsl.js} +1 -1
- package/core/built/admin/assets/editor-Bz2Sm2O8.js +8 -0
- package/core/built/admin/assets/{esm-CEtFqV1y.js → esm-CsHLKmLh.js} +1 -1
- package/core/built/admin/assets/explore-CpRAMnx7.js +1 -0
- package/core/built/admin/assets/feed-BRoOWghO.js +1 -0
- package/core/built/admin/assets/filter-sources-DhxqZID1.js +1 -0
- package/core/built/admin/assets/{filters-DUy8rzI5.js → filters-B8nLLYGO.js} +1 -1
- package/core/built/admin/assets/{gh-chart-DdBGmBS8.js → gh-chart-Cqy9gGq7.js} +1 -1
- package/core/built/admin/assets/{gift-link-modal-CSgyxenA.js → gift-link-modal-v55u0VUL.js} +1 -1
- package/core/built/admin/assets/growth-BIfM3w1p.js +1 -0
- package/core/built/admin/assets/{inbox-CTD-ix6u.js → inbox-CDX57fXK.js} +11 -11
- package/core/built/admin/assets/index-B5yxmQNp.js +69 -0
- package/core/built/admin/assets/inline-DdrWe7D3.js +1 -0
- package/core/built/admin/assets/{input-group-DkR63-nk.js → input-group-DUPGQck1.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-D09TwwLs.js → koenig-lexical-CUVpp-dC.js} +1 -1
- package/core/built/admin/assets/{kpi-card-Fr_HJH78.js → kpi-card-DyDbok3h.js} +1 -1
- package/core/built/admin/assets/kpi-helpers-Bx9IHIMq.js +1 -0
- package/core/built/admin/assets/{kpi-tabs-Dc4Nt4a5.js → kpi-tabs-DmUcThFc.js} +1 -1
- package/core/built/admin/assets/labels-DLL8dl-7.js +1 -0
- package/core/built/admin/assets/layout-B7K3SmL0.js +1 -0
- package/core/built/admin/assets/{links-CfAB2Yeq.js → link-helpers-DHG_8GIT.js} +1 -1
- package/core/built/admin/assets/list-page-COAUFrmV.js +1 -0
- package/core/built/admin/assets/members-BxWs_mjq.js +10 -0
- package/core/built/admin/assets/{modals-Bu-1Uxdc.js → modals-DF2sECo6.js} +4 -4
- package/core/built/admin/assets/moderation-DYKTx5x0.js +1 -0
- package/core/built/admin/assets/newsletter-C-ZD1dI8.js +1 -0
- package/core/built/admin/assets/note-oaRdU_5z.js +1 -0
- package/core/built/admin/assets/notifications-BF4fAiP1.js +1 -0
- package/core/built/admin/assets/{nql-lang-CvCSOQG3.js → nql-lang-BoHzkNg5.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-BDaa9hd3.js → onboarding-route-SS-e9Aeb.js} +1 -1
- package/core/built/admin/assets/overview-Cbn6bIoR.js +1 -0
- package/core/built/admin/assets/post-analytics-Bk9-KEgB.js +1 -0
- package/core/built/admin/assets/post-analytics-context-C8t_048I.js +1 -0
- package/core/built/admin/assets/post-analytics-header-xTjcg4H0.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-CqnWwLMk.js +1 -0
- package/core/built/admin/assets/{post-share-modal-59Ujf4t1.js → post-share-modal-ZUCX7JZo.js} +1 -1
- package/core/built/admin/assets/preferences-BgjgxiBB.js +5 -0
- package/core/built/admin/assets/profile-qIwaxKTm.js +1 -0
- package/core/built/admin/assets/{router-provider-DcttGCQn.js → router-provider-S8Wf6jdu.js} +1 -1
- package/core/built/admin/assets/select-Cp27ScMR.js +1 -0
- package/core/built/admin/assets/{settings-dLraw6et.js → settings-CdDfyF90.js} +1 -1
- package/core/built/admin/assets/{settings-CIslWMfh.js → settings-CynBh-YN.js} +4 -4
- package/core/built/admin/assets/{share-modal-CI3E67kW.js → share-modal-DTIFYNI1.js} +1 -1
- package/core/built/admin/assets/social-urls-DVvRfwEp.js +16 -0
- package/core/built/admin/assets/{sort-button-BYwI0xdN.js → sort-button-BHh5Ba1K.js} +1 -1
- package/core/built/admin/assets/source-icon--egCE7iN.js +1 -0
- package/core/built/admin/assets/stats-DkqCtrPh.js +1 -0
- package/core/built/admin/assets/stats-view-BvWWxegf.js +1 -0
- package/core/built/admin/assets/step-1-DWjw7rIn.js +1 -0
- package/core/built/admin/assets/{step-2-CVOvLQ2n.js → step-2-D1LrETIB.js} +1 -1
- package/core/built/admin/assets/{step-3-BsVXcpWU.js → step-3-BAdJdZw4.js} +2 -2
- package/core/built/admin/assets/{tabs-Bw8aEqsd.js → tabs-DSrHPjWP.js} +1 -1
- package/core/built/admin/assets/tags-BWZqBj19.js +1 -0
- package/core/built/admin/assets/{textarea-CNaqhk5P.js → textarea-CUVQjsrM.js} +1 -1
- package/core/built/admin/assets/{toggle-group-CMp1taHd.js → toggle-group-CrFpl-Xz.js} +1 -1
- package/core/built/admin/assets/{topic-filter-D2_9eEw4.js → topic-filter-jAxwwd9I.js} +1 -1
- package/core/built/admin/assets/types-uYQ1HgqL.js +1 -0
- package/core/built/admin/assets/url-helpers-CCyfRrKj.js +1 -0
- package/core/built/admin/assets/use-analytics-data-DXG7mpgK.js +1 -0
- package/core/built/admin/assets/use-filter-params-EoQBXfP3.js +1 -0
- package/core/built/admin/assets/use-growth-stats-DJoXxVfD.js +1 -0
- package/core/built/admin/assets/use-post-referrers-B-onYbuS.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-D8IFALoz.js +1 -0
- package/core/built/admin/assets/{use-tinybird-query-CNCaUn39.js → use-tinybird-query-BSL3iVCc.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-1T80Odca.js → use-tinybird-token-DHgOnrNu.js} +1 -1
- package/core/built/admin/assets/virtual-list-AQrbRAXP.js +1 -0
- package/core/built/admin/assets/web-zEFi98DS.js +1 -0
- package/core/built/admin/index.html +6 -6
- package/core/server/services/automations/automations-api.js +20 -0
- package/core/server/services/automations/automations-api.ts +31 -0
- package/core/server/services/automations/poll.js +7 -7
- package/core/server/services/automations/poll.ts +12 -9
- package/core/server/services/email-analytics/email-analytics-provider-mailgun.js +2 -2
- package/core/server/services/email-analytics/email-analytics-service-wrapper.js +1 -4
- package/core/server/services/email-analytics/email-analytics-service.js +5 -7
- package/core/server/services/webhooks/serialize.js +6 -5
- package/package.json +1 -1
- package/pnpm-lock.yaml +14 -14
- package/pnpm-workspace.yaml +5 -0
- package/core/built/admin/assets/Growth-Dx0vv-BS.js +0 -3
- package/core/built/admin/assets/Newsletters-v1GnbUjW.js +0 -1
- package/core/built/admin/assets/Overview-BgM7o-Z8.js +0 -1
- package/core/built/admin/assets/Web-DRv-83Ow.js +0 -2
- package/core/built/admin/assets/automations-DFLgH14-.js +0 -1
- package/core/built/admin/assets/automations-Dc4DUKBb.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-Dk1RTUaz.js +0 -1
- package/core/built/admin/assets/comments-DgH1rC7w.js +0 -1
- package/core/built/admin/assets/constants-BlvYJTqz.js +0 -1
- package/core/built/admin/assets/content-helpers-BEgGpvyE.js +0 -1
- package/core/built/admin/assets/editor-u3BPqQed.js +0 -8
- package/core/built/admin/assets/en-DA2zVD_n.js +0 -1
- package/core/built/admin/assets/explore-BgHmdFVz.js +0 -1
- package/core/built/admin/assets/feed-Cs7-F3I5.js +0 -1
- package/core/built/admin/assets/filter-query-core-D6GjHUFB.js +0 -1
- package/core/built/admin/assets/growth-IkQZ1ZV9.js +0 -1
- package/core/built/admin/assets/index-BMhs4O3N.js +0 -69
- package/core/built/admin/assets/inline-C1CpHxuO.js +0 -1
- package/core/built/admin/assets/kpis-BTZ8cyw-.js +0 -1
- package/core/built/admin/assets/labels-sA9m188H.js +0 -5
- package/core/built/admin/assets/layout-szLkuQ88.js +0 -1
- package/core/built/admin/assets/list-page-DWkOdljb.js +0 -1
- package/core/built/admin/assets/main-layout-B-K8KliJ.js +0 -1
- package/core/built/admin/assets/members-PNNhalbu.js +0 -10
- package/core/built/admin/assets/moderation-DqnsNTiw.js +0 -1
- package/core/built/admin/assets/newsletter-BhuQeWFL.js +0 -1
- package/core/built/admin/assets/note-DFy2JTpP.js +0 -1
- package/core/built/admin/assets/notifications-BVu-JOkB.js +0 -1
- package/core/built/admin/assets/overview-Bhg8M7VS.js +0 -1
- package/core/built/admin/assets/pagemenu-C4paivNj.js +0 -1
- package/core/built/admin/assets/post-analytics-BhQUmZyA.js +0 -1
- package/core/built/admin/assets/post-analytics-context-Dy17HR1_.js +0 -1
- package/core/built/admin/assets/post-analytics-header-DAQep1VQ.js +0 -1
- package/core/built/admin/assets/posts/_react-dom-Blmuc0OL.js +0 -21
- package/core/built/admin/assets/posts/alert-dialog-DBJeQQTK.js +0 -154
- package/core/built/admin/assets/posts/app-provider-BJr9fdEC.js +0 -22
- package/core/built/admin/assets/posts/app-utils-9O53Czfw.js +0 -83
- package/core/built/admin/assets/posts/automations-BM0oBTjO.js +0 -275
- package/core/built/admin/assets/posts/automations-Dbp-gdHS.js +0 -223
- package/core/built/admin/assets/posts/avatar-kOk1tTvT.js +0 -144
- package/core/built/admin/assets/posts/badge-DnByIHe9.js +0 -25
- package/core/built/admin/assets/posts/button-Dd8Xreln.js +0 -40844
- package/core/built/admin/assets/posts/chunk-KS7C4IRE-ECXkcZq6.js +0 -7740
- package/core/built/admin/assets/posts/comments-D-7hbbdw.js +0 -8032
- package/core/built/admin/assets/posts/data-list-DdD_glQ-.js +0 -14219
- package/core/built/admin/assets/posts/dialog-DDkTy_np.js +0 -229
- package/core/built/admin/assets/posts/editor-D7-01KV_.js +0 -14633
- package/core/built/admin/assets/posts/empty-indicator-Ze-bwJ27.js +0 -38
- package/core/built/admin/assets/posts/filters-CmKfKtpS.js +0 -5611
- package/core/built/admin/assets/posts/get-site-timezone-DVbWc-NA.js +0 -39
- package/core/built/admin/assets/posts/growth-DlhFUzVg.js +0 -299
- package/core/built/admin/assets/posts/heading-BBl-8tMC.js +0 -92
- package/core/built/admin/assets/posts/hooks-gZAmj4Al.js +0 -5429
- package/core/built/admin/assets/posts/input-DuPLeCGW.js +0 -16
- package/core/built/admin/assets/posts/input-surface-ClwNIxfd.js +0 -17
- package/core/built/admin/assets/posts/jsx-runtime-BfZnKD4L.js +0 -95
- package/core/built/admin/assets/posts/koenig-lexical-DCHiJJou.js +0 -77579
- package/core/built/admin/assets/posts/kpis-Fsx0XmYK.js +0 -2061
- package/core/built/admin/assets/posts/label-D1wSl69p.js +0 -32
- package/core/built/admin/assets/posts/links-DLozzgMh.js +0 -1243
- package/core/built/admin/assets/posts/loading-indicator-BgU2kK3v.js +0 -44
- package/core/built/admin/assets/posts/main-layout-DDlTMrnF.js +0 -15
- package/core/built/admin/assets/posts/newsletter-DAQJ1GLe.js +0 -736
- package/core/built/admin/assets/posts/overview-G3MfRm-S.js +0 -426
- package/core/built/admin/assets/posts/page-header-CanFyB95.js +0 -284
- package/core/built/admin/assets/posts/popover-Cta8ZDHJ.js +0 -221
- package/core/built/admin/assets/posts/post-analytics-cS07-wo_.js +0 -121
- package/core/built/admin/assets/posts/post-analytics-context-D868SMoq.js +0 -150
- package/core/built/admin/assets/posts/post-analytics-header-CZYiuaEL.js +0 -42249
- package/core/built/admin/assets/posts/post-share-modal-BJfswZzf.js +0 -352
- package/core/built/admin/assets/posts/posts-CpusjBC0.js +0 -37
- package/core/built/admin/assets/posts/posts-app-context-CPC7dOlt.js +0 -26
- package/core/built/admin/assets/posts/posts.js +0 -145
- package/core/built/admin/assets/posts/router-provider-DrqpOc8m.js +0 -114
- package/core/built/admin/assets/posts/separator-DAZNzARU.js +0 -37
- package/core/built/admin/assets/posts/settings-CMfUn5Hq.js +0 -66
- package/core/built/admin/assets/posts/shade-app-DLbeExcd-NeEZjE3R.js +0 -4764
- package/core/built/admin/assets/posts/sheet-CEuv-0a5.js +0 -62
- package/core/built/admin/assets/posts/site-WJ6ldary.js +0 -10
- package/core/built/admin/assets/posts/skeleton-CO0qCdQF.js +0 -2426
- package/core/built/admin/assets/posts/source-icon-Bs6o84W3.js +0 -143
- package/core/built/admin/assets/posts/stats-B1Z8H0JT.js +0 -92
- package/core/built/admin/assets/posts/table-CbJ9bOpM.js +0 -77
- package/core/built/admin/assets/posts/tabs-BvzzwQ4P.js +0 -242
- package/core/built/admin/assets/posts/tags-D-4TwsD0.js +0 -462
- package/core/built/admin/assets/posts/tooltip-BI7VtFUY.js +0 -380
- package/core/built/admin/assets/posts/update-queries-DiUznIQ1.js +0 -60
- package/core/built/admin/assets/posts/users-UgRPrTKW.js +0 -83
- package/core/built/admin/assets/posts/value-DF_wOhJe.js +0 -415
- package/core/built/admin/assets/posts/virtual-list-window-DP63Onpm.js +0 -853
- package/core/built/admin/assets/posts/web-axp2l3kK.js +0 -8077
- package/core/built/admin/assets/preferences-ChOzBKcF.js +0 -5
- package/core/built/admin/assets/profile-DlcrYKay.js +0 -1
- package/core/built/admin/assets/select-BbtNHCBq.js +0 -1
- package/core/built/admin/assets/social-urls-DVzIHh2W.js +0 -16
- package/core/built/admin/assets/source-icon-Uuhttjun.js +0 -1
- package/core/built/admin/assets/source-utils-BchD0sF0.js +0 -1
- package/core/built/admin/assets/stats-CrlPzgdd.js +0 -1
- package/core/built/admin/assets/stats-view-UNMhTMCZ.js +0 -1
- package/core/built/admin/assets/step-1-C2HY6pyi.js +0 -1
- package/core/built/admin/assets/tags-DjCsJo0X.js +0 -1
- package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
- package/core/built/admin/assets/url-helpers-DxA844rA.js +0 -1
- package/core/built/admin/assets/use-growth-stats-DNIGdI8h.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-DtEC2Azp.js +0 -1
- package/core/built/admin/assets/virtual-list-window-BTXGwpf5.js +0 -1
- package/core/built/admin/assets/web-Cj8VEw3s.js +0 -1
- /package/core/built/admin/assets/{chunk.912.9d6df5a6da679d905bbf.js.LICENSE.txt → chunk.251.dd82df30188bb633b4ae.js.LICENSE.txt} +0 -0
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import { D as e, E as t, _ as n, b as r, p as i, t as a } from "./jsx-runtime-BfZnKD4L.js";
|
|
2
|
-
import { t as o } from "./chunk-KS7C4IRE-ECXkcZq6.js";
|
|
3
|
-
import { a as s, r as c } from "./hooks-gZAmj4Al.js";
|
|
4
|
-
import { i as l, z as u } from "./button-Dd8Xreln.js";
|
|
5
|
-
import { t as d } from "./skeleton-CO0qCdQF.js";
|
|
6
|
-
import { c as f, i as p, t as m } from "./settings-CMfUn5Hq.js";
|
|
7
|
-
import { s as h } from "./shade-app-DLbeExcd-NeEZjE3R.js";
|
|
8
|
-
import { n as g, t as _ } from "./page-header-CanFyB95.js";
|
|
9
|
-
import { n as v } from "./users-UgRPrTKW.js";
|
|
10
|
-
import { d as y, o as b } from "./automations-Dbp-gdHS.js";
|
|
11
|
-
import { t as x } from "./badge-DnByIHe9.js";
|
|
12
|
-
import { n as S, o as C, r as w, t as T } from "./table-CbJ9bOpM.js";
|
|
13
|
-
import { t as E } from "./main-layout-DDlTMrnF.js";
|
|
14
|
-
//#region ../admin-x-framework/dist/api/featurebase.js
|
|
15
|
-
var D = "FeaturebaseTokenResponseType", O = {
|
|
16
|
-
staleTime: 7200 * 60 * 1e3,
|
|
17
|
-
refetchInterval: 8640 * 60 * 1e3,
|
|
18
|
-
refetchIntervalInBackground: !0
|
|
19
|
-
}, k = c({
|
|
20
|
-
dataType: D,
|
|
21
|
-
path: "/featurebase/token/"
|
|
22
|
-
}), A = (e = {}) => k({
|
|
23
|
-
...O,
|
|
24
|
-
...e
|
|
25
|
-
}), j = function() {
|
|
26
|
-
let e, t;
|
|
27
|
-
return {
|
|
28
|
-
promise: new Promise((n, r) => {
|
|
29
|
-
e = n, t = r;
|
|
30
|
-
}),
|
|
31
|
-
resolve: e,
|
|
32
|
-
reject: t
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
//#endregion
|
|
36
|
-
//#region ../admin-x-framework/dist/hooks/use-featurebase.js
|
|
37
|
-
i();
|
|
38
|
-
var M = "https://do.featurebase.app/js/sdk.js", N = null;
|
|
39
|
-
function P() {
|
|
40
|
-
return N ||= new Promise((e, t) => {
|
|
41
|
-
let n = document.querySelector(`script[src="${M}"]`);
|
|
42
|
-
if (n) {
|
|
43
|
-
if (window.Featurebase) {
|
|
44
|
-
e();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
n.addEventListener("load", () => e(), { once: !0 }), n.addEventListener("error", t, { once: !0 });
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
let r = document.createElement("script");
|
|
51
|
-
r.src = M, r.onload = () => e(), r.onerror = (e) => {
|
|
52
|
-
r.remove(), N = null;
|
|
53
|
-
let n = Error(`[Featurebase] Failed to load SDK from ${M}`, { cause: e });
|
|
54
|
-
console.error(n), t(n);
|
|
55
|
-
}, document.head.appendChild(r);
|
|
56
|
-
}), N;
|
|
57
|
-
}
|
|
58
|
-
var F = () => typeof document > "u" ? "light" : document.documentElement.classList.contains("dark") ? "dark" : "light", I = null;
|
|
59
|
-
function L(e, t, n) {
|
|
60
|
-
return I || (I = P().then(() => new Promise((r, i) => {
|
|
61
|
-
window.Featurebase?.("initialize_feedback_widget", {
|
|
62
|
-
organization: e,
|
|
63
|
-
theme: t,
|
|
64
|
-
featurebaseJwt: n
|
|
65
|
-
}, (e) => {
|
|
66
|
-
e ? (I = null, i(e)) : r();
|
|
67
|
-
});
|
|
68
|
-
})), I.catch(() => {
|
|
69
|
-
I = null;
|
|
70
|
-
}), I);
|
|
71
|
-
}
|
|
72
|
-
function R() {
|
|
73
|
-
let { data: i } = f(), [a, o] = e(!1), { organization: s, enabled: c } = i?.config.featurebase ?? {}, l = !!c, { data: u } = A({ enabled: l && a }), d = u?.featurebase?.token;
|
|
74
|
-
r(() => {
|
|
75
|
-
a && P().catch((e) => {
|
|
76
|
-
console.error("[Featurebase] Failed to load SDK:", e);
|
|
77
|
-
});
|
|
78
|
-
}, [a]);
|
|
79
|
-
let p = t(j());
|
|
80
|
-
r(() => {
|
|
81
|
-
!a || !s || !d || L(s, F(), d).then(() => p.current.resolve(), (e) => {
|
|
82
|
-
console.error("[Featurebase] Failed to initialize widget:", e), p.current.reject(e), p.current = j(), o(!1);
|
|
83
|
-
});
|
|
84
|
-
}, [
|
|
85
|
-
s,
|
|
86
|
-
d,
|
|
87
|
-
a
|
|
88
|
-
]);
|
|
89
|
-
let m = n(() => {
|
|
90
|
-
l && o(!0);
|
|
91
|
-
}, [l]);
|
|
92
|
-
return {
|
|
93
|
-
isAvailable: l,
|
|
94
|
-
openFeedbackWidget: n((e) => {
|
|
95
|
-
l && (o(!0), p.current.promise.then(() => {
|
|
96
|
-
window.postMessage({
|
|
97
|
-
target: "FeaturebaseWidget",
|
|
98
|
-
data: {
|
|
99
|
-
action: "openFeedbackWidget",
|
|
100
|
-
...e?.board && { setBoard: e.board }
|
|
101
|
-
}
|
|
102
|
-
}, "*");
|
|
103
|
-
}));
|
|
104
|
-
}, [l]),
|
|
105
|
-
preloadFeedbackWidget: m
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
//#endregion
|
|
109
|
-
//#region src/views/Automations/components/automations-help-cards.tsx
|
|
110
|
-
i();
|
|
111
|
-
var z = a(), B = "https://forum.ghost.org", V = "https://ghost.org/help/automations-beta", H = "block w-full rounded-xl border border-border bg-card p-6 text-left transition-all hover:shadow-xs hover:bg-table-row-hover group/card", U = ({ title: e, description: t, children: n }) => /* @__PURE__ */ (0, z.jsxs)("div", {
|
|
112
|
-
className: "flex items-center gap-6",
|
|
113
|
-
children: [n, /* @__PURE__ */ (0, z.jsxs)("div", {
|
|
114
|
-
className: "flex flex-col gap-0.5 leading-tight",
|
|
115
|
-
children: [/* @__PURE__ */ (0, z.jsx)("span", {
|
|
116
|
-
className: "text-base font-semibold",
|
|
117
|
-
children: e
|
|
118
|
-
}), /* @__PURE__ */ (0, z.jsx)("span", {
|
|
119
|
-
className: "text-sm font-normal text-gray-700",
|
|
120
|
-
children: t
|
|
121
|
-
})]
|
|
122
|
-
})]
|
|
123
|
-
}), W = ({ url: e, className: t, title: n, description: r, children: i }) => /* @__PURE__ */ (0, z.jsx)("a", {
|
|
124
|
-
className: h(H, t),
|
|
125
|
-
href: e,
|
|
126
|
-
rel: "noreferrer",
|
|
127
|
-
target: "_blank",
|
|
128
|
-
children: /* @__PURE__ */ (0, z.jsx)(U, {
|
|
129
|
-
description: r,
|
|
130
|
-
title: n,
|
|
131
|
-
children: i
|
|
132
|
-
})
|
|
133
|
-
}), G = ({ className: e, title: t, description: n, children: r, onClick: i, onMouseEnter: a, onFocus: o }) => /* @__PURE__ */ (0, z.jsx)("button", {
|
|
134
|
-
className: h(H, "cursor-pointer appearance-none", e),
|
|
135
|
-
type: "button",
|
|
136
|
-
onClick: i,
|
|
137
|
-
onFocus: o,
|
|
138
|
-
onMouseEnter: a,
|
|
139
|
-
children: /* @__PURE__ */ (0, z.jsx)(U, {
|
|
140
|
-
description: n,
|
|
141
|
-
title: t,
|
|
142
|
-
children: r
|
|
143
|
-
})
|
|
144
|
-
}), K = () => /* @__PURE__ */ (0, z.jsx)("div", {
|
|
145
|
-
className: "flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#8B5CF6]/20 to-[#EC4899]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100",
|
|
146
|
-
children: /* @__PURE__ */ (0, z.jsx)(l, {
|
|
147
|
-
className: "text-[#8B5CF6]",
|
|
148
|
-
size: 20,
|
|
149
|
-
strokeWidth: 1.5
|
|
150
|
-
})
|
|
151
|
-
}), q = () => /* @__PURE__ */ (0, z.jsx)("div", {
|
|
152
|
-
className: "flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#10B981]/20 to-[#0EA5E9]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100",
|
|
153
|
-
children: /* @__PURE__ */ (0, z.jsx)(u, {
|
|
154
|
-
className: "text-[#0EA5E9]",
|
|
155
|
-
size: 20,
|
|
156
|
-
strokeWidth: 1.5
|
|
157
|
-
})
|
|
158
|
-
}), J = "Share your feedback", Y = "Tell us what’s working and what’s missing — your input shapes what we build next.", X = () => {
|
|
159
|
-
let { data: e } = s(), { isAvailable: t, openFeedbackWidget: n, preloadFeedbackWidget: r } = R(), i = t && e && !v(e);
|
|
160
|
-
return /* @__PURE__ */ (0, z.jsxs)("div", {
|
|
161
|
-
className: "mt-auto grid grid-cols-1 gap-6 pt-10 lg:grid-cols-2",
|
|
162
|
-
children: [/* @__PURE__ */ (0, z.jsx)(W, {
|
|
163
|
-
description: "Learn how to set up automations, customize your emails, and get the most out of the beta.",
|
|
164
|
-
title: "Automations in Ghost",
|
|
165
|
-
url: V,
|
|
166
|
-
children: /* @__PURE__ */ (0, z.jsx)(K, {})
|
|
167
|
-
}), i ? /* @__PURE__ */ (0, z.jsx)(G, {
|
|
168
|
-
description: Y,
|
|
169
|
-
title: J,
|
|
170
|
-
onClick: () => n(),
|
|
171
|
-
onFocus: r,
|
|
172
|
-
onMouseEnter: r,
|
|
173
|
-
children: /* @__PURE__ */ (0, z.jsx)(q, {})
|
|
174
|
-
}) : /* @__PURE__ */ (0, z.jsx)(W, {
|
|
175
|
-
description: Y,
|
|
176
|
-
title: J,
|
|
177
|
-
url: B,
|
|
178
|
-
children: /* @__PURE__ */ (0, z.jsx)(q, {})
|
|
179
|
-
})]
|
|
180
|
-
});
|
|
181
|
-
};
|
|
182
|
-
//#endregion
|
|
183
|
-
//#region src/views/Automations/components/automations-list.tsx
|
|
184
|
-
i();
|
|
185
|
-
var Z = {
|
|
186
|
-
"member-welcome-email-free": "Welcome new free members after they sign up.",
|
|
187
|
-
"member-welcome-email-paid": "Welcome new paid members after they start their subscription."
|
|
188
|
-
}, Q = () => /* @__PURE__ */ (0, z.jsx)(T, {
|
|
189
|
-
className: "flex flex-col border-t",
|
|
190
|
-
"data-testid": "automations-list-loading",
|
|
191
|
-
children: /* @__PURE__ */ (0, z.jsx)(S, {
|
|
192
|
-
className: "flex flex-col",
|
|
193
|
-
children: Array.from({ length: 2 }, (e, t) => /* @__PURE__ */ (0, z.jsxs)(C, {
|
|
194
|
-
"aria-hidden": "true",
|
|
195
|
-
className: "grid w-full grid-cols-[1fr_auto] items-center gap-x-4 p-2 lg:p-0",
|
|
196
|
-
children: [/* @__PURE__ */ (0, z.jsxs)(w, {
|
|
197
|
-
className: "min-w-0 lg:p-4",
|
|
198
|
-
children: [/* @__PURE__ */ (0, z.jsx)(d, { className: "mb-1 h-3 w-48 max-w-full " }), /* @__PURE__ */ (0, z.jsx)(d, { className: "h-3 w-80 max-w-full" })]
|
|
199
|
-
}), /* @__PURE__ */ (0, z.jsx)(w, {
|
|
200
|
-
className: "text-right lg:w-32 lg:p-4",
|
|
201
|
-
children: /* @__PURE__ */ (0, z.jsx)(d, { className: "ml-auto h-3 w-16" })
|
|
202
|
-
})]
|
|
203
|
-
}, t))
|
|
204
|
-
})
|
|
205
|
-
}), $ = ({ automations: e = [], isLoading: t = !1 }) => t ? /* @__PURE__ */ (0, z.jsx)(Q, {}) : /* @__PURE__ */ (0, z.jsx)(T, {
|
|
206
|
-
className: "flex flex-col border-t",
|
|
207
|
-
"data-testid": "automations-list",
|
|
208
|
-
children: /* @__PURE__ */ (0, z.jsx)(S, {
|
|
209
|
-
className: "flex flex-col",
|
|
210
|
-
children: e.map((e) => {
|
|
211
|
-
let t = Z[e.slug];
|
|
212
|
-
return /* @__PURE__ */ (0, z.jsxs)(C, {
|
|
213
|
-
className: "grid w-full cursor-pointer grid-cols-[1fr_auto] items-center gap-x-4 p-2 hover:bg-table-row-hover lg:p-0",
|
|
214
|
-
"data-testid": "automation-list-row",
|
|
215
|
-
children: [/* @__PURE__ */ (0, z.jsxs)(w, {
|
|
216
|
-
className: "static min-w-0 lg:p-4",
|
|
217
|
-
children: [/* @__PURE__ */ (0, z.jsx)(o, {
|
|
218
|
-
className: "before:absolute before:inset-0 before:z-10 before:rounded-sm focus-visible:outline-hidden focus-visible:before:ring-2 focus-visible:before:ring-focus-ring",
|
|
219
|
-
to: `/automations/${e.id}`,
|
|
220
|
-
children: /* @__PURE__ */ (0, z.jsx)("span", {
|
|
221
|
-
className: "block text-md font-semibold",
|
|
222
|
-
children: e.name
|
|
223
|
-
})
|
|
224
|
-
}), t && /* @__PURE__ */ (0, z.jsx)("span", {
|
|
225
|
-
className: "block text-muted-foreground",
|
|
226
|
-
children: t
|
|
227
|
-
})]
|
|
228
|
-
}), /* @__PURE__ */ (0, z.jsx)(w, {
|
|
229
|
-
className: "text-right lg:w-32 lg:p-4",
|
|
230
|
-
children: /* @__PURE__ */ (0, z.jsx)(y, { status: e.status })
|
|
231
|
-
})]
|
|
232
|
-
}, e.slug);
|
|
233
|
-
})
|
|
234
|
-
})
|
|
235
|
-
}), ee = {
|
|
236
|
-
free: "member-welcome-email-free",
|
|
237
|
-
paid: "member-welcome-email-paid"
|
|
238
|
-
}, te = () => {
|
|
239
|
-
let { data: e, error: t, isError: n, isLoading: r } = b({ defaultErrorHandler: !1 }), { data: i, isLoading: a } = p(), { data: o, isLoading: s } = f();
|
|
240
|
-
return {
|
|
241
|
-
automations: m(i?.settings || [], o?.config || {}) ? e?.automations : e?.automations?.filter((e) => e.slug !== ee.paid),
|
|
242
|
-
error: t,
|
|
243
|
-
isError: n,
|
|
244
|
-
isLoading: r || a || s
|
|
245
|
-
};
|
|
246
|
-
};
|
|
247
|
-
//#endregion
|
|
248
|
-
//#region src/views/Automations/automations.tsx
|
|
249
|
-
i();
|
|
250
|
-
var ne = () => {
|
|
251
|
-
let { automations: e, error: t, isError: n, isLoading: r } = te();
|
|
252
|
-
if (n) throw t || /* @__PURE__ */ Error("Failed to load automations");
|
|
253
|
-
return /* @__PURE__ */ (0, z.jsx)(E, { children: /* @__PURE__ */ (0, z.jsxs)(g, {
|
|
254
|
-
"data-testid": "automations-page",
|
|
255
|
-
children: [/* @__PURE__ */ (0, z.jsx)(g.Header, { children: /* @__PURE__ */ (0, z.jsx)(_, {
|
|
256
|
-
blurredBackground: !1,
|
|
257
|
-
sticky: !1,
|
|
258
|
-
children: /* @__PURE__ */ (0, z.jsx)(_.Left, { children: /* @__PURE__ */ (0, z.jsx)(_.Title, { children: /* @__PURE__ */ (0, z.jsxs)("span", {
|
|
259
|
-
className: "inline-flex items-baseline gap-2",
|
|
260
|
-
children: ["Automations", /* @__PURE__ */ (0, z.jsx)(x, {
|
|
261
|
-
className: "px-1 py-px text-[10px] leading-none tracking-wider uppercase",
|
|
262
|
-
variant: "secondary",
|
|
263
|
-
children: "Beta"
|
|
264
|
-
})]
|
|
265
|
-
}) }) })
|
|
266
|
-
}) }), /* @__PURE__ */ (0, z.jsxs)(g.Body, { children: [/* @__PURE__ */ (0, z.jsx)($, {
|
|
267
|
-
automations: e,
|
|
268
|
-
isLoading: r
|
|
269
|
-
}), /* @__PURE__ */ (0, z.jsx)(X, {})] })]
|
|
270
|
-
}) });
|
|
271
|
-
};
|
|
272
|
-
//#endregion
|
|
273
|
-
export { ne as default };
|
|
274
|
-
|
|
275
|
-
//# sourceMappingURL=automations-BM0oBTjO.js.map
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { A as e, F as t, p as n, t as r } from "./jsx-runtime-BfZnKD4L.js";
|
|
2
|
-
import { i, n as a, r as o } from "./hooks-gZAmj4Al.js";
|
|
3
|
-
//#region src/views/Automations/components/automation-status-badge.tsx
|
|
4
|
-
n();
|
|
5
|
-
var s = r(), c = ({ status: e }) => {
|
|
6
|
-
switch (e) {
|
|
7
|
-
case "active": return /* @__PURE__ */ (0, s.jsxs)("span", {
|
|
8
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-green/20 px-2 py-0.5 text-xs font-medium text-green uppercase",
|
|
9
|
-
children: [/* @__PURE__ */ (0, s.jsx)("span", { className: "size-1.5 rounded-full bg-green" }), "Live"]
|
|
10
|
-
});
|
|
11
|
-
case "inactive": return /* @__PURE__ */ (0, s.jsx)("span", {
|
|
12
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground uppercase",
|
|
13
|
-
children: "Off"
|
|
14
|
-
});
|
|
15
|
-
default: throw Error(`Unhandled status: ${e}`);
|
|
16
|
-
}
|
|
17
|
-
}, l = /* @__PURE__ */ t((/* @__PURE__ */ e(((e, t) => {
|
|
18
|
-
for (var n = Math.floor(Math.random() * 16777215), r = d.index = parseInt(Math.random() * 16777215, 10), i = (typeof process > "u" || typeof process.pid != "number" ? Math.floor(Math.random() * 1e5) : process.pid) % 65535, a = (() => {
|
|
19
|
-
try {
|
|
20
|
-
return _Buffer;
|
|
21
|
-
} catch {
|
|
22
|
-
try {
|
|
23
|
-
return Buffer;
|
|
24
|
-
} catch {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
})(), o = function(e) {
|
|
29
|
-
return !!(e != null && e.constructor && typeof e.constructor.isBuffer == "function" && e.constructor.isBuffer(e));
|
|
30
|
-
}, s = [], c = 0; c < 256; c++) s[c] = (c <= 15 ? "0" : "") + c.toString(16);
|
|
31
|
-
var l = /* @__PURE__ */ RegExp("^[0-9a-fA-F]{24}$"), u = [];
|
|
32
|
-
for (c = 0; c < 10;) u[48 + c] = c++;
|
|
33
|
-
for (; c < 16;) u[55 + c] = u[87 + c] = c++;
|
|
34
|
-
function d(e) {
|
|
35
|
-
if (!(this instanceof d)) return new d(e);
|
|
36
|
-
if (e && (e instanceof d || e._bsontype === "ObjectID")) return e;
|
|
37
|
-
if (this._bsontype = "ObjectID", e == null || typeof e == "number") {
|
|
38
|
-
this.id = this.generate(e);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
var t = d.isValid(e);
|
|
42
|
-
if (!t && e != null) throw Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");
|
|
43
|
-
if (t && typeof e == "string" && e.length === 24) return d.createFromHexString(e);
|
|
44
|
-
if (e != null && e.length === 12) this.id = e;
|
|
45
|
-
else if (e != null && typeof e.toHexString == "function") return e;
|
|
46
|
-
else throw Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");
|
|
47
|
-
}
|
|
48
|
-
t.exports = d, d.default = d, d.createFromTime = function(e) {
|
|
49
|
-
return e = parseInt(e, 10) % 4294967295, new d(p(8, e) + "0000000000000000");
|
|
50
|
-
}, d.createFromHexString = function(e) {
|
|
51
|
-
if (e === void 0 || e != null && e.length !== 24) throw Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");
|
|
52
|
-
for (var t = "", n = 0; n < 24;) t += String.fromCharCode(u[e.charCodeAt(n++)] << 4 | u[e.charCodeAt(n++)]);
|
|
53
|
-
return new d(t);
|
|
54
|
-
}, d.isValid = function(e) {
|
|
55
|
-
return e == null ? !1 : typeof e == "number" ? !0 : typeof e == "string" ? e.length === 12 || e.length === 24 && l.test(e) : e instanceof d ? !0 : o(e) ? d.isValid(e.toString("hex")) : typeof e.toHexString == "function" && a && (e.id instanceof a || typeof e.id == "string") ? e.id.length === 12 || e.id.length === 24 && l.test(e.id) : !1;
|
|
56
|
-
}, d.prototype = {
|
|
57
|
-
constructor: d,
|
|
58
|
-
toHexString: function() {
|
|
59
|
-
if (!this.id || !this.id.length) throw Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is [" + JSON.stringify(this.id) + "]");
|
|
60
|
-
if (this.id.length === 24) return this.id;
|
|
61
|
-
if (o(this.id)) return this.id.toString("hex");
|
|
62
|
-
for (var e = "", t = 0; t < this.id.length; t++) e += s[this.id.charCodeAt(t)];
|
|
63
|
-
return e;
|
|
64
|
-
},
|
|
65
|
-
equals: function(e) {
|
|
66
|
-
return e instanceof d ? this.toString() === e.toString() : typeof e == "string" && d.isValid(e) && e.length === 12 && o(this.id) ? e === this.id.toString("binary") : typeof e == "string" && d.isValid(e) && e.length === 24 ? e.toLowerCase() === this.toHexString() : typeof e == "string" && d.isValid(e) && e.length === 12 ? e === this.id : e != null && (e instanceof d || e.toHexString) ? e.toHexString() === this.toHexString() : !1;
|
|
67
|
-
},
|
|
68
|
-
getTimestamp: function() {
|
|
69
|
-
var e = /* @__PURE__ */ new Date(), t = o(this.id) ? this.id[3] | this.id[2] << 8 | this.id[1] << 16 | this.id[0] << 24 : this.id.charCodeAt(3) | this.id.charCodeAt(2) << 8 | this.id.charCodeAt(1) << 16 | this.id.charCodeAt(0) << 24;
|
|
70
|
-
return e.setTime(Math.floor(t) * 1e3), e;
|
|
71
|
-
},
|
|
72
|
-
generate: function(e) {
|
|
73
|
-
typeof e != "number" && (e = ~~(Date.now() / 1e3)), e = parseInt(e, 10) % 4294967295;
|
|
74
|
-
var t = f();
|
|
75
|
-
return String.fromCharCode(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, e & 255, n >> 16 & 255, n >> 8 & 255, n & 255, i >> 8 & 255, i & 255, t >> 16 & 255, t >> 8 & 255, t & 255);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
function f() {
|
|
79
|
-
return r = (r + 1) % 16777215;
|
|
80
|
-
}
|
|
81
|
-
function p(e, t) {
|
|
82
|
-
return t = t.toString(16), t.length === e ? t : "00000000".substring(t.length, e) + t;
|
|
83
|
-
}
|
|
84
|
-
var m = Symbol && Symbol.for && Symbol.for("nodejs.util.inspect.custom") || "inspect";
|
|
85
|
-
d.prototype[m] = function() {
|
|
86
|
-
return "ObjectID(" + this + ")";
|
|
87
|
-
}, d.prototype.toJSON = d.prototype.toHexString, d.prototype.toString = d.prototype.toHexString;
|
|
88
|
-
})))(), 1), u = "AutomationsResponseType", d = o({
|
|
89
|
-
dataType: u,
|
|
90
|
-
path: "/automations/"
|
|
91
|
-
}), f = i({
|
|
92
|
-
dataType: u,
|
|
93
|
-
path: (e) => `/automations/${e}/`
|
|
94
|
-
}), p = a({
|
|
95
|
-
method: "PUT",
|
|
96
|
-
path: ({ id: e }) => `/automations/${e}/`,
|
|
97
|
-
body: ({ status: e, actions: t, edges: n }) => ({ automations: [{
|
|
98
|
-
status: e,
|
|
99
|
-
actions: t,
|
|
100
|
-
edges: n
|
|
101
|
-
}] }),
|
|
102
|
-
invalidateQueries: { dataType: u }
|
|
103
|
-
}), m = a({
|
|
104
|
-
method: "POST",
|
|
105
|
-
path: ({ id: e }) => `/automations/${e}/email_preview`,
|
|
106
|
-
body: ({ subject: e, lexical: t }) => ({
|
|
107
|
-
subject: e,
|
|
108
|
-
lexical: t
|
|
109
|
-
})
|
|
110
|
-
}), h = a({
|
|
111
|
-
method: "POST",
|
|
112
|
-
path: ({ id: e }) => `/automations/${e}/email_test`,
|
|
113
|
-
body: ({ email: e, subject: t, lexical: n }) => ({
|
|
114
|
-
email: e,
|
|
115
|
-
subject: t,
|
|
116
|
-
lexical: n
|
|
117
|
-
})
|
|
118
|
-
}), g = () => (0, l.default)().toHexString(), _ = "default-automated-email", v = JSON.stringify({ root: {
|
|
119
|
-
children: [],
|
|
120
|
-
direction: null,
|
|
121
|
-
format: "",
|
|
122
|
-
indent: 0,
|
|
123
|
-
type: "root",
|
|
124
|
-
version: 1
|
|
125
|
-
} }), y = () => ({
|
|
126
|
-
id: g(),
|
|
127
|
-
type: "wait",
|
|
128
|
-
data: { wait_hours: 24 }
|
|
129
|
-
}), b = () => ({
|
|
130
|
-
id: g(),
|
|
131
|
-
type: "send_email",
|
|
132
|
-
data: {
|
|
133
|
-
email_subject: "",
|
|
134
|
-
email_lexical: v,
|
|
135
|
-
email_design_setting_id: _
|
|
136
|
-
}
|
|
137
|
-
}), x = (e, t) => {
|
|
138
|
-
if (!e.actions.some((e) => e.id === t)) throw Error(`spliceAction: anchor references unknown action id "${t}"`);
|
|
139
|
-
}, S = (e, t, n) => e.edges.some((e) => e.source_action_id === t && e.target_action_id === n), C = ({ detail: e, action: t, anchor: n }) => {
|
|
140
|
-
let { previousActionId: r, nextActionId: i } = n;
|
|
141
|
-
if (r !== void 0 && x(e, r), i !== void 0 && x(e, i), r === void 0 && i === void 0 && e.actions.length > 0) throw Error("spliceAction: anchor is required when inserting into a non-empty automation");
|
|
142
|
-
if (r !== void 0 && i !== void 0 && !S(e, r, i)) throw Error(`spliceAction: anchor edge "${r}" -> "${i}" does not exist`);
|
|
143
|
-
if (r !== void 0 && i === void 0 && e.edges.some((e) => e.source_action_id === r)) throw Error(`spliceAction: anchor previousActionId "${r}" is not the tail action`);
|
|
144
|
-
if (r === void 0 && i !== void 0 && e.edges.some((e) => e.target_action_id === i)) throw Error(`spliceAction: anchor nextActionId "${i}" is not the head action`);
|
|
145
|
-
let a = [...e.actions, t], o = e.edges.filter((e) => !(e.source_action_id === r && e.target_action_id === i));
|
|
146
|
-
return r !== void 0 && o.push({
|
|
147
|
-
source_action_id: r,
|
|
148
|
-
target_action_id: t.id
|
|
149
|
-
}), i !== void 0 && o.push({
|
|
150
|
-
source_action_id: t.id,
|
|
151
|
-
target_action_id: i
|
|
152
|
-
}), {
|
|
153
|
-
...e,
|
|
154
|
-
actions: a,
|
|
155
|
-
edges: o
|
|
156
|
-
};
|
|
157
|
-
}, w = ({ detail: e, anchor: t }) => C({
|
|
158
|
-
detail: e,
|
|
159
|
-
action: y(),
|
|
160
|
-
anchor: t
|
|
161
|
-
}), T = ({ detail: e, anchor: t }) => C({
|
|
162
|
-
detail: e,
|
|
163
|
-
action: b(),
|
|
164
|
-
anchor: t
|
|
165
|
-
}), E = ({ detail: e, actionId: t, waitHours: n }) => {
|
|
166
|
-
if (!Number.isSafeInteger(n) || n <= 0) throw Error(`updateWaitAction: waitHours must be a safe positive integer, received "${n}"`);
|
|
167
|
-
let r = !1, i = e.actions.map((e) => {
|
|
168
|
-
if (e.id === t) {
|
|
169
|
-
if (e.type !== "wait") throw Error(`updateWaitAction: action "${t}" is not a wait action`);
|
|
170
|
-
return r = !0, {
|
|
171
|
-
...e,
|
|
172
|
-
data: {
|
|
173
|
-
...e.data,
|
|
174
|
-
wait_hours: n
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
return e;
|
|
179
|
-
});
|
|
180
|
-
if (!r) throw Error(`updateWaitAction: unknown action id "${t}"`);
|
|
181
|
-
return {
|
|
182
|
-
...e,
|
|
183
|
-
actions: i,
|
|
184
|
-
edges: [...e.edges]
|
|
185
|
-
};
|
|
186
|
-
}, D = ({ detail: e, actionId: t, emailSubject: n, emailLexical: r }) => {
|
|
187
|
-
let i = !1, a = e.actions.map((e) => {
|
|
188
|
-
if (e.id === t) {
|
|
189
|
-
if (e.type !== "send_email") throw Error(`updateSendEmailAction: action "${t}" is not a send_email action`);
|
|
190
|
-
return i = !0, {
|
|
191
|
-
...e,
|
|
192
|
-
data: {
|
|
193
|
-
...e.data,
|
|
194
|
-
email_subject: n,
|
|
195
|
-
email_lexical: r
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
return e;
|
|
200
|
-
});
|
|
201
|
-
if (!i) throw Error(`updateSendEmailAction: unknown action id "${t}"`);
|
|
202
|
-
return {
|
|
203
|
-
...e,
|
|
204
|
-
actions: a,
|
|
205
|
-
edges: [...e.edges]
|
|
206
|
-
};
|
|
207
|
-
}, O = ({ detail: e, actionId: t }) => {
|
|
208
|
-
let n = e.actions.filter((e) => e.id !== t);
|
|
209
|
-
if (!(n.length < e.actions.length)) throw Error(`removeAction: unknown action id "${t}"`);
|
|
210
|
-
let r = e.edges.find((e) => e.target_action_id === t), i = e.edges.find((e) => e.source_action_id === t), a = e.edges.filter((e) => e.source_action_id !== t && e.target_action_id !== t);
|
|
211
|
-
return r && i && a.push({
|
|
212
|
-
source_action_id: r.source_action_id,
|
|
213
|
-
target_action_id: i.target_action_id
|
|
214
|
-
}), {
|
|
215
|
-
...e,
|
|
216
|
-
actions: n,
|
|
217
|
-
edges: a
|
|
218
|
-
};
|
|
219
|
-
};
|
|
220
|
-
//#endregion
|
|
221
|
-
export { E as a, m as c, c as d, D as i, f as l, w as n, d as o, O as r, p as s, T as t, h as u };
|
|
222
|
-
|
|
223
|
-
//# sourceMappingURL=automations-Dbp-gdHS.js.map
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { D as e, E as t, b as n, f as r, p as i, t as a } from "./jsx-runtime-BfZnKD4L.js";
|
|
2
|
-
import { At as o, Ft as s, Mt as c, Nt as l, c as u } from "./button-Dd8Xreln.js";
|
|
3
|
-
import { h as d, s as f } from "./shade-app-DLbeExcd-NeEZjE3R.js";
|
|
4
|
-
import { a as p, r as m } from "./app-utils-9O53Czfw.js";
|
|
5
|
-
//#region ../../node_modules/.pnpm/@radix-ui+react-avatar@1.2.1_@types+react-dom@18.3.7_@types+react@18.3.31__@types+react_618495bb42525b350fac96e721ad44e8/node_modules/@radix-ui/react-avatar/dist/index.mjs
|
|
6
|
-
i();
|
|
7
|
-
var h = a(), g = "Avatar", [_, v] = l(g), y = [0, () => void 0], [b, x] = _(g), S = r((t, n) => {
|
|
8
|
-
let { __scopeAvatar: r, ...i } = t, [a, o] = e("idle"), [c, l] = k();
|
|
9
|
-
return /* @__PURE__ */ (0, h.jsx)(b, {
|
|
10
|
-
scope: r,
|
|
11
|
-
imageLoadingStatus: a,
|
|
12
|
-
setImageLoadingStatus: o,
|
|
13
|
-
imageCount: c,
|
|
14
|
-
setImageCount: l,
|
|
15
|
-
children: /* @__PURE__ */ (0, h.jsx)(s.span, {
|
|
16
|
-
...i,
|
|
17
|
-
ref: n
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
S.displayName = g;
|
|
22
|
-
var C = "AvatarImage", w = r((e, n) => {
|
|
23
|
-
let { __scopeAvatar: r, src: i, onLoadingStatusChange: a, ...l } = e, u = x(C, r);
|
|
24
|
-
A(u.setImageCount);
|
|
25
|
-
let d = D(i, {
|
|
26
|
-
referrerPolicy: l.referrerPolicy,
|
|
27
|
-
crossOrigin: l.crossOrigin,
|
|
28
|
-
loadingStatus: u.imageLoadingStatus,
|
|
29
|
-
setLoadingStatus: u.setImageLoadingStatus
|
|
30
|
-
}), f = o((e) => {
|
|
31
|
-
a?.(e);
|
|
32
|
-
}), p = t(d);
|
|
33
|
-
return c(() => {
|
|
34
|
-
let e = p.current;
|
|
35
|
-
p.current = d, d !== e && f(d);
|
|
36
|
-
}, [d, f]), d === "loaded" ? /* @__PURE__ */ (0, h.jsx)(s.img, {
|
|
37
|
-
...l,
|
|
38
|
-
ref: n,
|
|
39
|
-
src: i
|
|
40
|
-
}) : null;
|
|
41
|
-
});
|
|
42
|
-
w.displayName = C;
|
|
43
|
-
var T = "AvatarFallback", E = r((t, r) => {
|
|
44
|
-
let { __scopeAvatar: i, delayMs: a, ...o } = t, c = x(T, i), [l, u] = e(a === void 0);
|
|
45
|
-
return n(() => {
|
|
46
|
-
if (a !== void 0) {
|
|
47
|
-
let e = window.setTimeout(() => u(!0), a);
|
|
48
|
-
return () => window.clearTimeout(e);
|
|
49
|
-
}
|
|
50
|
-
}, [a]), l && c.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, h.jsx)(s.span, {
|
|
51
|
-
...o,
|
|
52
|
-
ref: r
|
|
53
|
-
}) : null;
|
|
54
|
-
});
|
|
55
|
-
E.displayName = T;
|
|
56
|
-
function D(e, { loadingStatus: t, setLoadingStatus: n, referrerPolicy: r, crossOrigin: i }) {
|
|
57
|
-
return c(() => {
|
|
58
|
-
if (!e) {
|
|
59
|
-
n("error");
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
let t = new window.Image(), a = (e) => {
|
|
63
|
-
let t = e.currentTarget;
|
|
64
|
-
n(O(t));
|
|
65
|
-
}, o = () => n("error");
|
|
66
|
-
return t.addEventListener("load", a), t.addEventListener("error", o), r && (t.referrerPolicy = r), t.crossOrigin = i ?? null, t.src = e, n(O(t)), () => {
|
|
67
|
-
t.removeEventListener("load", a), t.removeEventListener("error", o), n("idle");
|
|
68
|
-
};
|
|
69
|
-
}, [
|
|
70
|
-
e,
|
|
71
|
-
i,
|
|
72
|
-
r,
|
|
73
|
-
n
|
|
74
|
-
]), t;
|
|
75
|
-
}
|
|
76
|
-
function O(e) {
|
|
77
|
-
return e.complete ? e.naturalWidth > 0 ? "loaded" : "error" : "loading";
|
|
78
|
-
}
|
|
79
|
-
function k() {
|
|
80
|
-
let r = y;
|
|
81
|
-
{
|
|
82
|
-
r = e(0);
|
|
83
|
-
let [i] = r, a = t(!1);
|
|
84
|
-
n(() => {
|
|
85
|
-
i > 1 && !a.current && (a.current = !0, console.warn("Avatar: Only one `Avatar.Image` component should be rendered per `Avatar.Root`, but multiple were detected. This will lead to unexpected behavior."));
|
|
86
|
-
}, [i]);
|
|
87
|
-
}
|
|
88
|
-
return r;
|
|
89
|
-
}
|
|
90
|
-
function A(e) {
|
|
91
|
-
n(() => (e((e) => e + 1), () => {
|
|
92
|
-
e((e) => e - 1);
|
|
93
|
-
}), [e]);
|
|
94
|
-
}
|
|
95
|
-
//#endregion
|
|
96
|
-
//#region ../shade/es/components/ui/avatar.js
|
|
97
|
-
i();
|
|
98
|
-
var j = r(({ className: e, ...t }, n) => /* @__PURE__ */ (0, h.jsx)(w, {
|
|
99
|
-
ref: n,
|
|
100
|
-
className: f("aspect-square size-full", e),
|
|
101
|
-
...t
|
|
102
|
-
}));
|
|
103
|
-
j.displayName = w.displayName;
|
|
104
|
-
var M = r(({ className: e, ...t }, n) => /* @__PURE__ */ (0, h.jsx)(E, {
|
|
105
|
-
ref: n,
|
|
106
|
-
className: f("flex size-full items-center justify-center rounded-full bg-muted [&_svg]:size-4", e),
|
|
107
|
-
...t
|
|
108
|
-
}));
|
|
109
|
-
M.displayName = E.displayName;
|
|
110
|
-
function N({ src: t }) {
|
|
111
|
-
let [r, i] = e(!1);
|
|
112
|
-
return n(() => {
|
|
113
|
-
i(!1);
|
|
114
|
-
}, [t]), /* @__PURE__ */ (0, h.jsx)("img", {
|
|
115
|
-
alt: "",
|
|
116
|
-
className: f("absolute inset-0 size-full object-cover", !r && "invisible"),
|
|
117
|
-
src: t,
|
|
118
|
-
onLoad: (e) => {
|
|
119
|
-
let { naturalWidth: t, naturalHeight: n } = e.currentTarget;
|
|
120
|
-
t > 1 && n > 1 && i(!0);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
var P = r(({ className: e, children: t, src: n, name: r, email: i, ...a }, o) => {
|
|
125
|
-
let s = {
|
|
126
|
-
name: r || void 0,
|
|
127
|
-
email: i || void 0
|
|
128
|
-
}, c = !!(r || i), l = c ? p(s) : null, g = c ? d(m(s), "45", "55") : void 0;
|
|
129
|
-
return /* @__PURE__ */ (0, h.jsx)(S, {
|
|
130
|
-
ref: o,
|
|
131
|
-
className: f("relative flex size-8 shrink-0 overflow-hidden rounded-full", e),
|
|
132
|
-
...a,
|
|
133
|
-
children: t ?? /* @__PURE__ */ (0, h.jsxs)(h.Fragment, { children: [/* @__PURE__ */ (0, h.jsx)(M, {
|
|
134
|
-
className: f("text-xs text-muted-foreground md:text-sm [&_svg]:size-3 md:[&_svg]:size-4", c && "font-semibold text-white"),
|
|
135
|
-
style: c ? { backgroundColor: g } : void 0,
|
|
136
|
-
children: l ?? /* @__PURE__ */ (0, h.jsx)(u, {})
|
|
137
|
-
}), n && /* @__PURE__ */ (0, h.jsx)(N, { src: n })] })
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
P.displayName = S.displayName;
|
|
141
|
-
//#endregion
|
|
142
|
-
export { M as n, P as t };
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=avatar-kOk1tTvT.js.map
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { p as e, t } from "./jsx-runtime-BfZnKD4L.js";
|
|
2
|
-
import { o as n, s as r } from "./shade-app-DLbeExcd-NeEZjE3R.js";
|
|
3
|
-
//#region ../shade/es/components/ui/badge.js
|
|
4
|
-
e();
|
|
5
|
-
var i = t(), a = n("inline-flex items-center rounded-xs border px-1.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-focus-ring focus:ring-offset-2 focus:outline-hidden", {
|
|
6
|
-
variants: { variant: {
|
|
7
|
-
default: "border-transparent bg-primary text-primary-foreground",
|
|
8
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground/70",
|
|
9
|
-
destructive: "border-transparent bg-destructive/20 text-destructive",
|
|
10
|
-
success: "border-transparent bg-green/20 text-green",
|
|
11
|
-
warning: "border-transparent bg-state-warning/20 text-yellow-600",
|
|
12
|
-
outline: "text-foreground"
|
|
13
|
-
} },
|
|
14
|
-
defaultVariants: { variant: "default" }
|
|
15
|
-
});
|
|
16
|
-
function o({ className: e, variant: t, ...n }) {
|
|
17
|
-
return /* @__PURE__ */ (0, i.jsx)("div", {
|
|
18
|
-
className: r(a({ variant: t }), e),
|
|
19
|
-
...n
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
//#endregion
|
|
23
|
-
export { a as n, o as t };
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=badge-DnByIHe9.js.map
|