@feedmepos/mf-connect 0.1.98-beta.76 → 0.1.98-beta.78

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.
Files changed (127) hide show
  1. package/dist/{App-BpNFuouR.js → App-Ddo6B0cR.js} +9 -9
  2. package/dist/{AuditLogs-D7vTaaiU.js → AuditLogs-CTW4pKS6.js} +13 -13
  3. package/dist/{Bin-BDo0Vi0U.js → Bin-54ynGToX.js} +8 -8
  4. package/dist/{Broadcast-Ctz8bCnt.js → Broadcast-Bwnrmqhh.js} +12 -12
  5. package/dist/{CampaignAnalytic-BnxmzdYI.js → CampaignAnalytic-Q_IRT5AD.js} +7 -7
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-Bt2T2jVi.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BioWaVBq.js} +8 -8
  7. package/dist/{Card-D9pYLwUX.js → Card-DVfhElpd.js} +23 -23
  8. package/dist/{Collections-BP7_jYJY.js → Collections-D1ncD8Mx.js} +8 -8
  9. package/dist/{Credit-D-3Ri1fe.js → Credit-DXPNdUJ_.js} +12 -12
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-D2k77nhT.js → DateRangeChip.vue_vue_type_script_setup_true_lang-DiR_5MgW.js} +1 -1
  11. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-FjKUID8K.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-wfV6zhMB.js} +35 -35
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-tfDnADgu.js → EffectSheet.vue_vue_type_style_index_0_lang-NqbdAsJM.js} +6 -6
  13. package/dist/{Experience-CZMQLMe1.js → Experience-B-ksR_d_.js} +13 -13
  14. package/dist/{FileSaver.min-_0SQsF4z.js → FileSaver.min-DcsYCTzs.js} +1 -1
  15. package/dist/{Game-Oy1ys3Vc.js → Game-CPgjDM23.js} +13 -13
  16. package/dist/{GiftCardSetup-DIzgr6Ew.js → GiftCardSetup-DdH3wEOH.js} +10 -10
  17. package/dist/GoalPickerPanel.vue_vue_type_script_setup_true_lang-BmskpBdL.js +424 -0
  18. package/dist/Goals-xDLeFx_e.js +247 -0
  19. package/dist/{Grab-2mznKLou.js → Grab-CggkOy8j.js} +9 -9
  20. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-BaA6OJW8.js → ImageInput.vue_vue_type_script_setup_true_lang-Cm-g1p_m.js} +1 -1
  21. package/dist/{Index-BRiQjotA.js → Index-DcJNte9-.js} +10 -10
  22. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-RnhLgDQA.js → LocationPicker.vue_vue_type_script_setup_true_lang-Ba2mtWTj.js} +1 -1
  23. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DcHERHsz.js → LottieAnimation.vue_vue_type_script_setup_true_lang-xQYvmoY2.js} +1 -1
  24. package/dist/{LoyaltyDashboard-A0dEiZD0.js → LoyaltyDashboard-BMmC9kTo.js} +19 -16
  25. package/dist/{MainLayout-CAeP3Geb.js → MainLayout-5V9aP_OW.js} +3 -3
  26. package/dist/{Marketing-iXJhsmSi.js → Marketing-C-7HoFsr.js} +4 -4
  27. package/dist/{MarketingMaterialEdit-1s-wm1Sq.js → MarketingMaterialEdit-DKQrW2w-.js} +6 -6
  28. package/dist/{Member-Dn-yYonX.js → Member-BT-tGIGu.js} +7 -7
  29. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-W3-KGb8L.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-CMc423yy.js} +24 -24
  30. package/dist/{MemberImportHistory-DKNbehJf.js → MemberImportHistory-4hgNWaYG.js} +7 -7
  31. package/dist/{MemberList-BCYfSkeY.js → MemberList-CHToXvvZ.js} +14 -14
  32. package/dist/{MemberTransactions-0W1jYGG_.js → MemberTransactions-sF8tlSLx.js} +1 -1
  33. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-DTBxNZgb.js → MessageInput.vue_vue_type_script_setup_true_lang-CX5N4HN8.js} +10 -10
  34. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DBfJciw7.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-B9xthwp-.js} +1 -1
  35. package/dist/{Mission-CDZLGBOq.js → Mission-DeRwazDk.js} +14 -14
  36. package/dist/{Overview-DfPfT1jl.js → Overview-CGHc1dGA.js} +21 -21
  37. package/dist/{Overview-CNNlp-sj.js → Overview-D1BfB0go.js} +4 -4
  38. package/dist/{Point-CFYSW-kx.js → Point-DLbz1o1i.js} +14 -14
  39. package/dist/{Promotion-E1MiG5Lb.js → Promotion-ND7k0GAt.js} +14 -14
  40. package/dist/{Queue-BlHxfV4T.js → Queue-DSZ6SHw8.js} +13 -13
  41. package/dist/{Record-6EVmRgo2.js → Record-Cgl4Okdd.js} +9 -9
  42. package/dist/{Review-BePSVC45.js → Review-CQYHHkrB.js} +2 -2
  43. package/dist/{ReviewFacebookCallback-BJ-jdMEF.js → ReviewFacebookCallback-D-5cP6tF.js} +5 -5
  44. package/dist/{ReviewGoogleCallback-DxJD3of9.js → ReviewGoogleCallback-BqS0lbMq.js} +5 -5
  45. package/dist/{Reward-Xzyb9DNA.js → Reward-CEP9NauM.js} +16 -16
  46. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-ZKTIxMz2.js → RewardGroup.vue_vue_type_script_setup_true_lang-B3A5Vl9M.js} +14 -14
  47. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-BIO78oG3.js → RuleGroup.vue_vue_type_script_setup_true_lang-Dx4fbmfw.js} +15 -15
  48. package/dist/{Segment-Cagj_3Sq.js → Segment-DVptqzgz.js} +26 -26
  49. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-Dh_ajamB.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-oGVnY7GQ.js} +15 -15
  50. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-Bd0GtFww.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-BTAWB1BA.js} +4 -4
  51. package/dist/{Setting-DHPCKzLm.js → Setting-Cz0VvOFH.js} +14 -14
  52. package/dist/{SettingAdvertisements-bfXYN1hv.js → SettingAdvertisements-D60yC83d.js} +12 -12
  53. package/dist/{Settings-CpFEG6Dd.js → Settings-BrfX54vL.js} +5 -5
  54. package/dist/{Store-CIIIti42.js → Store-9RdTlgUo.js} +27 -27
  55. package/dist/{StoreRewards-CR4zi9ux.js → StoreRewards-Cutn32ZD.js} +15 -15
  56. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-BpXk51-h.js → StoreTransactions.vue_vue_type_script_setup_true_lang-CJKQBlfI.js} +25 -25
  57. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-CTfox5KD.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-I-fIH-8N.js} +2 -2
  58. package/dist/{Tier-f_UEiHYS.js → Tier-DQBr9R7i.js} +27 -27
  59. package/dist/{Title-7XWLideF.js → Title-Ci9aPFLz.js} +23 -23
  60. package/dist/{Transaction-LRL7sbDu.js → Transaction-DqbHdcPo.js} +2 -2
  61. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-CWtm4qIy.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-CTmiqIwm.js} +6 -6
  62. package/dist/{Voucher-BqVEkMiW.js → Voucher-4lhxhd9C.js} +18 -18
  63. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-DiDpsXqP.js → VoucherEditor.vue_vue_type_script_setup_true_lang-CFi6-VKK.js} +12 -12
  64. package/dist/WhatsappBot-D38goJxM.js +604 -0
  65. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-ByA_M7mT.js → ZodTextField.vue_vue_type_script_setup_true_lang-Dgge7-H4.js} +2 -2
  66. package/dist/{app-DCe_VQSq.js → app-Bb2tSOqF.js} +323 -318
  67. package/dist/app.js +1 -1
  68. package/dist/{base.export-gNtvqhh6.js → base.export-BBOmcZxx.js} +2 -2
  69. package/dist/{business-CvopE1wJ.js → business-CjXvFAZn.js} +1 -1
  70. package/dist/{campaign-D87mJcvH.js → campaign-D2R8I06-.js} +2 -2
  71. package/dist/{campaign-CRQDvYX-.js → campaign-G0f6ljXi.js} +8 -8
  72. package/dist/{campaign.fn-DWNcsYr9.js → campaign.fn-D-rMF_4s.js} +64 -64
  73. package/dist/{collection.fn-CDPBajL8.js → collection.fn-Bvg6FCJb.js} +2 -2
  74. package/dist/{currency-oSov4t8f.js → currency-BeiHwq_q.js} +1 -1
  75. package/dist/{duplicateCampaign-CPMPIPg1.js → duplicateCampaign-Byxy6FXH.js} +2 -2
  76. package/dist/{effect-CeQ-vqGq.js → effect-DqYtqvaw.js} +1 -1
  77. package/dist/{email-addresses-GNLhUzgZ.js → email-addresses-xIlBl9IU.js} +2 -2
  78. package/dist/{helper-CdGkmdxL.js → helper-TqUK4r0b.js} +1 -1
  79. package/dist/{index-CwOnVt6n.js → index-7guDU5qb.js} +7 -7
  80. package/dist/{index-CbzWLlC9.js → index-9FJqvQeE.js} +3 -3
  81. package/dist/{index-CkHztow_.js → index-B1L4q1L0.js} +29 -24
  82. package/dist/{index-CaMlQSvW.js → index-B44CZDQD.js} +2 -2
  83. package/dist/{index-CzvnWHo6.js → index-BDt914jM.js} +1 -1
  84. package/dist/{index-CHLqP0Ec.js → index-BFHYshPb.js} +1 -1
  85. package/dist/{index-Cp2qabkb.js → index-BgECjFM0.js} +5 -5
  86. package/dist/{index-CK2gvgpm.js → index-BvHzJVnj.js} +1 -1
  87. package/dist/{index-V4Fej0RK.js → index-BvjcosEc.js} +3 -3
  88. package/dist/{index-BFsnFZkK.js → index-BxEshHrE.js} +9 -9
  89. package/dist/{index-Ch9ZZ90e.js → index-C7V7AtVf.js} +2 -2
  90. package/dist/{index-DXGfSYbL.js → index-CSI31fuh.js} +4 -4
  91. package/dist/{index-BhcW_yBW.js → index-DG8fSuaM.js} +1 -1
  92. package/dist/{index-CqUDkK17.js → index-DMWHB3Zu.js} +2 -2
  93. package/dist/{index-JSRHjm1v.js → index-DNcisv5D.js} +1 -1
  94. package/dist/{index-DtxAUayi.js → index-D_ix7k3A.js} +2 -2
  95. package/dist/{index-CfsnVMZ5.js → index-Dt8H5FKD.js} +4 -4
  96. package/dist/{index-ShdxYCbF.js → index-XqDLmdvl.js} +2 -2
  97. package/dist/{index-P6H0Nj1-.js → index-nuIbpzmL.js} +1 -1
  98. package/dist/{index-CCDx-XqV.js → index-t-aeCJQI.js} +2 -2
  99. package/dist/{index.esm2017-a1JYIQui.js → index.esm2017-Byww7zVy.js} +37 -37
  100. package/dist/{loading-DBX3vfS4.js → loading-pAf2o94t.js} +1 -1
  101. package/dist/{lodash-BQQbr-v0.js → lodash-CnCxUFbR.js} +1 -1
  102. package/dist/{member-import-CM-7fvI2.js → member-import-D5RxoWpQ.js} +1 -1
  103. package/dist/{membership-DhCbt2tn.js → membership--1r5zMgb.js} +2 -2
  104. package/dist/{money-CqQin-8P.js → money-YS0nj9Vy.js} +1 -1
  105. package/dist/{number-VtG8ZWak.js → number-DpfYNS77.js} +1 -1
  106. package/dist/{objectid-ByBBguim.js → objectid-CzMdDxLC.js} +9 -9
  107. package/dist/onboarding-XAuEF8Fv.js +131 -0
  108. package/dist/{onboardingSetup-B-9izpMN.js → onboardingSetup-CKQDFlu9.js} +2 -2
  109. package/dist/{plugins-B2TWkTg5.js → plugins-CO0TBKil.js} +3 -3
  110. package/dist/{reward-B4QDE-hp.js → reward-CfKDiCkk.js} +1 -1
  111. package/dist/{rule-CzZo6Z5G.js → rule-BuuHD_-S.js} +10 -10
  112. package/dist/style.css +1 -1
  113. package/dist/{template-Co9GIfDK.js → template-DYbZtKQg.js} +6 -6
  114. package/dist/{timezone-CXb1Of5W.js → timezone-C64owf7o.js} +1 -1
  115. package/dist/{transaction.fn-D1shYDAp.js → transaction.fn-ClQ1jH9V.js} +2 -2
  116. package/dist/{trigger-D1iPqyua.js → trigger-DUkCFrPG.js} +5 -5
  117. package/dist/{useMarketingMaterialActions-BWrHG4u3.js → useMarketingMaterialActions-CA2iWa32.js} +3 -3
  118. package/dist/{usePagination-vGg6slc_.js → usePagination-BZmMaVcI.js} +1 -1
  119. package/dist/{user-BL1FGfP0.js → user-beTdsIEQ.js} +1 -1
  120. package/dist/{vue-i18n-GqQ0e2Uh.js → vue-i18n-Cfu8S_JC.js} +357 -357
  121. package/dist/{xlsx-No9Jac5G.js → xlsx-BMeHM9By.js} +651 -651
  122. package/dist/{zod-DCljEP8S.js → zod-DTSByurx.js} +1 -1
  123. package/package.json +1 -1
  124. package/dist/GoalPickerPanel.vue_vue_type_script_setup_true_lang-gdvTQM25.js +0 -417
  125. package/dist/Goals-CO8hZIU2.js +0 -244
  126. package/dist/WhatsappBot-Cu1oY_1Y.js +0 -577
  127. package/dist/onboarding-CK20C51K.js +0 -129
