@iann29/rastro 0.10.9 → 0.11.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.
Files changed (178) hide show
  1. package/README.md +8 -0
  2. package/agent/integration.md +45 -0
  3. package/agent/manifest.json +4 -4
  4. package/dist/client/federation.d.ts +82 -9
  5. package/dist/client/federation.d.ts.map +1 -1
  6. package/dist/client/federation.js +40 -2
  7. package/dist/client/federation.js.map +1 -1
  8. package/dist/client/index.d.ts +464 -8
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +259 -7
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/component/_generated/api.d.ts +10 -0
  13. package/dist/component/_generated/api.d.ts.map +1 -1
  14. package/dist/component/_generated/api.js.map +1 -1
  15. package/dist/component/_generated/component.d.ts +273 -21
  16. package/dist/component/_generated/component.d.ts.map +1 -1
  17. package/dist/component/_generated/server.d.ts +2 -0
  18. package/dist/component/_generated/server.d.ts.map +1 -1
  19. package/dist/component/_generated/server.js.map +1 -1
  20. package/dist/component/constants.d.ts +31 -0
  21. package/dist/component/constants.d.ts.map +1 -1
  22. package/dist/component/constants.js +31 -0
  23. package/dist/component/constants.js.map +1 -1
  24. package/dist/component/convex.config.d.ts +2 -0
  25. package/dist/component/convex.config.js +7 -0
  26. package/dist/component/convex.config.js.map +1 -1
  27. package/dist/component/errors.d.ts +1 -1
  28. package/dist/component/errors.d.ts.map +1 -1
  29. package/dist/component/errors.js.map +1 -1
  30. package/dist/component/http.d.ts.map +1 -1
  31. package/dist/component/http.js +64 -0
  32. package/dist/component/http.js.map +1 -1
  33. package/dist/component/leadAdsValidators.d.ts +1092 -0
  34. package/dist/component/leadAdsValidators.d.ts.map +1 -0
  35. package/dist/component/leadAdsValidators.js +304 -0
  36. package/dist/component/leadAdsValidators.js.map +1 -0
  37. package/dist/component/leadFormRules.d.ts +60 -0
  38. package/dist/component/leadFormRules.d.ts.map +1 -0
  39. package/dist/component/leadFormRules.js +140 -0
  40. package/dist/component/leadFormRules.js.map +1 -0
  41. package/dist/component/leadFormStore.d.ts +16 -0
  42. package/dist/component/leadFormStore.d.ts.map +1 -0
  43. package/dist/component/leadFormStore.js +92 -0
  44. package/dist/component/leadFormStore.js.map +1 -0
  45. package/dist/component/leadgenToken.d.ts +56 -0
  46. package/dist/component/leadgenToken.d.ts.map +1 -0
  47. package/dist/component/leadgenToken.js +262 -0
  48. package/dist/component/leadgenToken.js.map +1 -0
  49. package/dist/component/leads.d.ts +76 -7
  50. package/dist/component/leads.d.ts.map +1 -1
  51. package/dist/component/leads.js +112 -78
  52. package/dist/component/leads.js.map +1 -1
  53. package/dist/component/meta.d.ts.map +1 -1
  54. package/dist/component/meta.js +21 -1
  55. package/dist/component/meta.js.map +1 -1
  56. package/dist/component/metaFake.d.ts +44 -0
  57. package/dist/component/metaFake.d.ts.map +1 -1
  58. package/dist/component/metaFake.js +400 -1
  59. package/dist/component/metaFake.js.map +1 -1
  60. package/dist/component/metaGraph.d.ts +91 -0
  61. package/dist/component/metaGraph.d.ts.map +1 -1
  62. package/dist/component/metaGraph.js +217 -0
  63. package/dist/component/metaGraph.js.map +1 -1
  64. package/dist/component/metaLeads.d.ts +681 -0
  65. package/dist/component/metaLeads.d.ts.map +1 -0
  66. package/dist/component/metaLeads.js +2634 -0
  67. package/dist/component/metaLeads.js.map +1 -0
  68. package/dist/component/schema.d.ts +414 -5
  69. package/dist/component/schema.d.ts.map +1 -1
  70. package/dist/component/schema.js +169 -1
  71. package/dist/component/schema.js.map +1 -1
  72. package/dist/component/validators.d.ts +235 -11
  73. package/dist/component/validators.d.ts.map +1 -1
  74. package/dist/component/validators.js +14 -1
  75. package/dist/component/validators.js.map +1 -1
  76. package/dist/tracker/generated.d.ts +1 -1
  77. package/dist/tracker/generated.js +1 -1
  78. package/dist/ui/campaigns/CampaignsView.d.ts +5 -1
  79. package/dist/ui/campaigns/CampaignsView.d.ts.map +1 -1
  80. package/dist/ui/campaigns/CampaignsView.js.map +1 -1
  81. package/dist/ui/campaigns/Drawer.d.ts.map +1 -1
  82. package/dist/ui/campaigns/Drawer.js +8 -26
  83. package/dist/ui/campaigns/Drawer.js.map +1 -1
  84. package/dist/ui/campaigns/labels.d.ts +29 -1
  85. package/dist/ui/campaigns/labels.d.ts.map +1 -1
  86. package/dist/ui/campaigns/labels.js +77 -2
  87. package/dist/ui/campaigns/labels.js.map +1 -1
  88. package/dist/ui/campaigns/model.js +2 -2
  89. package/dist/ui/campaigns/model.js.map +1 -1
  90. package/dist/ui/forms/FirstContact.d.ts +19 -0
  91. package/dist/ui/forms/FirstContact.d.ts.map +1 -0
  92. package/dist/ui/forms/FirstContact.js +81 -0
  93. package/dist/ui/forms/FirstContact.js.map +1 -0
  94. package/dist/ui/forms/FormLead.d.ts +28 -0
  95. package/dist/ui/forms/FormLead.d.ts.map +1 -0
  96. package/dist/ui/forms/FormLead.js +199 -0
  97. package/dist/ui/forms/FormLead.js.map +1 -0
  98. package/dist/ui/forms/FormRulesDrawer.d.ts +49 -0
  99. package/dist/ui/forms/FormRulesDrawer.d.ts.map +1 -0
  100. package/dist/ui/forms/FormRulesDrawer.js +149 -0
  101. package/dist/ui/forms/FormRulesDrawer.js.map +1 -0
  102. package/dist/ui/forms/FormsView.d.ts +10 -0
  103. package/dist/ui/forms/FormsView.d.ts.map +1 -0
  104. package/dist/ui/forms/FormsView.js +215 -0
  105. package/dist/ui/forms/FormsView.js.map +1 -0
  106. package/dist/ui/forms/Icons.d.ts +46 -0
  107. package/dist/ui/forms/Icons.d.ts.map +1 -0
  108. package/dist/ui/forms/Icons.js +45 -0
  109. package/dist/ui/forms/Icons.js.map +1 -0
  110. package/dist/ui/forms/RuleRow.d.ts +37 -0
  111. package/dist/ui/forms/RuleRow.d.ts.map +1 -0
  112. package/dist/ui/forms/RuleRow.js +80 -0
  113. package/dist/ui/forms/RuleRow.js.map +1 -0
  114. package/dist/ui/forms/WhatsAppButtonGuide.d.ts +33 -0
  115. package/dist/ui/forms/WhatsAppButtonGuide.d.ts.map +1 -0
  116. package/dist/ui/forms/WhatsAppButtonGuide.js +90 -0
  117. package/dist/ui/forms/WhatsAppButtonGuide.js.map +1 -0
  118. package/dist/ui/forms/index.d.ts +11 -0
  119. package/dist/ui/forms/index.d.ts.map +1 -0
  120. package/dist/ui/forms/index.js +7 -0
  121. package/dist/ui/forms/index.js.map +1 -0
  122. package/dist/ui/forms/journey.d.ts +19 -0
  123. package/dist/ui/forms/journey.d.ts.map +1 -0
  124. package/dist/ui/forms/journey.js +54 -0
  125. package/dist/ui/forms/journey.js.map +1 -0
  126. package/dist/ui/forms/model.d.ts +239 -0
  127. package/dist/ui/forms/model.d.ts.map +1 -0
  128. package/dist/ui/forms/model.js +556 -0
  129. package/dist/ui/forms/model.js.map +1 -0
  130. package/dist/ui/forms/sample.d.ts +36 -0
  131. package/dist/ui/forms/sample.d.ts.map +1 -0
  132. package/dist/ui/forms/sample.js +444 -0
  133. package/dist/ui/forms/sample.js.map +1 -0
  134. package/dist/ui/forms/types.d.ts +454 -0
  135. package/dist/ui/forms/types.d.ts.map +1 -0
  136. package/dist/ui/forms/types.js +2 -0
  137. package/dist/ui/forms/types.js.map +1 -0
  138. package/dist/ui/index.d.ts +2 -0
  139. package/dist/ui/index.d.ts.map +1 -1
  140. package/dist/ui/index.js +4 -0
  141. package/dist/ui/index.js.map +1 -1
  142. package/dist/ui/integrations/Overlay.d.ts +3 -1
  143. package/dist/ui/integrations/Overlay.d.ts.map +1 -1
  144. package/dist/ui/integrations/Overlay.js +2 -2
  145. package/dist/ui/integrations/Overlay.js.map +1 -1
  146. package/dist/ui/portfolio/PortfolioView.d.ts +4 -1
  147. package/dist/ui/portfolio/PortfolioView.d.ts.map +1 -1
  148. package/dist/ui/portfolio/PortfolioView.js.map +1 -1
  149. package/dist/ui/sample.d.ts +3 -1
  150. package/dist/ui/sample.d.ts.map +1 -1
  151. package/dist/ui/sample.js +2 -0
  152. package/dist/ui/sample.js.map +1 -1
  153. package/dist/ui/seed.d.ts +1 -1
  154. package/dist/ui/ui.css +2301 -0
  155. package/docs/federation.md +19 -0
  156. package/docs/meta-ads.md +713 -7
  157. package/docs/upgrading.md +70 -0
  158. package/llms.txt +1 -0
  159. package/package.json +1 -1
  160. package/src/component/_generated/api.ts +10 -0
  161. package/src/component/_generated/component.ts +289 -20
  162. package/src/component/_generated/server.ts +2 -0
  163. package/src/component/constants.ts +33 -0
  164. package/src/component/convex.config.ts +7 -0
  165. package/src/component/errors.ts +3 -1
  166. package/src/component/http.ts +75 -0
  167. package/src/component/leadAdsValidators.ts +365 -0
  168. package/src/component/leadFormRules.ts +202 -0
  169. package/src/component/leadFormStore.ts +129 -0
  170. package/src/component/leadgenToken.ts +348 -0
  171. package/src/component/leads.ts +136 -84
  172. package/src/component/meta.ts +21 -1
  173. package/src/component/metaFake.ts +485 -1
  174. package/src/component/metaGraph.ts +327 -0
  175. package/src/component/metaLeads.ts +3101 -0
  176. package/src/component/schema.ts +187 -1
  177. package/src/component/validators.ts +17 -1
  178. package/src/tracker/generated.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirstContact.js","sourceRoot":"","sources":["../../../src/ui/forms/FirstContact.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { FormLead, FormLeadStep } from "./types.js";