@@ -0,0 +1,424 @@
1
+ import { defineComponent as A, resolveComponent as k, openBlock as o, createBlock as p, withCtx as w, createElementVNode as c, unref as t, createVNode as x, ref as ee, computed as I, toDisplayString as h, createElementBlock as r, Fragment as L, renderList as T, createCommentVNode as f, normalizeClass as me, isRef as pe } from "vue";
2
+ import { u as K } from "./vue-i18n-Cfu8S_JC.js";
3
+ import { useRouter as be } from "vue-router";
4
+ import { S as fe } from "./index-D_ix7k3A.js";
5
+ import "./index-BDt914jM.js";
6
+ import { n as te } from "./plugins-CO0TBKil.js";
7
+ import { u as ne } from "./business-CjXvFAZn.js";
8
+ import { u as U, e as ye, i as ge, p as _e, g as oe, o as ve, d as xe, c as he } from "./onboarding-XAuEF8Fv.js";
9
+ import { R as Z } from "./app-Bb2tSOqF.js";
10
+ const ke = ["aria-label"], M = /* @__PURE__ */ A({
11
+ __name: "SectionChip",
12
+ props: {
13
+ label: {},
14
+ tooltip: {}
15
+ },
16
+ setup(u) {
17
+ const { t: P } = K();
18
+ return (s, C) => {
19
+ const e = k("FmChip"), $ = k("FmTooltip");
20
+ return u.tooltip ? (o(), p($, {
21
+ key: 0,
22
+ variant: "plain",
23
+ placement: "top",
24
+ content: u.tooltip
25
+ }, {
26
+ default: w(() => [
27
+ c("button", {
28
+ type: "button",
29
+ class: "inline-flex fm-corner-radius-md",
30
+ "aria-label": t(P)("connect.onboarding.more_about", { section: u.label })
31
+ }, [
32
+ x(e, {
33
+ variant: "plain",
34
+ compact: "",
35
+ label: u.label,
36
+ "right-icon": "help"
37
+ }, null, 8, ["label"])
38
+ ], 8, ke)
39
+ ]),
40
+ _: 1
41
+ }, 8, ["content"])) : (o(), p(e, {
42
+ key: 1,
43
+ variant: "plain",
44
+ compact: "",
45
+ label: u.label
46
+ }, null, 8, ["label"]));
47
+ };
48
+ }
49
+ }), Ce = { class: "flex items-center gap-16 p-24 flex-wrap" }, $e = { class: "flex flex-col gap-4 flex-1 min-w-[200px]" }, Fe = { class: "fm-typo-en-title-sm-800 text-fm-color-typo-primary" }, Se = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Be = {
50
+ key: 0,
51
+ class: "flex flex-wrap gap-8 mt-4"
52
+ }, Ie = { class: "flex items-center gap-4" }, Ve = {
53
+ key: 0,
54
+ class: "flex items-center gap-16 px-24 py-16 border-t border-fm-color-neutral-gray-100 flex-wrap"
55
+ }, De = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-primary flex-1" }, Pe = {
56
+ key: 1,
57
+ class: "flex flex-col"
58
+ }, Ge = { class: "flex flex-col gap-4 flex-1 min-w-0" }, Le = { class: "flex items-center gap-8 flex-wrap" }, Ee = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Ne = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary whitespace-nowrap" }, Oe = {
59
+ key: 1,
60
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary"
61
+ }, Re = {
62
+ key: 0,
63
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary max-w-[62ch]"
64
+ }, Te = { class: "flex items-center gap-4 shrink-0" }, dt = /* @__PURE__ */ A({
65
+ __name: "SetupCard",
66
+ props: {
67
+ mode: {},
68
+ placement: {}
69
+ },
70
+ emits: ["customise", "next"],
71
+ setup(u, { emit: P }) {
72
+ const s = u, C = P, { t: e } = K(), $ = be(), m = U(), E = ne(), G = `mf-connect-onboarding-collapsed:${s.placement}`, a = ee((() => {
73
+ try {
74
+ return localStorage.getItem(G) === "1";
75
+ } catch {
76
+ return !1;
77
+ }
78
+ })());
79
+ function y() {
80
+ a.value = !a.value;
81
+ try {
82
+ localStorage.setItem(G, a.value ? "1" : "0");
83
+ } catch {
84
+ }
85
+ }
86
+ const b = I(() => {
87
+ const i = m.catalog, v = m.state;
88
+ if (!i || !v) return [];
89
+ const V = s.mode === "goals" ? ye(i, v) : /* @__PURE__ */ new Set();
90
+ return m.ids(s.mode).map((d) => i.items.find((S) => S.id === d)).filter((d) => !!d).map((d) => ({
91
+ item: d,
92
+ title: s.mode === "generic" ? d.genericTitle ?? d.title : d.title,
93
+ done: ge(d, v, s.mode),
94
+ manual: "manual" in d.doneWhen,
95
+ recommended: V.has(d.id),
96
+ section: i.sections[d.section],
97
+ extra: d.extraSection ? i.sections[d.extraSection] : void 0
98
+ }));
99
+ }), B = I(() => b.value.length), l = I(() => b.value.filter((i) => i.done).length), F = I(() => B.value > 0 && l.value === B.value), N = I(() => m.minsLeft(s.mode)), g = I(() => F.value ? e("connect.onboarding.all_set_sub") : l.value > 0 ? e("connect.onboarding.progress_sub", { done: l.value, total: B.value, mins: N.value }) : e(
100
+ s.mode === "generic" ? "connect.onboarding.generic_sub" : "connect.onboarding.goals_sub",
101
+ { count: B.value, mins: N.value },
102
+ B.value
103
+ )), D = I(() => {
104
+ const i = m.catalog, v = m.state;
105
+ return s.mode !== "goals" || !i || !v ? [] : _e(i, v).map((V) => ({ goal: V, ...oe(i, v, V) }));
106
+ }), z = I(() => F.value ? e("connect.onboarding.all_set_title") : D.value.length === 1 ? e("connect.onboarding.your_goal", { goal: D.value[0].goal.title }) : D.value.length > 1 ? e("connect.onboarding.your_goals") : e("connect.onboarding.start_here")), j = (i) => !!i && !E.isPremium;
107
+ async function O(i) {
108
+ try {
109
+ await m.patch(i);
110
+ } catch {
111
+ te.error(e("connect.onboarding.save_error"), 3e3);
112
+ }
113
+ }
114
+ const le = (i) => O({ removed: { [i]: !0 } }), W = I(() => s.placement === "analytic" && s.mode === "generic"), ae = () => O(
115
+ W.value ? { generic: "closed" } : s.placement === "analytic" ? { analyticDismissed: !0 } : { goalsDismissed: !0 }
116
+ );
117
+ function se() {
118
+ W.value ? O({ generic: "closed" }) : s.placement === "analytic" ? $.push({ name: Z["$connect-GOALS"] }) : C("next");
119
+ }
120
+ const ie = (i) => O({ manualDone: { [i]: !0 } });
121
+ function q(i, v) {
122
+ const V = m.state;
123
+ V && $.push(xe(he(i, V, s.mode), v));
124
+ }
125
+ function ce() {
126
+ s.placement === "analytic" ? $.push({ name: Z["$connect-GOALS"] }) : C("customise");
127
+ }
128
+ return (i, v) => {
129
+ const V = k("FmCircularProgress"), d = k("FmChip"), S = k("FmButton"), re = k("FmIcon"), de = k("FmPill"), ue = k("FmCard");
130
+ return o(), p(ue, {
131
+ variant: "outlined",
132
+ class: "flex flex-col overflow-hidden"
133
+ }, {
134
+ default: w(() => [
135
+ c("div", Ce, [
136
+ x(V, {
137
+ size: "xxl",
138
+ class: "shrink-0",
139
+ "current-step": t(l),
140
+ "total-steps": Math.max(t(B), 1)
141
+ }, null, 8, ["current-step", "total-steps"]),
142
+ c("div", $e, [
143
+ c("span", Fe, h(t(z)), 1),
144
+ c("span", Se, h(t(g)), 1),
145
+ t(D).length ? (o(), r("div", Be, [
146
+ (o(!0), r(L, null, T(t(D), (n) => (o(), p(d, {
147
+ key: n.goal.id,
148
+ compact: "",
149
+ variant: n.allDone ? "success" : "plain",
150
+ label: t(e)("connect.onboarding.goal_progress", { goal: n.goal.title, done: n.done, total: n.total })
151
+ }, null, 8, ["variant", "label"]))), 128))
152
+ ])) : f("", !0)
153
+ ]),
154
+ c("div", Ie, [
155
+ x(S, {
156
+ variant: "tertiary",
157
+ label: t(e)("connect.onboarding.customise"),
158
+ onClick: ce
159
+ }, null, 8, ["label"]),
160
+ x(S, {
161
+ variant: "plain",
162
+ icon: t(a) ? "keyboard_arrow_down" : "keyboard_arrow_up",
163
+ "aria-label": t(a) ? t(e)("connect.onboarding.expand") : t(e)("connect.onboarding.collapse"),
164
+ "aria-expanded": !t(a),
165
+ onClick: y
166
+ }, null, 8, ["icon", "aria-label", "aria-expanded"]),
167
+ x(S, {
168
+ variant: "plain",
169
+ icon: "close",
170
+ "aria-label": t(e)("connect.onboarding.hide"),
171
+ onClick: ae
172
+ }, null, 8, ["aria-label"])
173
+ ])
174
+ ]),
175
+ t(a) ? f("", !0) : (o(), r(L, { key: 0 }, [
176
+ t(F) ? (o(), r("div", Ve, [
177
+ c("p", De, h(t(e)("connect.onboarding.next_line")), 1),
178
+ x(S, {
179
+ variant: "primary",
180
+ label: t(e)("connect.onboarding.see_next"),
181
+ onClick: se
182
+ }, null, 8, ["label"])
183
+ ])) : (o(), r("ul", Pe, [
184
+ (o(!0), r(L, null, T(t(b), (n) => {
185
+ var H, J, Q, X, Y;
186
+ return o(), r("li", {
187
+ key: n.item.id,
188
+ class: "group flex items-start gap-16 px-24 py-16 border-t border-fm-color-neutral-gray-100 hover:bg-fm-color-neutral-gray-100 focus-within:bg-fm-color-neutral-gray-100"
189
+ }, [
190
+ x(re, {
191
+ name: n.done ? "check_circle" : "radio_button_unchecked",
192
+ color: n.done ? "system-success-300" : "neutral-gray-300",
193
+ outline: !n.done,
194
+ class: "shrink-0"
195
+ }, null, 8, ["name", "color", "outline"]),
196
+ c("div", Ge, [
197
+ c("div", Le, [
198
+ c("span", Ee, h(n.title), 1),
199
+ n.done ? (o(), r("span", Oe, h((J = n.section) == null ? void 0 : J.label), 1)) : (o(), r(L, { key: 0 }, [
200
+ n.recommended ? (o(), p(d, {
201
+ key: 0,
202
+ variant: "info",
203
+ compact: "",
204
+ label: t(e)("connect.onboarding.recommended")
205
+ }, null, 8, ["label"])) : f("", !0),
206
+ (H = n.section) != null && H.premium ? (o(), p(de, {
207
+ key: 1,
208
+ variant: "premium"
209
+ })) : f("", !0),
210
+ n.section ? (o(), p(M, {
211
+ key: 2,
212
+ label: n.section.label,
213
+ tooltip: n.section.tooltip
214
+ }, null, 8, ["label", "tooltip"])) : f("", !0),
215
+ n.extra ? (o(), p(M, {
216
+ key: 3,
217
+ label: n.extra.label,
218
+ tooltip: n.extra.tooltip
219
+ }, null, 8, ["label", "tooltip"])) : f("", !0),
220
+ c("span", Ne, " · " + h(t(e)("connect.onboarding.minutes", { mins: n.item.minutes })), 1)
221
+ ], 64))
222
+ ]),
223
+ n.done ? f("", !0) : (o(), r("p", Re, h(n.item.why), 1))
224
+ ]),
225
+ c("div", Te, [
226
+ n.done ? (o(), p(S, {
227
+ key: 1,
228
+ variant: "tertiary",
229
+ label: t(e)("connect.onboarding.open_section", { section: (Y = n.section) == null ? void 0 : Y.label }),
230
+ onClick: (R) => q(n.item, !1)
231
+ }, null, 8, ["label", "onClick"])) : (o(), r(L, { key: 0 }, [
232
+ j((Q = n.section) == null ? void 0 : Q.premium) ? (o(), p(S, {
233
+ key: 0,
234
+ variant: "primary",
235
+ label: t(e)("connect.onboarding.upgrade_unlock"),
236
+ onClick: v[0] || (v[0] = (R) => t(ve)(t(fe).businessId))
237
+ }, null, 8, ["label"])) : f("", !0),
238
+ x(S, {
239
+ variant: j((X = n.section) == null ? void 0 : X.premium) ? "tertiary" : "primary",
240
+ label: t(e)("connect.onboarding.set_up"),
241
+ onClick: (R) => q(n.item, !0)
242
+ }, null, 8, ["variant", "label", "onClick"]),
243
+ n.manual ? (o(), p(S, {
244
+ key: 1,
245
+ variant: "secondary",
246
+ label: t(e)("connect.onboarding.mark_done"),
247
+ onClick: (R) => ie(n.item.id)
248
+ }, null, 8, ["label", "onClick"])) : f("", !0)
249
+ ], 64)),
250
+ n.done ? f("", !0) : (o(), p(S, {
251
+ key: 2,
252
+ variant: "plain",
253
+ icon: "close",
254
+ class: "opacity-0 group-hover:opacity-100 focus:opacity-100 group-focus-within:opacity-100 [@media(hover:none)]:opacity-100",
255
+ "aria-label": t(e)("connect.onboarding.remove", { title: n.title }),
256
+ onClick: (R) => le(n.item.id)
257
+ }, null, 8, ["aria-label", "onClick"]))
258
+ ])
259
+ ]);
260
+ }), 128))
261
+ ]))
262
+ ], 64))
263
+ ]),
264
+ _: 1
265
+ });
266
+ };
267
+ }
268
+ }), Ae = { class: "flex flex-col gap-24" }, Ke = { class: "grid grid-cols-[repeat(auto-fit,minmax(320px,1fr))] xs:grid-cols-1 gap-12" }, ze = ["aria-checked", "aria-disabled", "onClick"], Me = { class: "flex flex-col gap-8 min-w-0" }, Ue = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, je = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, We = { class: "flex flex-wrap gap-8" }, qe = {
269
+ key: 0,
270
+ class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
271
+ }, He = {
272
+ key: 1,
273
+ class: "flex"
274
+ }, Je = { class: "flex items-center gap-12" }, Qe = /* @__PURE__ */ A({
275
+ __name: "GoalPicker",
276
+ props: {
277
+ modelValue: {},
278
+ updating: { type: Boolean }
279
+ },
280
+ emits: ["update:modelValue", "build", "cancel"],
281
+ setup(u, { emit: P }) {
282
+ const s = u, C = P, { t: e } = K(), $ = U(), m = ne(), E = I(() => {
283
+ const _ = $.catalog, a = $.state;
284
+ return !_ || !a ? [] : _.goals.map((y) => {
285
+ const b = oe(_, a, y), l = [
286
+ ...new Set(
287
+ [...y.coreItemIds, ...y.altItemIds].map((g) => {
288
+ var D;
289
+ return (D = _.items.find((z) => z.id === g)) == null ? void 0 : D.section;
290
+ }).filter((g) => !!g)
291
+ )
292
+ ].map((g) => _.sections[g]).filter((g) => !!g), F = l.filter((g) => g.premium);
293
+ let N = "";
294
+ return F.length && !m.isPremium && (N = F.length === l.length ? e("connect.onboarding.premium_nudge_all") : e("connect.onboarding.premium_nudge_some", {
295
+ sections: F.map((g) => g.label).join(", ")
296
+ })), {
297
+ goal: y,
298
+ sections: l,
299
+ nudge: N,
300
+ // Stays pickable while any of its alternatives is still to set up.
301
+ disabled: b.exhausted,
302
+ status: b.exhausted ? e("connect.onboarding.already_set_up") : b.done > 0 ? e("connect.onboarding.partly_set_up", b) : "",
303
+ selected: s.modelValue.includes(y.id)
304
+ };
305
+ });
306
+ });
307
+ function G(_, a) {
308
+ a || C(
309
+ "update:modelValue",
310
+ s.modelValue.includes(_) ? s.modelValue.filter((y) => y !== _) : [...s.modelValue, _]
311
+ );
312
+ }
313
+ return (_, a) => {
314
+ const y = k("FmIcon"), b = k("FmChip"), B = k("FmButton");
315
+ return o(), r("div", Ae, [
316
+ c("div", Ke, [
317
+ (o(!0), r(L, null, T(t(E), (l) => (o(), r("button", {
318
+ key: l.goal.id,
319
+ type: "button",
320
+ role: "checkbox",
321
+ "aria-checked": l.selected,
322
+ "aria-disabled": l.disabled,
323
+ class: me(["flex items-start gap-12 p-16 text-left fm-corner-radius-lg border-1 bg-fm-color-neutral-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-fm-color-primary", [
324
+ l.selected ? "border-fm-color-primary" : "border-fm-color-neutral-gray-200",
325
+ l.disabled ? "opacity-60 cursor-not-allowed" : "cursor-pointer"
326
+ ]]),
327
+ onClick: (F) => G(l.goal.id, l.disabled)
328
+ }, [
329
+ x(y, {
330
+ name: l.selected ? "check_box" : "check_box_outline_blank",
331
+ color: l.selected ? "primary" : "neutral-gray-300",
332
+ class: "shrink-0",
333
+ "aria-hidden": "true"
334
+ }, null, 8, ["name", "color"]),
335
+ c("span", Me, [
336
+ c("span", Ue, h(l.goal.title), 1),
337
+ c("span", je, h(l.goal.sub), 1),
338
+ c("span", We, [
339
+ (o(!0), r(L, null, T(l.sections, (F) => (o(), p(M, {
340
+ key: F.label,
341
+ label: F.label
342
+ }, null, 8, ["label"]))), 128))
343
+ ]),
344
+ l.nudge ? (o(), r("span", qe, h(l.nudge), 1)) : f("", !0),
345
+ l.status ? (o(), r("span", He, [
346
+ x(b, {
347
+ variant: l.disabled ? "success" : "neutral",
348
+ compact: "",
349
+ label: l.status
350
+ }, null, 8, ["variant", "label"])
351
+ ])) : f("", !0)
352
+ ])
353
+ ], 10, ze))), 128))
354
+ ]),
355
+ c("div", Je, [
356
+ x(B, {
357
+ variant: "primary",
358
+ label: u.updating ? t(e)("connect.onboarding.update") : t(e)("connect.onboarding.build"),
359
+ disabled: u.modelValue.length === 0,
360
+ onClick: a[0] || (a[0] = (l) => C("build"))
361
+ }, null, 8, ["label", "disabled"]),
362
+ u.updating ? (o(), p(B, {
363
+ key: 0,
364
+ variant: "tertiary",
365
+ label: t(e)("connect.onboarding.cancel"),
366
+ onClick: a[1] || (a[1] = (l) => C("cancel"))
367
+ }, null, 8, ["label"])) : f("", !0)
368
+ ])
369
+ ]);
370
+ };
371
+ }
372
+ }), Xe = { class: "flex flex-col gap-24 p-32 xs:p-16 border-1 border-fm-color-neutral-gray-100 fm-corner-radius-lg" }, Ye = { class: "flex items-start gap-16" }, Ze = { class: "flex flex-col gap-8 flex-1" }, we = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary" }, et = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-tertiary" }, ut = /* @__PURE__ */ A({
373
+ __name: "GoalPickerPanel",
374
+ props: {
375
+ updating: { type: Boolean },
376
+ dismissible: { type: Boolean }
377
+ },
378
+ emits: ["built", "cancel", "dismiss"],
379
+ setup(u, { emit: P }) {
380
+ var G;
381
+ const s = u, C = P, { t: e } = K(), $ = U(), m = ee([...((G = $.state) == null ? void 0 : G.pickedGoals) ?? []]);
382
+ async function E() {
383
+ try {
384
+ await $.patch({
385
+ pickedGoals: m.value,
386
+ built: !0,
387
+ goalsDismissed: !1,
388
+ analyticDismissed: !1
389
+ }), C("built");
390
+ } catch {
391
+ te.error(e("connect.onboarding.save_error"), 3e3);
392
+ }
393
+ }
394
+ return (_, a) => {
395
+ const y = k("FmButton");
396
+ return o(), r("section", Xe, [
397
+ c("div", Ye, [
398
+ c("div", Ze, [
399
+ c("h2", we, h(t(e)("connect.onboarding.picker_title")), 1),
400
+ c("p", et, h(t(e)("connect.onboarding.picker_intro")), 1)
401
+ ]),
402
+ s.dismissible ? (o(), p(y, {
403
+ key: 0,
404
+ variant: "plain",
405
+ icon: "close",
406
+ "aria-label": t(e)("connect.onboarding.hide"),
407
+ onClick: a[0] || (a[0] = (b) => C("dismiss"))
408
+ }, null, 8, ["aria-label"])) : f("", !0)
409
+ ]),
410
+ x(Qe, {
411
+ modelValue: t(m),
412
+ "onUpdate:modelValue": a[1] || (a[1] = (b) => pe(m) ? m.value = b : null),
413
+ updating: u.updating,
414
+ onBuild: E,
415
+ onCancel: a[2] || (a[2] = (b) => C("cancel"))
416
+ }, null, 8, ["modelValue", "updating"])
417
+ ]);
418
+ };
419
+ }
420
+ });
421
+ export {
422
+ ut as _,
423
+ dt as a
424
+ };
@@ -0,0 +1,247 @@
1
+ import { defineComponent as ee, ref as P, computed as u, onMounted as te, onBeforeUnmount as oe, resolveComponent as g, openBlock as n, createElementBlock as s, Fragment as h, createVNode as p, unref as e, createElementVNode as a, toDisplayString as i, createBlock as y, createCommentVNode as f, renderList as L, withCtx as H } from "vue";
2
+ import { h as ne } from "./moment-D7p2TMB-.js";
3
+ import { u as ae } from "./vue-i18n-Cfu8S_JC.js";
4
+ import { useRouter as le } from "vue-router";
5
+ import { n as se } from "./plugins-CO0TBKil.js";
6
+ import { u as ie, h as ce, p as re, b as de, r as me, d as ue, c as pe } from "./onboarding-XAuEF8Fv.js";
7
+ import { _ as fe, a as ve } from "./GoalPickerPanel.vue_vue_type_script_setup_true_lang-BmskpBdL.js";
8
+ const ye = { class: "px-24 pb-24 flex flex-col gap-24" }, _e = {
9
+ key: 0,
10
+ class: "flex justify-center py-40"
11
+ }, ge = {
12
+ key: 1,
13
+ class: "flex flex-col items-start gap-12"
14
+ }, be = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, xe = {
15
+ key: 2,
16
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
17
+ }, he = {
18
+ key: 1,
19
+ class: "flex flex-col gap-8"
20
+ }, ke = { class: "fm-typo-en-title-lg-800 text-fm-color-typo-primary" }, Ce = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-tertiary" }, Fe = { class: "flex items-center gap-8 flex-wrap" }, we = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, $e = { key: 1 }, Be = {
21
+ key: 2,
22
+ class: "flex items-center gap-8"
23
+ }, Pe = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Se = ["aria-expanded"], Ie = { class: "flex flex-col gap-4 flex-1" }, De = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ee = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Le = {
24
+ key: 0,
25
+ class: "flex flex-col"
26
+ }, Me = { class: "flex flex-col gap-4 flex-1 min-w-0" }, Ne = { class: "flex items-center gap-8 flex-wrap" }, Ve = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ye = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, Ge = { class: "fm-typo-en-title-sm-600 text-fm-color-typo-primary" }, Oe = {
27
+ key: 0,
28
+ class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary"
29
+ }, Re = { class: "flex flex-col" }, je = { class: "flex flex-col gap-4 flex-1 min-w-0" }, ze = { class: "fm-typo-en-body-md-600 text-fm-color-typo-primary" }, Ae = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-tertiary" }, He = { class: "flex items-center gap-12" }, et = /* @__PURE__ */ ee({
30
+ __name: "Goals",
31
+ setup(Ue) {
32
+ const { t: o, locale: M } = ae(), U = le(), m = ie(), k = P(!1), b = P(!1), w = P(!1), S = P(!0), c = u(() => m.catalog), r = u(() => m.state), N = u(() => !!c.value && !!r.value && ce(c.value, r.value)), V = u(() => k.value || !N.value), I = u(() => m.ids("goals")), q = u(
33
+ () => I.value.length > 0 && m.doneCount("goals") === I.value.length
34
+ ), Y = u(
35
+ () => c.value && r.value ? re(c.value, r.value) : []
36
+ ), $ = u(() => {
37
+ if (!c.value || !r.value) return [];
38
+ const d = r.value;
39
+ return [...new Set(Y.value.flatMap((l) => l.coreItemIds))].filter((l) => d.removed[l]);
40
+ }), C = u(
41
+ () => c.value && r.value ? de(c.value, r.value) : []
42
+ ), F = u(() => {
43
+ if (!c.value || !r.value) return [];
44
+ const d = c.value.sections;
45
+ return me(c.value, r.value, I.value).map(({ item: l, liveSince: _ }) => {
46
+ var x;
47
+ return {
48
+ item: l,
49
+ section: ((x = d[l.section]) == null ? void 0 : x.label) ?? "",
50
+ liveSince: _ ? ne(_).format("D MMM YYYY") : ""
51
+ };
52
+ });
53
+ }), J = u(() => w.value ? F.value : F.value.slice(0, 5));
54
+ async function D(d) {
55
+ try {
56
+ return await m.patch(d), !0;
57
+ } catch {
58
+ return se.error(o("connect.onboarding.save_error"), 3e3), !1;
59
+ }
60
+ }
61
+ function B() {
62
+ k.value = !0;
63
+ }
64
+ function K() {
65
+ C.value.length ? b.value = !0 : B();
66
+ }
67
+ const Q = () => D({ removed: Object.fromEntries($.value.map((d) => [d, !1])) }), T = (d) => D({ added: { [d]: !0 }, removed: { [d]: !1 } });
68
+ function W(d) {
69
+ var _;
70
+ const l = (_ = c.value) == null ? void 0 : _.items.find((x) => x.id === d);
71
+ !l || !r.value || U.push(ue(pe(l, r.value, "goals"), !1));
72
+ }
73
+ async function G() {
74
+ S.value = !0, await m.read(M.value), S.value = !1;
75
+ }
76
+ const O = () => {
77
+ document.visibilityState === "visible" && m.read(M.value);
78
+ };
79
+ return te(() => {
80
+ G(), document.addEventListener("visibilitychange", O);
81
+ }), oe(() => document.removeEventListener("visibilitychange", O)), (d, l) => {
82
+ var z;
83
+ const _ = g("FmPageHead"), x = g("FmCircularProgress"), v = g("FmButton"), X = g("FmChip"), R = g("FmIcon"), Z = g("FmPill"), j = g("FmCard");
84
+ return n(), s(h, null, [
85
+ p(_, {
86
+ title: e(o)("connect.navigation.goals")
87
+ }, null, 8, ["title"]),
88
+ a("div", ye, [
89
+ e(S) && !e(m).loaded ? (n(), s("div", _e, [
90
+ p(x, { size: "xl" })
91
+ ])) : e(m).loaded ? e(c) ? (n(), s(h, { key: 3 }, [
92
+ e(V) ? (n(), y(fe, {
93
+ key: String(e(k)),
94
+ updating: e(N),
95
+ onBuilt: l[0] || (l[0] = (t) => k.value = !1),
96
+ onCancel: l[1] || (l[1] = (t) => k.value = !1)
97
+ }, null, 8, ["updating"])) : (n(), s("div", he, [
98
+ a("h2", ke, i(e(o)("connect.onboarding.list_title")), 1),
99
+ a("p", Ce, i(e(o)("connect.onboarding.list_intro")), 1)
100
+ ])),
101
+ e(V) ? f("", !0) : (n(), s(h, { key: 2 }, [
102
+ a("div", Fe, [
103
+ a("span", we, i(e(o)("connect.onboarding.scoped_to")), 1),
104
+ (n(!0), s(h, null, L(e(Y), (t) => (n(), y(X, {
105
+ key: t.id,
106
+ variant: "neutral",
107
+ compact: "",
108
+ label: t.title
109
+ }, null, 8, ["label"]))), 128)),
110
+ p(v, {
111
+ variant: "tertiary",
112
+ label: e(o)("connect.onboarding.change_goals"),
113
+ onClick: B
114
+ }, null, 8, ["label"])
115
+ ]),
116
+ (z = e(r)) != null && z.goalsDismissed ? (n(), s("div", $e, [
117
+ p(v, {
118
+ variant: "secondary",
119
+ label: e(o)("connect.onboarding.show_list"),
120
+ onClick: l[2] || (l[2] = (t) => D({ goalsDismissed: !1 }))
121
+ }, null, 8, ["label"])
122
+ ])) : (n(), y(ve, {
123
+ key: 0,
124
+ mode: "goals",
125
+ placement: "goals",
126
+ onCustomise: B,
127
+ onNext: K
128
+ })),
129
+ e($).length ? (n(), s("div", Be, [
130
+ a("span", Pe, i(e(o)("connect.onboarding.removed", { count: e($).length }, e($).length)), 1),
131
+ p(v, {
132
+ variant: "tertiary",
133
+ size: "md",
134
+ label: e(o)("connect.onboarding.add_back"),
135
+ onClick: Q
136
+ }, null, 8, ["label"])
137
+ ])) : f("", !0),
138
+ e(C).length ? (n(), y(j, {
139
+ key: 3,
140
+ variant: "outlined",
141
+ class: "flex flex-col overflow-hidden"
142
+ }, {
143
+ default: H(() => [
144
+ a("button", {
145
+ type: "button",
146
+ class: "flex items-center gap-12 px-24 py-16 text-left",
147
+ "aria-expanded": e(b),
148
+ onClick: l[3] || (l[3] = (t) => b.value = !e(b))
149
+ }, [
150
+ a("span", Ie, [
151
+ a("span", De, i(e(o)("connect.onboarding.alternatives", { count: e(C).length }, e(C).length)), 1),
152
+ a("span", Ee, i(e(o)("connect.onboarding.alternatives_hint")), 1)
153
+ ]),
154
+ p(R, {
155
+ name: e(b) ? "keyboard_arrow_up" : "keyboard_arrow_down"
156
+ }, null, 8, ["name"])
157
+ ], 8, Se),
158
+ e(b) ? (n(), s("ul", Le, [
159
+ (n(!0), s(h, null, L(e(C), (t) => {
160
+ var E, A;
161
+ return n(), s("li", {
162
+ key: t.item.id,
163
+ class: "flex items-center gap-12 px-24 py-16 border-t border-fm-color-neutral-gray-100"
164
+ }, [
165
+ a("div", Me, [
166
+ a("span", Ne, [
167
+ a("span", Ve, i(t.item.title), 1),
168
+ (E = e(c).sections[t.item.section]) != null && E.premium ? (n(), y(Z, {
169
+ key: 0,
170
+ variant: "premium"
171
+ })) : f("", !0)
172
+ ]),
173
+ a("span", Ye, i((A = e(c).sections[t.item.section]) == null ? void 0 : A.label) + " · " + i(e(o)("connect.onboarding.minutes", { mins: t.item.minutes })) + " · " + i(t.item.altBlurb ?? t.item.why), 1)
174
+ ]),
175
+ p(v, {
176
+ variant: "secondary",
177
+ label: e(o)("connect.onboarding.add"),
178
+ onClick: (qe) => T(t.item.id)
179
+ }, null, 8, ["label", "onClick"])
180
+ ]);
181
+ }), 128))
182
+ ])) : f("", !0)
183
+ ]),
184
+ _: 1
185
+ })) : f("", !0),
186
+ e(q) ? (n(), y(j, {
187
+ key: 4,
188
+ variant: "outlined",
189
+ class: "flex flex-col gap-16 p-24"
190
+ }, {
191
+ default: H(() => [
192
+ a("span", Ge, i(e(o)("connect.onboarding.recap_title")), 1),
193
+ e(F).length ? f("", !0) : (n(), s("p", Oe, i(e(o)("connect.onboarding.recap_empty")), 1)),
194
+ a("ul", Re, [
195
+ (n(!0), s(h, null, L(e(J), (t) => (n(), s("li", {
196
+ key: t.item.id,
197
+ class: "flex items-center gap-12 py-12 border-t border-fm-color-neutral-gray-100 first:border-t-0"
198
+ }, [
199
+ p(R, {
200
+ name: "check_circle",
201
+ color: "system-success-300"
202
+ }),
203
+ a("div", je, [
204
+ a("span", ze, i(t.item.title), 1),
205
+ a("span", Ae, i(t.liveSince ? e(o)("connect.onboarding.live_since", { section: t.section, date: t.liveSince }) : t.section), 1)
206
+ ]),
207
+ p(v, {
208
+ variant: "tertiary",
209
+ label: e(o)("connect.onboarding.open_section", { section: t.section }),
210
+ onClick: (E) => W(t.item.id)
211
+ }, null, 8, ["label", "onClick"])
212
+ ]))), 128))
213
+ ]),
214
+ a("div", He, [
215
+ e(F).length > 5 ? (n(), y(v, {
216
+ key: 0,
217
+ variant: "tertiary",
218
+ label: e(w) ? e(o)("connect.onboarding.show_less") : e(o)("connect.onboarding.show_all", { count: e(F).length }),
219
+ onClick: l[4] || (l[4] = (t) => w.value = !e(w))
220
+ }, null, 8, ["label"])) : f("", !0),
221
+ p(v, {
222
+ variant: "secondary",
223
+ label: e(o)("connect.onboarding.pick_goals"),
224
+ onClick: B
225
+ }, null, 8, ["label"])
226
+ ])
227
+ ]),
228
+ _: 1
229
+ })) : f("", !0)
230
+ ], 64))
231
+ ], 64)) : (n(), s("p", xe, i(e(o)("connect.onboarding.unavailable")), 1)) : (n(), s("div", ge, [
232
+ a("p", be, i(e(m).error ? e(o)("connect.onboarding.load_error") : e(o)("connect.onboarding.unavailable")), 1),
233
+ e(m).error ? (n(), y(v, {
234
+ key: 0,
235
+ variant: "secondary",
236
+ label: e(o)("connect.onboarding.retry"),
237
+ onClick: G
238
+ }, null, 8, ["label"])) : f("", !0)
239
+ ]))
240
+ ])
241
+ ], 64);
242
+ };
243
+ }
244
+ });
245
+ export {
246
+ et as default
247
+ };