2
+ /**
3
+ * The origin chip on a host's card: "Formulário · Avaliação gratuita" in Meta
4
+ * blue, or, with `variant="wrote"`, "veio do formulário" on the conversation
5
+ * the lead opened through the end screen's button.
6
+ */
7
+ export declare function FormLeadBadge({ formName, variant, size, }: {
8
+ formName?: string;
9
+ variant?: "form" | "wrote";
10
+ size?: "sm" | "md";
11
+ }): import("react").JSX.Element;
12
+ /** The path a lead followed, from what the lead holds, when the host gave none. */
13
+ export declare function defaultFormLeadPath(lead: FormLead): FormLeadStep[];
14
+ /**
15
+ * A form lead's answers, origin and path, for the host's card and contact
16
+ * panel (D5, D6, D9):
17
+ * - `card` (default): "Respostas do formulário" with the origin under the
18
+ * answers, then "Caminho que o lead seguiu";
19
+ * - `panel`: one highlighted box whose subtitle carries the origin and whose
20
+ * foot names the rule that decided, then the path (the Chat's side panel);
21
+ * - `compact`: the phone's "Respostas" and "Caminho", short words.
22
+ */
23
+ export declare function FormLeadAnswers({ lead, now, layout, }: {
24
+ lead: FormLead;
25
+ now: number;
26
+ layout?: "card" | "panel" | "compact";
27
+ }): import("react").JSX.Element;
28
+ //# sourceMappingURL=FormLead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLead.d.ts","sourceRoot":"","sources":["../../../src/ui/forms/FormLead.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EAGR,YAAY,EACb,MAAM,YAAY,CAAC;AA0CpB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAgB,EAChB,IAAW,GACZ,EAAE;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,+BAwBA;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,EAAE,CAyClE;AAiND;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,GAAG,EACH,MAAe,GAChB,EAAE;IACD,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACvC,+BA4DA"}
@@ -0,0 +1,199 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MetaMark } from "../integrations/Icons.js";
3
+ import { Glyph, Icon } from "./Icons.js";
4
+ import { clockLabel, dayLabel, waitLabel } from "./model.js";
5
+ /**
6
+ * Meta's leadgen `platform` comes short (`fb`, `ig`, `msg`, `an`); hosts may
7
+ * also hand the long names. Both read the same.
8
+ */
9
+ const PLATFORM_KEYS = {
10
+ ig: "instagram",
11
+ fb: "facebook",
12
+ msg: "messenger",
13
+ an: "audience_network",
14
+ };
15
+ const PLATFORMS = {
16
+ instagram: "Instagram",
17
+ facebook: "Facebook",
18
+ messenger: "Messenger",
19
+ audience_network: "Audience Network",
20
+ };
21
+ /** `ig` → `instagram`; unknown keys stay as they came, lowercased. */
22
+ const platformKey = (platform) => {
23
+ if (!platform)
24
+ return null;
25
+ const key = platform.trim().toLowerCase();
26
+ return PLATFORM_KEYS[key] ?? key;
27
+ };
28
+ const platformName = (platform) => {
29
+ const key = platformKey(platform);
30
+ return key ? (PLATFORMS[key] ?? platform ?? null) : null;
31
+ };
32
+ function PlatformGlyph({ platform }) {
33
+ const key = platformKey(platform);
34
+ if (key === "instagram" || key === "facebook")
35
+ return _jsx(Glyph, { brand: key, size: 12 });
36
+ return null;
37
+ }
38
+ const ruleText = (rule) => `${rule.question} = ${rule.answers.join(" ou ")}`;
39
+ /**
40
+ * The origin chip on a host's card: "Formulário · Avaliação gratuita" in Meta
41
+ * blue, or, with `variant="wrote"`, "veio do formulário" on the conversation
42
+ * the lead opened through the end screen's button.
43
+ */
44
+ export function FormLeadBadge({ formName, variant = "form", size = "sm", }) {
45
+ if (variant === "wrote")
46
+ return (_jsxs("span", { className: "rastro-ui rastro-forms__seal", "data-variant": "wrote", "data-size": size, children: [_jsx(Icon, { name: "chatin", size: size === "md" ? 13 : 12 }), _jsx("span", { className: "rastro-forms__seal-text", children: "veio do formul\u00E1rio" })] }));
47
+ return (_jsxs("span", { className: "rastro-ui rastro-forms__seal", "data-size": size, title: formName ? `Formulário · ${formName}` : "Formulário", children: [_jsx(MetaMark, { size: size === "md" ? 13 : 11 }), _jsxs("span", { className: "rastro-forms__seal-text", children: ["Formul\u00E1rio", formName ? ` · ${formName}` : ""] })] }));
48
+ }
49
+ /** The path a lead followed, from what the lead holds, when the host gave none. */
50
+ export function defaultFormLeadPath(lead) {
51
+ const steps = [];
52
+ if (lead.origin?.adName)
53
+ steps.push({
54
+ kind: "ad",
55
+ at: null,
56
+ adName: lead.origin.adName,
57
+ platform: lead.origin.platform ?? null,
58
+ });
59
+ steps.push({
60
+ kind: "form",
61
+ at: lead.receivedAt,
62
+ formName: lead.formName,
63
+ platform: lead.origin?.platform ?? null,
64
+ });
65
+ const decision = lead.decision;
66
+ if (decision?.kind === "discard")
67
+ steps.push({
68
+ kind: "discard",
69
+ at: lead.receivedAt,
70
+ reason: decision.reason,
71
+ rule: decision.rule ?? null,
72
+ });
73
+ else if (decision?.kind === "column" && decision.rule)
74
+ steps.push({
75
+ kind: "rule",
76
+ at: lead.receivedAt,
77
+ rule: decision.rule,
78
+ column: decision.column,
79
+ });
80
+ else if (decision?.kind === "column")
81
+ // A rule decided, but the lead does not say which (the journey keeps
82
+ // its index, not the rule): never "no rule matched".
83
+ steps.push({
84
+ kind: "note",
85
+ at: lead.receivedAt,
86
+ text: `Uma regra levou para ${decision.column}`,
87
+ });
88
+ else if (decision)
89
+ steps.push({ kind: "entry", at: lead.receivedAt, column: decision.column });
90
+ return steps;
91
+ }
92
+ function stepTone(step) {
93
+ switch (step.kind) {
94
+ case "ad":
95
+ case "form":
96
+ return "meta";
97
+ case "rule":
98
+ return "rule";
99
+ case "discard":
100
+ return "discard";
101
+ case "button":
102
+ return step.wrote ? "wrote" : undefined;
103
+ case "waiting":
104
+ return "waiting";
105
+ default:
106
+ return undefined;
107
+ }
108
+ }
109
+ function StepText({ step, now, compact, }) {
110
+ switch (step.kind) {
111
+ case "ad": {
112
+ const app = platformName(step.platform);
113
+ return (_jsxs(_Fragment, { children: ["Viu o an\u00FAncio ", step.adName ? _jsx("b", { children: step.adName }) : null, app ? ` no ${app}` : ""] }));
114
+ }
115
+ case "form": {
116
+ if (compact) {
117
+ const app = platformName(step.platform);
118
+ return _jsxs(_Fragment, { children: ["Enviou o formul\u00E1rio", app ? ` pelo ${app}` : ""] });
119
+ }
120
+ return (_jsxs(_Fragment, { children: ["Enviou o formul\u00E1rio ", _jsx("b", { children: step.formName })] }));
121
+ }
122
+ case "rule":
123
+ return (_jsxs(_Fragment, { children: ["Regra ", _jsx("b", { children: ruleText(step.rule) }), " \u2192 ", step.column] }));
124
+ case "entry":
125
+ return compact ? (_jsxs(_Fragment, { children: ["Nenhuma regra: ", _jsx("b", { children: step.column })] })) : (_jsxs(_Fragment, { children: ["Nenhuma regra bateu: entrou em ", _jsx("b", { children: step.column })] }));
126
+ case "discard":
127
+ return (_jsxs(_Fragment, { children: [step.rule ? (_jsxs(_Fragment, { children: ["Regra ", _jsx("b", { children: ruleText(step.rule) }), " \u2192 descartado:", " "] })) : ("Descartado: "), step.reason] }));
128
+ case "button":
129
+ return step.wrote ? (_jsxs(_Fragment, { children: ["Tocou em ", _jsx("b", { children: "Falar no WhatsApp" }), " e escreveu primeiro"] })) : (_jsx(_Fragment, { children: "N\u00E3o tocou em Falar no WhatsApp" }));
130
+ case "waiting":
131
+ return (_jsxs("b", { children: [compact ? "Esperando" : "Esperando o primeiro contato", " ", waitLabel(step.since, now)] }));
132
+ case "note":
133
+ return _jsx(_Fragment, { children: step.text });
134
+ }
135
+ }
136
+ function stepTime(step) {
137
+ if (step.kind === "waiting")
138
+ return "agora";
139
+ return step.at === null ? "" : clockLabel(step.at);
140
+ }
141
+ /** "Caminho que o lead seguiu": the timeline, oldest first. */
142
+ function LeadPath({ steps, now, compact, }) {
143
+ return (_jsx("ol", { className: "rastro-forms__path", children: steps.map((step, index) => (_jsxs("li", { "data-tone": stepTone(step), children: [_jsx("i", { "aria-hidden": "true" }), _jsx("span", { className: "rastro-forms__path-time rastro-num", children: stepTime(step) }), _jsx(StepText, { step: step, now: now, compact: compact })] }, index))) }));
144
+ }
145
+ function DecisionLine({ decision }) {
146
+ if (decision.kind === "discard")
147
+ return (_jsxs("p", { className: "rastro-forms__ruleline", "data-tone": "discard", children: [_jsx(Icon, { name: "filter", size: 13 }), _jsxs("span", { children: [decision.rule ? `Regra: ${ruleText(decision.rule)} → ` : "", "Descartado \u00B7 ", _jsx("b", { children: decision.reason })] })] }));
148
+ return (_jsxs("p", { className: "rastro-forms__ruleline", children: [_jsx(Icon, { name: "filter", size: 13 }), _jsx("span", { children: decision.rule
149
+ ? `Regra: ${ruleText(decision.rule)} →`
150
+ : decision.kind === "column"
151
+ ? "Uma regra levou →"
152
+ : "Nenhuma regra bateu →" }), _jsx("i", { className: "rastro-forms__dot", style: decision.color ? { background: decision.color } : undefined, "aria-hidden": "true" }), _jsx("b", { children: decision.column })] }));
153
+ }
154
+ function Answers({ lead }) {
155
+ if (lead.answers.length === 0)
156
+ return (_jsx("p", { className: "rastro-forms__sub", children: "Sem respostas de escolha neste lead." }));
157
+ return (_jsx("ul", { className: "rastro-forms__qa", children: lead.answers.map((entry, index) => (_jsxs("li", { children: [_jsx("span", { children: entry.question }), _jsx("b", { children: entry.answer })] }, `${entry.question}:${index}`))) }));
158
+ }
159
+ function OriginList({ lead }) {
160
+ const origin = lead.origin;
161
+ if (!origin)
162
+ return null;
163
+ const app = platformName(origin.platform);
164
+ const rows = [];
165
+ if (app)
166
+ rows.push([
167
+ "Veio de",
168
+ _jsxs("span", { className: "rastro-forms__inline", children: [_jsx(PlatformGlyph, { platform: origin.platform }), [app, origin.placement].filter(Boolean).join(" · ")] }, "app"),
169
+ ]);
170
+ if (origin.campaignName)
171
+ rows.push(["Campanha", origin.campaignName]);
172
+ if (origin.adsetName)
173
+ rows.push(["Conjunto", origin.adsetName]);
174
+ if (origin.adName)
175
+ rows.push(["Anúncio", origin.adName]);
176
+ if (rows.length === 0)
177
+ return null;
178
+ return (_jsxs(_Fragment, { children: [_jsx("hr", { className: "rastro-forms__divider" }), _jsx("dl", { className: "rastro-forms__kv", children: rows.map(([label, value]) => (_jsxs("div", { children: [_jsx("dt", { children: label }), _jsx("dd", { children: value })] }, label))) })] }));
179
+ }
180
+ /**
181
+ * A form lead's answers, origin and path, for the host's card and contact
182
+ * panel (D5, D6, D9):
183
+ * - `card` (default): "Respostas do formulário" with the origin under the
184
+ * answers, then "Caminho que o lead seguiu";
185
+ * - `panel`: one highlighted box whose subtitle carries the origin and whose
186
+ * foot names the rule that decided, then the path (the Chat's side panel);
187
+ * - `compact`: the phone's "Respostas" and "Caminho", short words.
188
+ */
189
+ export function FormLeadAnswers({ lead, now, layout = "card", }) {
190
+ const steps = lead.path ?? defaultFormLeadPath(lead);
191
+ const compact = layout === "compact";
192
+ const app = platformName(lead.origin?.platform);
193
+ return (_jsxs("div", { className: "rastro-ui rastro-forms rastro-forms__lead", "data-layout": layout, children: [_jsxs("section", { className: "rastro-forms__box", "data-highlight": layout === "panel" ? "" : undefined, "aria-label": compact ? "Respostas" : "Respostas do formulário", children: [_jsxs("h3", { className: "rastro-forms__box-title", children: [_jsx(MetaMark, { size: compact ? 14 : 15 }), compact
194
+ ? "Respostas"
195
+ : layout === "panel"
196
+ ? `Formulário · ${lead.formName}`
197
+ : "Respostas do formulário"] }), layout === "card" && (_jsxs("p", { className: "rastro-forms__sub", children: [lead.formName, " \u00B7 ", dayLabel(lead.receivedAt, now)] })), layout === "panel" && (_jsxs("p", { className: "rastro-forms__sub rastro-forms__inline", children: [dayLabel(lead.receivedAt, now), app && (_jsxs(_Fragment, { children: [" · ", _jsx(PlatformGlyph, { platform: lead.origin?.platform }), app] })), lead.origin?.campaignName ? ` · ${lead.origin.campaignName}` : ""] })), _jsx(Answers, { lead: lead }), layout === "card" && _jsx(OriginList, { lead: lead }), layout === "panel" && lead.decision && (_jsx(DecisionLine, { decision: lead.decision }))] }), steps.length > 0 && (_jsxs("section", { className: "rastro-forms__box", "aria-label": compact ? "Caminho" : "Caminho que o lead seguiu", children: [_jsxs("h3", { className: "rastro-forms__box-title", children: [_jsx(Icon, { name: "route", size: compact ? 14 : 15 }), compact ? "Caminho" : "Caminho que o lead seguiu"] }), _jsx(LeadPath, { steps: steps, now: now, compact: compact })] }))] }));
198
+ }
199
+ //# sourceMappingURL=FormLead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLead.js","sourceRoot":"","sources":["../../../src/ui/forms/FormLead.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { FormBoard, FormReportRow, FormRules, FormRulesChoice, FormRulesDraft, FormRulesSimulation, IntegrationSite, MetaForm, MetaPage } from "./types.js";
2
+ export interface FormRulesDrawerProps {
3
+ site: IntegrationSite;
4
+ /** The Page the form is on: its name heads the drawer. */
5
+ page?: MetaPage | null;
6
+ form: MetaForm;
7
+ /**
8
+ * `formRules`: undefined while loading; null when the host could not
9
+ * answer, and then nothing can be saved (an empty draft would overwrite
10
+ * the stored rules).
11
+ */
12
+ rules: FormRules | null | undefined;
13
+ board?: FormBoard | undefined;
14
+ /** The form's 30 days (`formsReport`), for "64 leads em 30 dias". */
15
+ report?: FormReportRow | null;
16
+ /** The draft simulated (`simulateFormRules`); undefined while it runs. */
17
+ simulation?: FormRulesSimulation | null | undefined;
18
+ /** Asks for the draft's simulation; without it the section shows none. */
19
+ onSimulate?: (draft: FormRulesDraft) => void;
20
+ /** False for a reader without configure: read only. */
21
+ permitted: boolean;
22
+ busy?: boolean;
23
+ /** The last write's refusal, in pt-BR: a refused save keeps the draft. */
24
+ error?: string | null;
25
+ /** Who set these rules, when another owner did ("uze.ai"): a lock. */
26
+ lockedBy?: string | null;
27
+ /** The reader edits as the company's partner (D10's note). */
28
+ editsAsPartner?: boolean;
29
+ senderLabel?: string;
30
+ businessHoursLabel?: string;
31
+ /** "Abrir na Meta"; the Page's forms library by default. */
32
+ formUrl?: string;
33
+ /**
34
+ * Saves the draft. The drawer closes when this resolves to anything but
35
+ * false; on false (or a rejection) the draft stays open beside the error.
36
+ */
37
+ onSave: (rules: FormRulesChoice) => Promise<boolean | void> | boolean | void;
38
+ /** "Ver como ligar": the WhatsApp button guide. */
39
+ onOpenGuide?: () => void;
40
+ onClose: () => void;
41
+ }
42
+ /**
43
+ * D2/D8: one form's rules. Where the lead enters when no rule matches, the
44
+ * rules in order (first match wins) with the leads each decided this month,
45
+ * the last 30 days simulated under the draft, and how the first contact
46
+ * happens. Saving affects only the next leads.
47
+ */
48
+ export declare function FormRulesDrawer(props: FormRulesDrawerProps): import("react").JSX.Element;
49
+ //# sourceMappingURL=FormRulesDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRulesDrawer.d.ts","sourceRoot":"","sources":["../../../src/ui/forms/FormRulesDrawer.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EAEb,SAAS,EACT,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,QAAQ,EACT,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,qEAAqE;IACrE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7E,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA0ED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,+BA+G1D"}
@@ -0,0 +1,149 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useMemo, useRef, useState } from "react";
3
+ import { Overlay } from "../integrations/Overlay.js";
4
+ import { FirstContactSection } from "./FirstContact.js";
5
+ import { Icon } from "./Icons.js";
6
+ import { buttonState, choiceOf, choiceQuestions, draftOf, draftProblem, entryOf, formStatusLabel, MAX_FORM_RULES, metaFormsUrl, nextRuleId, pickableColumns, plural, simulationDraftOf, simulationSegments, } from "./model.js";
7
+ import { ColumnOptions, DotSelect, RuleRow } from "./RuleRow.js";
8
+ /** The simulation waits for the typing to stop before asking. */
9
+ const SIMULATE_DELAY_MS = 300;
10
+ const DOOR = "__door";
11
+ function Simulation({ simulation, board, entryColumn, rules, pending, }) {
12
+ if (simulation === undefined)
13
+ return (_jsxs("div", { className: "rastro-forms__sim", "aria-busy": "true", children: [_jsx("p", { children: "Rodando as regras nos leads dos \u00FAltimos 30 dias\u2026" }), _jsx("div", { className: "rastro-skeleton rastro-forms__bar" })] }));
14
+ if (simulation === null || simulation.total === 0)
15
+ return (_jsx("div", { className: "rastro-forms__sim", children: _jsx("p", { children: "Nenhum lead nos \u00FAltimos 30 dias para simular." }) }));
16
+ const segments = simulationSegments(simulation, board, entryColumn, rules);
17
+ const discarded = segments
18
+ .filter((segment) => segment.discard)
19
+ .reduce((sum, segment) => sum + segment.count, 0);
20
+ const total = simulation.total.toLocaleString("pt-BR");
21
+ return (_jsxs("div", { className: "rastro-forms__sim", "aria-live": "polite", "data-pending": pending ? "" : undefined, children: [_jsxs("p", { "data-wide": "", children: ["Com estas regras, os ", _jsxs("b", { children: [total, " leads"] }), " dos \u00FAltimos 30 dias iriam para:"] }), _jsxs("p", { "data-narrow": "", children: ["Nos ", total, " leads de 30 dias, ", _jsx("b", { children: discarded.toLocaleString("pt-BR") }), " ", discarded === 1 ? "seria descartado" : "seriam descartados", "."] }), _jsx("div", { className: "rastro-forms__bar", "aria-hidden": "true", children: segments.map((segment) => (_jsx("i", { style: { flex: segment.count, background: segment.color } }, segment.key))) }), _jsx("ul", { className: "rastro-forms__leg", "data-wide": "", children: segments.map((segment) => (_jsxs("li", { children: [_jsx("i", { className: "rastro-forms__dot", style: { background: segment.color }, "aria-hidden": "true" }), segment.label, " ", _jsx("b", { className: "rastro-num", children: segment.count.toLocaleString("pt-BR") })] }, segment.key))) })] }));
22
+ }
23
+ /**
24
+ * D2/D8: one form's rules. Where the lead enters when no rule matches, the
25
+ * rules in order (first match wins) with the leads each decided this month,
26
+ * the last 30 days simulated under the draft, and how the first contact
27
+ * happens. Saving affects only the next leads.
28
+ */
29
+ export function FormRulesDrawer(props) {
30
+ const id = useId();
31
+ const close = useRef(null);
32
+ const { site, page, form, rules, board, onClose } = props;
33
+ return (_jsx(Overlay, { side: true, className: "rastro-forms__scrim", labelledBy: `${id}-title`, initialFocus: close, onClose: onClose, children: _jsxs("div", { className: "rastro-ui rastro-forms rastro-forms__drawer", children: [_jsxs("header", { className: "rastro-forms__drawer-bar", "data-narrow": "", children: [_jsx("button", { type: "button", className: "rastro-forms__icon-btn", "aria-label": "Voltar", onClick: onClose, children: _jsx(Icon, { name: "back", size: 20 }) }), _jsxs("div", { className: "rastro-forms__grow", children: [_jsx("p", { className: "rastro-forms__eyebrow", children: "Formul\u00E1rio" }), _jsx("strong", { className: "rastro-forms__drawer-name", children: form.name })] }), _jsx("span", { className: "rastro-forms__pill", "data-tone": form.status === "ACTIVE" ? "ok" : "line", children: formStatusLabel(form.status) })] }), _jsxs("header", { className: "rastro-forms__drawer-head", "data-wide": "", children: [_jsxs("p", { className: "rastro-forms__eyebrow", children: ["Formul\u00E1rio \u00B7 ", page?.name ?? site.name] }), _jsx("h2", { id: `${id}-title`, className: "rastro-forms__drawer-title", children: form.name }), _jsxs("div", { className: "rastro-forms__drawer-meta", children: [_jsx("span", { className: "rastro-forms__pill", "data-tone": form.status === "ACTIVE" ? "ok" : "line", children: formStatusLabel(form.status) }), _jsxs("span", { children: [props.report
34
+ ? `${plural(props.report.leads, "lead", "leads")} em 30 dias · `
35
+ : "", plural(form.questions.length, "pergunta", "perguntas")] }), _jsxs("a", { className: "rastro-forms__ext", href: props.formUrl ?? metaFormsUrl(form), target: "_blank", rel: "noreferrer", children: [_jsx(Icon, { name: "ext", size: 14 }), "Abrir na Meta"] })] }), props.editsAsPartner && (_jsxs("p", { className: "rastro-forms__note", children: [_jsx(Icon, { name: "partner", size: 14 }), "Voc\u00EA edita como parceiro. A ", site.name, " v\u00EA estas regras e pode desligar."] })), _jsx("button", { ref: close, type: "button", className: "rastro-forms__close", "aria-label": "Fechar", onClick: onClose, children: _jsx(Icon, { name: "x", size: 18 }) })] }), rules === null ? (_jsx("div", { className: "rastro-forms__drawer-body", children: _jsxs("p", { className: "rastro-forms__callout", "data-tone": "bad", role: "alert", children: [_jsx(Icon, { name: "alert", size: 14 }), _jsx("span", { children: "N\u00E3o deu para ler as regras deste formul\u00E1rio agora. Nada foi mudado; feche e abra de novo em instantes." })] }) })) : rules === undefined ? (_jsxs("div", { className: "rastro-forms__drawer-body", role: "status", "aria-busy": "true", "aria-label": "Carregando as regras", children: [_jsx("div", { className: "rastro-skeleton rastro-forms__drawer-skeleton" }), _jsx("div", { className: "rastro-skeleton rastro-forms__drawer-skeleton" })] })) : (_jsx(DrawerEditor, { ...props, rules: rules, board: board }, `${form.formId}:${rules.configured ? (rules.updatedAt ?? "set") : "new"}`))] }) }));
36
+ }
37
+ function DrawerEditor({ site, form, rules, board, simulation, onSimulate, permitted, busy = false, error = null, lockedBy = null, senderLabel, businessHoursLabel, onSave, onOpenGuide, onClose, }) {
38
+ const [draft, setDraft] = useState(() => draftOf(rules, form, site));
39
+ const [dragId, setDragId] = useState(null);
40
+ const editable = permitted && !lockedBy && form.status !== "DELETED";
41
+ const questions = useMemo(() => choiceQuestions(form), [form]);
42
+ const entry = entryOf(board, draft.entryColumn);
43
+ const problem = draftProblem(draft, form, board);
44
+ const button = buttonState(form, draft.whatsappButtonConfirmed);
45
+ const [saving, setSaving] = useState(false);
46
+ // The simulation reads the entry and the complete rules only: the first
47
+ // contact's text never moves a lead, so typing it asks for nothing.
48
+ const simulatedKey = JSON.stringify(simulationDraftOf(draft, questions, board));
49
+ const [asked, setAsked] = useState(null);
50
+ const simulate = useRef(onSimulate);
51
+ simulate.current = onSimulate;
52
+ useEffect(() => {
53
+ if (!simulate.current)
54
+ return;
55
+ const timer = setTimeout(() => {
56
+ simulate.current?.(JSON.parse(simulatedKey));
57
+ setAsked(simulatedKey);
58
+ }, SIMULATE_DELAY_MS);
59
+ return () => clearTimeout(timer);
60
+ }, [simulatedKey]);
61
+ const setRule = (index, rule) => setDraft((current) => ({
62
+ ...current,
63
+ rules: current.rules.map((entry, at) => (at === index ? rule : entry)),
64
+ }));
65
+ const move = (from, to) => setDraft((current) => {
66
+ const rules = [...current.rules];
67
+ const [rule] = rules.splice(from, 1);
68
+ if (rule)
69
+ rules.splice(to, 0, rule);
70
+ return { ...current, rules };
71
+ });
72
+ const addRule = () => {
73
+ const question = questions[0];
74
+ const column = pickableColumns(board)[0];
75
+ setDraft((current) => ({
76
+ ...current,
77
+ rules: [
78
+ ...current.rules,
79
+ {
80
+ id: nextRuleId(),
81
+ questionKey: question?.key ?? "",
82
+ answers: [],
83
+ to: column ? { column: column.key } : { discard: "" },
84
+ monthCount: null,
85
+ fresh: true,
86
+ },
87
+ ],
88
+ }));
89
+ };
90
+ const entryValue = draft.entryColumn ?? board?.entryColumn ?? DOOR;
91
+ const canAdd = editable && questions.length > 0 && draft.rules.length < MAX_FORM_RULES;
92
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "rastro-forms__drawer-body", children: [lockedBy && (_jsxs("p", { className: "rastro-forms__callout", "data-tone": "info", role: "note", children: [_jsx(Icon, { name: "lock", size: 14 }), _jsxs("span", { children: [_jsxs("b", { children: ["Ligado pelo ", lockedBy, "."] }), " Voc\u00EA v\u00EA as regras aqui, mas mudar \u00E9 com quem ligou."] })] })), !permitted && !lockedBy && (_jsxs("p", { className: "rastro-forms__callout", "data-tone": "info", role: "note", children: [_jsx(Icon, { name: "lock", size: 14 }), _jsx("span", { children: "S\u00F3 quem gerencia a empresa muda as regras." })] })), _jsxs("section", { className: "rastro-forms__dsec", "aria-labelledby": `${form.formId}-s1`, children: [_jsxs("h3", { className: "rastro-forms__sec-t", id: `${form.formId}-s1`, children: [_jsx("span", { className: "rastro-forms__n", children: "1" }), _jsx("b", { children: "Onde o lead entra" }), _jsx("span", { "data-wide": "", children: "quando nenhuma regra bate" })] }), _jsxs("div", { className: "rastro-forms__entry", "data-single": board?.label ? undefined : "", children: [board?.label && (_jsxs("span", { className: "rastro-forms__select", "data-static": "", "data-wide": "", children: [_jsx("span", { className: "rastro-forms__select-k", children: "Funil" }), _jsx("span", { className: "rastro-forms__select-v", children: board.label })] })), _jsxs(DotSelect, { label: "Coluna de entrada", value: entryValue, color: entry.color, disabled: !editable, extra:
93
+ // The badge marks a real column as the board's door; the
94
+ // door alone already says so in its name.
95
+ entry.door && entry.key !== null ? (_jsxs("span", { className: "rastro-forms__door", children: [_jsx(Icon, { name: "door", size: 10, stroke: 2.4 }), _jsx("span", { "data-wide": "", children: "Porta de entrada" }), _jsx("span", { "data-narrow": "", children: "Porta" })] })) : undefined, onChange: (value) => setDraft((current) => ({
96
+ ...current,
97
+ // The board's own door stays null: it follows the board.
98
+ entryColumn: value === DOOR || value === board?.entryColumn
99
+ ? null
100
+ : value,
101
+ })), children: [!board?.entryColumn && (_jsx("option", { value: DOOR, children: "Porta de entrada do funil" })), _jsx(ColumnOptions, { board: board })] })] })] }), _jsxs("section", { className: "rastro-forms__dsec", "aria-labelledby": `${form.formId}-s2`, children: [_jsxs("h3", { className: "rastro-forms__sec-t", id: `${form.formId}-s2`, children: [_jsx("span", { className: "rastro-forms__n", children: "2" }), _jsx("b", { children: "Regras pelas respostas" }), _jsx("span", { "data-wide": "", children: "a primeira que bate decide" })] }), draft.rules.length > 0 && (_jsx("ol", { className: "rastro-forms__rules", children: draft.rules.map((rule, index) => (_jsx("li", { className: "rastro-forms__rule", "data-tone": "discard" in rule.to ? "discard" : undefined, "data-dragging": dragId === rule.id ? "" : undefined, draggable: dragId === rule.id, onDragStart: (event) => {
102
+ event.dataTransfer.effectAllowed = "move";
103
+ event.dataTransfer.setData("text/plain", rule.id);
104
+ }, onDragOver: (event) => {
105
+ if (dragId && dragId !== rule.id)
106
+ event.preventDefault();
107
+ }, onDrop: (event) => {
108
+ event.preventDefault();
109
+ const from = draft.rules.findIndex((entry) => entry.id === dragId);
110
+ if (from >= 0)
111
+ move(from, index);
112
+ setDragId(null);
113
+ }, onDragEnd: () => setDragId(null), children: _jsx(RuleRow, { rule: rule, index: index, total: draft.rules.length, questions: questions, board: board, editable: editable, dragging: dragId === rule.id, onChange: (next) => setRule(index, next), onRemove: () => setDraft((current) => ({
114
+ ...current,
115
+ rules: current.rules.filter((entry) => entry.id !== rule.id),
116
+ })), onMove: (to) => move(index, to), onDragStart: () => setDragId(rule.id), onDragEnd: () => undefined }) }, rule.id))) })), draft.rules.length === 0 && (_jsx("p", { className: "rastro-forms__empty-rules", children: questions.length === 0
117
+ ? "Este formulário não tem perguntas de escolha: todo lead entra pela coluna acima."
118
+ : "Sem regras: todo lead entra pela coluna acima." })), editable && (_jsxs("button", { type: "button", className: "rastro-forms__addr", disabled: !canAdd, onClick: addRule, children: [_jsx(Icon, { name: "plus", size: 14 }), "Adicionar regra"] })), onSimulate && (_jsx(Simulation, { simulation: simulation, board: board, entryColumn: draft.entryColumn, rules: draft.rules, pending: asked !== simulatedKey }))] }), _jsxs("section", { className: "rastro-forms__dsec", "aria-labelledby": `${form.formId}-s3`, children: [_jsxs("h3", { className: "rastro-forms__sec-t", id: `${form.formId}-s3`, children: [_jsx("span", { className: "rastro-forms__n", children: "3" }), _jsxs("b", { children: [_jsx("span", { "data-wide": "", children: "Como o primeiro contato acontece" }), _jsx("span", { "data-narrow": "", children: "Primeiro contato" })] })] }), _jsx(FirstContactSection, { value: draft.firstContact, button: button, editable: editable, senderLabel: senderLabel, businessHoursLabel: businessHoursLabel, onOpenGuide: onOpenGuide, onChange: (firstContact) => setDraft((current) => ({ ...current, firstContact })), onConfirmButton: (confirmed) =>
119
+ // The confirmation is its own fact (`whatsappButtonConfirmed`).
120
+ // Without the automatic send, who writes first follows the
121
+ // button: with it the lead starts, without it a person does.
122
+ setDraft((current) => ({
123
+ ...current,
124
+ whatsappButtonConfirmed: confirmed,
125
+ firstContact: current.firstContact.mode === "automatic"
126
+ ? current.firstContact
127
+ : {
128
+ ...current.firstContact,
129
+ mode: confirmed ? "lead_starts" : "one_click",
130
+ },
131
+ })) })] })] }), error && (_jsxs("p", { className: "rastro-forms__callout rastro-forms__drawer-error", "data-tone": "bad", role: "alert", children: [_jsx(Icon, { name: "alert", size: 14 }), _jsx("span", { children: error })] })), _jsxs("footer", { className: "rastro-forms__drawer-foot", children: [_jsxs("p", { className: "rastro-forms__tip", "data-wide": "", children: [_jsx(Icon, { name: "info", size: 13 }), problem && editable
132
+ ? problem
133
+ : "Vale para os próximos leads; os que chegaram não mudam."] }), _jsxs("span", { className: "rastro-forms__foot-actions", children: [_jsx("button", { type: "button", className: "rastro-forms__btn", "data-variant": "outline", onClick: onClose, children: "Cancelar" }), _jsx("button", { type: "button", className: "rastro-forms__btn", disabled: !editable || busy || saving || problem !== null, title: problem ?? undefined, onClick: async () => {
134
+ // Close only once the host took the rules: a refusal keeps the
135
+ // draft (rules, reasons, text) open beside the error.
136
+ setSaving(true);
137
+ let saved;
138
+ try {
139
+ saved = await onSave(choiceOf(draft));
140
+ }
141
+ catch {
142
+ saved = false;
143
+ }
144
+ setSaving(false);
145
+ if (saved !== false)
146
+ onClose();
147
+ }, children: busy || saving ? "Salvando…" : "Salvar" })] })] })] }));
148
+ }
149
+ //# sourceMappingURL=FormRulesDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRulesDrawer.js","sourceRoot":"","sources":["../../../src/ui/forms/FormRulesDrawer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { FormsViewProps } from "./types.js";
2
+ /**
3
+ * Formulários (D1): the Pages the Meta connection lists and their instant
4
+ * forms, with the leads each brought in 30 days, where they enter, the rules,
5
+ * the end screen's WhatsApp button and the form's state. A row opens its
6
+ * rules drawer (D2/D8), and the drawer the WhatsApp guide (D3). Pure like the
7
+ * other views: data in through props, every write out through a callback.
8
+ */
9
+ export declare function FormsView(props: FormsViewProps): import("react").JSX.Element;
10
+ //# sourceMappingURL=FormsView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormsView.d.ts","sourceRoot":"","sources":["../../../src/ui/forms/FormsView.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,YAAY,CAAC;AAgoBpB;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAuN9C"}