strapi-plugin-hubspot 0.16.7 → 0.16.9
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/CHANGELOG.md +26 -0
- package/dist/_chunks/{Forms-DyV6KyiO.mjs → Forms-CUNHDvhI.mjs} +52 -6
- package/dist/_chunks/{Forms-uUN4XjhW.js → Forms-CylJ0nD3.js} +52 -6
- package/dist/_chunks/{HubspotFormInput-BkWat_wu.js → HubspotFormInput-D2H2u9fZ.js} +1 -1
- package/dist/_chunks/{HubspotFormInput-DEXPX-6j.mjs → HubspotFormInput-Dppgr_rd.mjs} +1 -1
- package/dist/_chunks/{HubspotObjectInput-CFDYW-TM.js → HubspotObjectInput-BjRCaqXr.js} +3 -3
- package/dist/_chunks/{HubspotObjectInput-DL8fYK2x.mjs → HubspotObjectInput-CWFddNNw.mjs} +3 -3
- package/dist/_chunks/{HubspotPropertyInput-CFMkbQeT.js → HubspotPropertyInput-BlDarkcj.js} +3 -3
- package/dist/_chunks/{HubspotPropertyInput-WU5FMJj3.mjs → HubspotPropertyInput-TGG9ozTa.mjs} +3 -3
- package/dist/_chunks/{Settings-B_hhdpHa.js → Settings-DOx7YSqA.js} +2 -2
- package/dist/_chunks/{Settings-CiXEps_C.mjs → Settings-tct49GYU.mjs} +2 -2
- package/dist/_chunks/{index-BeBn7bJa.mjs → index-Au3W85GX.mjs} +5 -5
- package/dist/_chunks/{index-CG_WQzSa.js → index-DhGVA3ZL.js} +5 -5
- package/dist/_chunks/{objectLabels-CS_0QCNz.mjs → objectLabels-3rnJ0WUc.mjs} +1 -1
- package/dist/_chunks/{objectLabels-BGq-Ypgn.js → objectLabels-Bx7x8fFO.js} +1 -1
- package/dist/_chunks/{useHubspotSchema-CP7LRdzO.mjs → useHubspotSchema-BlVXfwju.mjs} +1 -1
- package/dist/_chunks/{useHubspotSchema-BZP2qkAu.js → useHubspotSchema-DrGeidXC.js} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/builder/types.d.ts +2 -1
- package/dist/server/index.js +243 -41
- package/dist/server/index.mjs +243 -41
- package/dist/server/src/conditions.d.ts +1 -0
- package/dist/server/src/formSync.d.ts +20 -0
- package/dist/server/src/formsAdmin.d.ts +1 -0
- package/dist/server/src/hsforms.d.ts +14 -1
- package/dist/server/src/importHubspot.d.ts +2 -1
- package/dist/server/src/index.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.16.9 — 2026-10-01
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **Brand-new leads silently lost their timeline note and company
|
|
9
|
+
association** after a Forms API conversion: the contact id was resolved
|
|
10
|
+
through the Search API, whose index lags by seconds to minutes on freshly
|
|
11
|
+
created records — so the contact the conversion itself just created was
|
|
12
|
+
invisible, and the note/association steps were skipped without a warning.
|
|
13
|
+
The lookup now uses the direct object endpoint
|
|
14
|
+
(`GET /crm/v3/objects/contacts/{email}?idProperty=email`), which reads the
|
|
15
|
+
object store (no index lag), with a short 404 retry (~1.6 s budget) since
|
|
16
|
+
the conversion is processed asynchronously. Existing contacts are
|
|
17
|
+
unaffected; any non-404 error still gives up immediately.
|
|
18
|
+
|
|
19
|
+
## 0.16.8 — 2026-09-24
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- Publishing a form linked to HubSpot is blocked when a required marketing
|
|
23
|
+
field is not collected. Submissions show the conversion error next to
|
|
24
|
+
**Contact only**.
|
|
25
|
+
- **Create in HubSpot** builds a marketing form from the Strapi definition
|
|
26
|
+
and stores its GUID.
|
|
27
|
+
- Resync updates conditions that came from HubSpot and leaves editor-written
|
|
28
|
+
ones. With field sync on, `visibleIf` is pushed back as HubSpot dependent
|
|
29
|
+
fields. Progressive groups are reported on import.
|
|
30
|
+
|
|
5
31
|
## 0.16.7 — 2026-09-23
|
|
6
32
|
|
|
7
33
|
### Fixed
|
|
@@ -5,12 +5,12 @@ import { u as useIntl } from "./index-CEh8vkxY.mjs";
|
|
|
5
5
|
import { Typography, Flex, Box, SingleSelect, SingleSelectOption, MultiSelect, MultiSelectOption, TextInput, IconButton, Button, Combobox, ComboboxOption, Field, Textarea, Checkbox, Divider, Loader, Badge, Table, Thead, Tr, Th, Tbody, Td, Modal } from "@strapi/design-system";
|
|
6
6
|
import { Trash, Plus, ArrowClockwise, ArrowLeft, Drag, ArrowUp, ArrowDown, List, Duplicate, Download } from "@strapi/icons";
|
|
7
7
|
import { useFetchClient } from "@strapi/strapi/admin";
|
|
8
|
-
import { g as getTranslation, P as PLUGIN_ID } from "./index-
|
|
8
|
+
import { g as getTranslation, P as PLUGIN_ID } from "./index-Au3W85GX.mjs";
|
|
9
9
|
import { useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, useDroppable, closestCorners } from "@dnd-kit/core";
|
|
10
10
|
import { arrayMove, sortableKeyboardCoordinates, SortableContext, verticalListSortingStrategy, useSortable } from "@dnd-kit/sortable";
|
|
11
11
|
import { CSS } from "@dnd-kit/utilities";
|
|
12
|
-
import { o as objectLabel } from "./objectLabels-
|
|
13
|
-
import { u as useHubspotSchema } from "./useHubspotSchema-
|
|
12
|
+
import { o as objectLabel } from "./objectLabels-3rnJ0WUc.mjs";
|
|
13
|
+
import { u as useHubspotSchema } from "./useHubspotSchema-BlVXfwju.mjs";
|
|
14
14
|
const OPERATORS = [
|
|
15
15
|
"eq",
|
|
16
16
|
"neq",
|
|
@@ -682,7 +682,7 @@ const FieldPanel = ({ field, candidates, problem, onChange }) => {
|
|
|
682
682
|
{
|
|
683
683
|
condition: field.visibleIf,
|
|
684
684
|
candidates,
|
|
685
|
-
onChange: (visibleIf) => onChange({ visibleIf })
|
|
685
|
+
onChange: (visibleIf) => onChange({ visibleIf, visibleIfSource: "editor" })
|
|
686
686
|
}
|
|
687
687
|
)
|
|
688
688
|
] })
|
|
@@ -882,9 +882,14 @@ const FormEditor = () => {
|
|
|
882
882
|
const data = err.response?.data;
|
|
883
883
|
setErrors(data?.errors ?? []);
|
|
884
884
|
setProblems(data?.problems ?? []);
|
|
885
|
+
const missing = data?.missingHubspot ?? [];
|
|
885
886
|
setFeedback({
|
|
886
887
|
tone: "danger",
|
|
887
|
-
text:
|
|
888
|
+
text: missing.length ? t(
|
|
889
|
+
"editor.publish-missing-hubspot",
|
|
890
|
+
"Publishing is blocked — the linked HubSpot form requires {fields}, which this form does not collect.",
|
|
891
|
+
{ fields: missing.map((field) => `${field.object}.${field.name}`).join(", ") }
|
|
892
|
+
) : t("editor.publish-blocked", "Publishing is blocked — fix the flagged mappings first.")
|
|
888
893
|
});
|
|
889
894
|
} finally {
|
|
890
895
|
setBusy(false);
|
|
@@ -902,6 +907,29 @@ const FormEditor = () => {
|
|
|
902
907
|
setBusy(false);
|
|
903
908
|
}
|
|
904
909
|
};
|
|
910
|
+
const createInHubspot = async () => {
|
|
911
|
+
if (dirty && !await save()) return;
|
|
912
|
+
setBusy(true);
|
|
913
|
+
setFeedback(null);
|
|
914
|
+
try {
|
|
915
|
+
const { data } = await post(
|
|
916
|
+
`/${PLUGIN_ID}/builder/forms/${documentId}/create-hubspot${query}`
|
|
917
|
+
);
|
|
918
|
+
if (data.form) setEntry(data.form);
|
|
919
|
+
setFeedback({
|
|
920
|
+
tone: "success",
|
|
921
|
+
text: t("editor.created-hubspot", "HubSpot form created and linked.")
|
|
922
|
+
});
|
|
923
|
+
} catch (err) {
|
|
924
|
+
const message = err.response?.data?.error?.message;
|
|
925
|
+
setFeedback({
|
|
926
|
+
tone: "danger",
|
|
927
|
+
text: message || t("editor.create-hubspot-error", "Could not create the HubSpot form.")
|
|
928
|
+
});
|
|
929
|
+
} finally {
|
|
930
|
+
setBusy(false);
|
|
931
|
+
}
|
|
932
|
+
};
|
|
905
933
|
const resync = async () => {
|
|
906
934
|
if (dirty && !await save()) return;
|
|
907
935
|
setBusy(true);
|
|
@@ -982,6 +1010,15 @@ const FormEditor = () => {
|
|
|
982
1010
|
children: t("editor.resync", "Resync from HubSpot")
|
|
983
1011
|
}
|
|
984
1012
|
),
|
|
1013
|
+
/* @__PURE__ */ jsx(
|
|
1014
|
+
Button,
|
|
1015
|
+
{
|
|
1016
|
+
variant: "tertiary",
|
|
1017
|
+
onClick: createInHubspot,
|
|
1018
|
+
disabled: busy || Boolean(entry.hubspotFormId),
|
|
1019
|
+
children: t("editor.create-hubspot", "Create in HubSpot")
|
|
1020
|
+
}
|
|
1021
|
+
),
|
|
985
1022
|
/* @__PURE__ */ jsx(Button, { onClick: publish, disabled: busy, children: t("editor.publish", "Publish") }),
|
|
986
1023
|
published && /* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick: unpublish, disabled: busy, children: t("editor.unpublish", "Unpublish") })
|
|
987
1024
|
] })
|
|
@@ -1468,6 +1505,12 @@ const FormsList = () => {
|
|
|
1468
1505
|
return t("forms.skipped-rich-text", "A content block was skipped — the builder has no rich-text element");
|
|
1469
1506
|
case "legal-consent":
|
|
1470
1507
|
return t("forms.skipped-consent", "The GDPR consent block was skipped — rebuild it as a field if needed");
|
|
1508
|
+
case "progressive":
|
|
1509
|
+
return t(
|
|
1510
|
+
"forms.skipped-progressive",
|
|
1511
|
+
"A progressive field group was skipped — it is not a visibility condition ({detail})",
|
|
1512
|
+
{ detail: item.detail ?? "" }
|
|
1513
|
+
);
|
|
1471
1514
|
}
|
|
1472
1515
|
};
|
|
1473
1516
|
const create = async () => {
|
|
@@ -1774,7 +1817,10 @@ const Submissions = () => {
|
|
|
1774
1817
|
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { children: row.formTitle || row.form }) }),
|
|
1775
1818
|
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", children: row.email || "—" }) }),
|
|
1776
1819
|
/* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", ellipsis: true, children: preview(row.values) }) }),
|
|
1777
|
-
/* @__PURE__ */ jsx(Td, { children: row.meta?.hubspotConversion === true || row.meta?.hubspotConversion === "true" ? /* @__PURE__ */ jsx(Badge, { backgroundColor: "success100", textColor: "success700", children: t("submissions.converted", "Conversion") }) : row.hubspotSynced ? /* @__PURE__ */
|
|
1820
|
+
/* @__PURE__ */ jsx(Td, { children: row.meta?.hubspotConversion === true || row.meta?.hubspotConversion === "true" ? /* @__PURE__ */ jsx(Badge, { backgroundColor: "success100", textColor: "success700", children: t("submissions.converted", "Conversion") }) : row.hubspotSynced ? /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", gap: 1, children: [
|
|
1821
|
+
/* @__PURE__ */ jsx(Badge, { backgroundColor: "warning100", textColor: "warning700", children: t("submissions.contact-only", "Contact only") }),
|
|
1822
|
+
typeof row.meta?.hubspotError === "string" && row.meta.hubspotError && /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "danger600", children: row.meta.hubspotError })
|
|
1823
|
+
] }) : /* @__PURE__ */ jsx(Badge, { backgroundColor: "warning100", textColor: "warning700", children: t("submissions.not-synced", "Not synced") }) })
|
|
1778
1824
|
]
|
|
1779
1825
|
},
|
|
1780
1826
|
row.documentId
|
|
@@ -7,12 +7,12 @@ const index = require("./index-DkTxsEqL.js");
|
|
|
7
7
|
const designSystem = require("@strapi/design-system");
|
|
8
8
|
const icons = require("@strapi/icons");
|
|
9
9
|
const admin = require("@strapi/strapi/admin");
|
|
10
|
-
const index$1 = require("./index-
|
|
10
|
+
const index$1 = require("./index-DhGVA3ZL.js");
|
|
11
11
|
const core = require("@dnd-kit/core");
|
|
12
12
|
const sortable = require("@dnd-kit/sortable");
|
|
13
13
|
const utilities = require("@dnd-kit/utilities");
|
|
14
|
-
const objectLabels = require("./objectLabels-
|
|
15
|
-
const useHubspotSchema = require("./useHubspotSchema-
|
|
14
|
+
const objectLabels = require("./objectLabels-Bx7x8fFO.js");
|
|
15
|
+
const useHubspotSchema = require("./useHubspotSchema-DrGeidXC.js");
|
|
16
16
|
function _interopNamespace(e) {
|
|
17
17
|
if (e && e.__esModule) return e;
|
|
18
18
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -702,7 +702,7 @@ const FieldPanel = ({ field, candidates, problem, onChange }) => {
|
|
|
702
702
|
{
|
|
703
703
|
condition: field.visibleIf,
|
|
704
704
|
candidates,
|
|
705
|
-
onChange: (visibleIf) => onChange({ visibleIf })
|
|
705
|
+
onChange: (visibleIf) => onChange({ visibleIf, visibleIfSource: "editor" })
|
|
706
706
|
}
|
|
707
707
|
)
|
|
708
708
|
] })
|
|
@@ -902,9 +902,14 @@ const FormEditor = () => {
|
|
|
902
902
|
const data = err.response?.data;
|
|
903
903
|
setErrors(data?.errors ?? []);
|
|
904
904
|
setProblems(data?.problems ?? []);
|
|
905
|
+
const missing = data?.missingHubspot ?? [];
|
|
905
906
|
setFeedback({
|
|
906
907
|
tone: "danger",
|
|
907
|
-
text:
|
|
908
|
+
text: missing.length ? t(
|
|
909
|
+
"editor.publish-missing-hubspot",
|
|
910
|
+
"Publishing is blocked — the linked HubSpot form requires {fields}, which this form does not collect.",
|
|
911
|
+
{ fields: missing.map((field) => `${field.object}.${field.name}`).join(", ") }
|
|
912
|
+
) : t("editor.publish-blocked", "Publishing is blocked — fix the flagged mappings first.")
|
|
908
913
|
});
|
|
909
914
|
} finally {
|
|
910
915
|
setBusy(false);
|
|
@@ -922,6 +927,29 @@ const FormEditor = () => {
|
|
|
922
927
|
setBusy(false);
|
|
923
928
|
}
|
|
924
929
|
};
|
|
930
|
+
const createInHubspot = async () => {
|
|
931
|
+
if (dirty && !await save()) return;
|
|
932
|
+
setBusy(true);
|
|
933
|
+
setFeedback(null);
|
|
934
|
+
try {
|
|
935
|
+
const { data } = await post(
|
|
936
|
+
`/${index$1.PLUGIN_ID}/builder/forms/${documentId}/create-hubspot${query}`
|
|
937
|
+
);
|
|
938
|
+
if (data.form) setEntry(data.form);
|
|
939
|
+
setFeedback({
|
|
940
|
+
tone: "success",
|
|
941
|
+
text: t("editor.created-hubspot", "HubSpot form created and linked.")
|
|
942
|
+
});
|
|
943
|
+
} catch (err) {
|
|
944
|
+
const message = err.response?.data?.error?.message;
|
|
945
|
+
setFeedback({
|
|
946
|
+
tone: "danger",
|
|
947
|
+
text: message || t("editor.create-hubspot-error", "Could not create the HubSpot form.")
|
|
948
|
+
});
|
|
949
|
+
} finally {
|
|
950
|
+
setBusy(false);
|
|
951
|
+
}
|
|
952
|
+
};
|
|
925
953
|
const resync = async () => {
|
|
926
954
|
if (dirty && !await save()) return;
|
|
927
955
|
setBusy(true);
|
|
@@ -1002,6 +1030,15 @@ const FormEditor = () => {
|
|
|
1002
1030
|
children: t("editor.resync", "Resync from HubSpot")
|
|
1003
1031
|
}
|
|
1004
1032
|
),
|
|
1033
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1034
|
+
designSystem.Button,
|
|
1035
|
+
{
|
|
1036
|
+
variant: "tertiary",
|
|
1037
|
+
onClick: createInHubspot,
|
|
1038
|
+
disabled: busy || Boolean(entry.hubspotFormId),
|
|
1039
|
+
children: t("editor.create-hubspot", "Create in HubSpot")
|
|
1040
|
+
}
|
|
1041
|
+
),
|
|
1005
1042
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: publish, disabled: busy, children: t("editor.publish", "Publish") }),
|
|
1006
1043
|
published && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: unpublish, disabled: busy, children: t("editor.unpublish", "Unpublish") })
|
|
1007
1044
|
] })
|
|
@@ -1488,6 +1525,12 @@ const FormsList = () => {
|
|
|
1488
1525
|
return t("forms.skipped-rich-text", "A content block was skipped — the builder has no rich-text element");
|
|
1489
1526
|
case "legal-consent":
|
|
1490
1527
|
return t("forms.skipped-consent", "The GDPR consent block was skipped — rebuild it as a field if needed");
|
|
1528
|
+
case "progressive":
|
|
1529
|
+
return t(
|
|
1530
|
+
"forms.skipped-progressive",
|
|
1531
|
+
"A progressive field group was skipped — it is not a visibility condition ({detail})",
|
|
1532
|
+
{ detail: item.detail ?? "" }
|
|
1533
|
+
);
|
|
1491
1534
|
}
|
|
1492
1535
|
};
|
|
1493
1536
|
const create = async () => {
|
|
@@ -1794,7 +1837,10 @@ const Submissions = () => {
|
|
|
1794
1837
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: row.formTitle || row.form }) }),
|
|
1795
1838
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", children: row.email || "—" }) }),
|
|
1796
1839
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral600", ellipsis: true, children: preview(row.values) }) }),
|
|
1797
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: row.meta?.hubspotConversion === true || row.meta?.hubspotConversion === "true" ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { backgroundColor: "success100", textColor: "success700", children: t("submissions.converted", "Conversion") }) : row.hubspotSynced ? /* @__PURE__ */ jsxRuntime.
|
|
1840
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: row.meta?.hubspotConversion === true || row.meta?.hubspotConversion === "true" ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { backgroundColor: "success100", textColor: "success700", children: t("submissions.converted", "Conversion") }) : row.hubspotSynced ? /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", gap: 1, children: [
|
|
1841
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { backgroundColor: "warning100", textColor: "warning700", children: t("submissions.contact-only", "Contact only") }),
|
|
1842
|
+
typeof row.meta?.hubspotError === "string" && row.meta.hubspotError && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "danger600", children: row.meta.hubspotError })
|
|
1843
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { backgroundColor: "warning100", textColor: "warning700", children: t("submissions.not-synced", "Not synced") }) })
|
|
1798
1844
|
]
|
|
1799
1845
|
},
|
|
1800
1846
|
row.documentId
|
|
@@ -5,7 +5,7 @@ const React = require("react");
|
|
|
5
5
|
const index = require("./index-DkTxsEqL.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
7
|
const admin = require("@strapi/strapi/admin");
|
|
8
|
-
const index$1 = require("./index-
|
|
8
|
+
const index$1 = require("./index-DhGVA3ZL.js");
|
|
9
9
|
function _interopNamespace(e) {
|
|
10
10
|
if (e && e.__esModule) return e;
|
|
11
11
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import { u as useIntl } from "./index-CEh8vkxY.mjs";
|
|
4
4
|
import { Field, Flex, Loader, Combobox, ComboboxOption } from "@strapi/design-system";
|
|
5
5
|
import { useFetchClient } from "@strapi/strapi/admin";
|
|
6
|
-
import { P as PLUGIN_ID, g as getTranslation } from "./index-
|
|
6
|
+
import { P as PLUGIN_ID, g as getTranslation } from "./index-Au3W85GX.mjs";
|
|
7
7
|
const HubspotFormInput = React.forwardRef(
|
|
8
8
|
({ name, value, onChange, disabled, error, required, label, hint, labelAction }, ref) => {
|
|
9
9
|
const { formatMessage } = useIntl();
|
|
@@ -4,9 +4,9 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const index = require("./index-DkTxsEqL.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
|
-
const index$1 = require("./index-
|
|
8
|
-
const objectLabels = require("./objectLabels-
|
|
9
|
-
const useHubspotSchema = require("./useHubspotSchema-
|
|
7
|
+
const index$1 = require("./index-DhGVA3ZL.js");
|
|
8
|
+
const objectLabels = require("./objectLabels-Bx7x8fFO.js");
|
|
9
|
+
const useHubspotSchema = require("./useHubspotSchema-DrGeidXC.js");
|
|
10
10
|
function _interopNamespace(e) {
|
|
11
11
|
if (e && e.__esModule) return e;
|
|
12
12
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -2,9 +2,9 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { u as useIntl } from "./index-CEh8vkxY.mjs";
|
|
4
4
|
import { Field, Flex, Loader, SingleSelect, SingleSelectOption } from "@strapi/design-system";
|
|
5
|
-
import { g as getTranslation } from "./index-
|
|
6
|
-
import { o as objectLabel } from "./objectLabels-
|
|
7
|
-
import { u as useHubspotSchema } from "./useHubspotSchema-
|
|
5
|
+
import { g as getTranslation } from "./index-Au3W85GX.mjs";
|
|
6
|
+
import { o as objectLabel } from "./objectLabels-3rnJ0WUc.mjs";
|
|
7
|
+
import { u as useHubspotSchema } from "./useHubspotSchema-BlVXfwju.mjs";
|
|
8
8
|
const HubspotObjectInput = React.forwardRef(
|
|
9
9
|
({ name, value, onChange, disabled, error, required, label, hint, labelAction }, ref) => {
|
|
10
10
|
const intl = useIntl();
|
|
@@ -6,9 +6,9 @@ const index = require("./index-DkTxsEqL.js");
|
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
7
|
const icons = require("@strapi/icons");
|
|
8
8
|
const admin = require("@strapi/strapi/admin");
|
|
9
|
-
const index$1 = require("./index-
|
|
10
|
-
const objectLabels = require("./objectLabels-
|
|
11
|
-
const useHubspotSchema = require("./useHubspotSchema-
|
|
9
|
+
const index$1 = require("./index-DhGVA3ZL.js");
|
|
10
|
+
const objectLabels = require("./objectLabels-Bx7x8fFO.js");
|
|
11
|
+
const useHubspotSchema = require("./useHubspotSchema-DrGeidXC.js");
|
|
12
12
|
function _interopNamespace(e) {
|
|
13
13
|
if (e && e.__esModule) return e;
|
|
14
14
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
package/dist/_chunks/{HubspotPropertyInput-WU5FMJj3.mjs → HubspotPropertyInput-TGG9ozTa.mjs}
RENAMED
|
@@ -4,9 +4,9 @@ import { u as useIntl } from "./index-CEh8vkxY.mjs";
|
|
|
4
4
|
import { Field, Flex, Loader, Combobox, ComboboxOption, IconButton, Button, Typography, Link } from "@strapi/design-system";
|
|
5
5
|
import { ArrowClockwise } from "@strapi/icons";
|
|
6
6
|
import { useField } from "@strapi/strapi/admin";
|
|
7
|
-
import { g as getTranslation } from "./index-
|
|
8
|
-
import { o as objectLabel } from "./objectLabels-
|
|
9
|
-
import { u as useHubspotSchema } from "./useHubspotSchema-
|
|
7
|
+
import { g as getTranslation } from "./index-Au3W85GX.mjs";
|
|
8
|
+
import { o as objectLabel } from "./objectLabels-3rnJ0WUc.mjs";
|
|
9
|
+
import { u as useHubspotSchema } from "./useHubspotSchema-BlVXfwju.mjs";
|
|
10
10
|
const oneLine = {
|
|
11
11
|
display: "block",
|
|
12
12
|
whiteSpace: "nowrap",
|
|
@@ -5,9 +5,9 @@ const React = require("react");
|
|
|
5
5
|
const index = require("./index-DkTxsEqL.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
7
|
const admin = require("@strapi/strapi/admin");
|
|
8
|
-
const index$1 = require("./index-
|
|
8
|
+
const index$1 = require("./index-DhGVA3ZL.js");
|
|
9
9
|
const reactRouterDom = require("react-router-dom");
|
|
10
|
-
const objectLabels = require("./objectLabels-
|
|
10
|
+
const objectLabels = require("./objectLabels-Bx7x8fFO.js");
|
|
11
11
|
function _interopNamespace(e) {
|
|
12
12
|
if (e && e.__esModule) return e;
|
|
13
13
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -3,9 +3,9 @@ import * as React from "react";
|
|
|
3
3
|
import { u as useIntl } from "./index-CEh8vkxY.mjs";
|
|
4
4
|
import { Flex, Divider, Typography, Button, Box, Link, Badge, Loader, Field, SingleSelect, SingleSelectOption, Checkbox } from "@strapi/design-system";
|
|
5
5
|
import { useFetchClient } from "@strapi/strapi/admin";
|
|
6
|
-
import { g as getTranslation, P as PLUGIN_ID } from "./index-
|
|
6
|
+
import { g as getTranslation, P as PLUGIN_ID } from "./index-Au3W85GX.mjs";
|
|
7
7
|
import { Link as Link$1 } from "react-router-dom";
|
|
8
|
-
import { o as objectLabel } from "./objectLabels-
|
|
8
|
+
import { o as objectLabel } from "./objectLabels-3rnJ0WUc.mjs";
|
|
9
9
|
const AuditSection = ({ configured }) => {
|
|
10
10
|
const intl = useIntl();
|
|
11
11
|
const { formatMessage } = intl;
|
|
@@ -25,7 +25,7 @@ const index = {
|
|
|
25
25
|
icon: PaperPlane,
|
|
26
26
|
intlLabel: { id: `${PLUGIN_ID}.menu.label`, defaultMessage: "HubSpot Forms" },
|
|
27
27
|
permissions: [{ action: `plugin::${PLUGIN_ID}.forms`, subject: null }],
|
|
28
|
-
Component: async () => (await import("./Forms-
|
|
28
|
+
Component: async () => (await import("./Forms-CUNHDvhI.mjs")).default
|
|
29
29
|
});
|
|
30
30
|
app.customFields.register({
|
|
31
31
|
name: "property",
|
|
@@ -40,7 +40,7 @@ const index = {
|
|
|
40
40
|
defaultMessage: "Picked from the portal's real properties"
|
|
41
41
|
},
|
|
42
42
|
components: {
|
|
43
|
-
Input: async () => import("./HubspotPropertyInput-
|
|
43
|
+
Input: async () => import("./HubspotPropertyInput-TGG9ozTa.mjs")
|
|
44
44
|
},
|
|
45
45
|
// Exposed in the Content-Type Builder. Without this, `objectField` could
|
|
46
46
|
// only be set by hand-editing schema.json — which is not how anyone
|
|
@@ -103,7 +103,7 @@ const index = {
|
|
|
103
103
|
defaultMessage: "Picked from the portal's configured objects"
|
|
104
104
|
},
|
|
105
105
|
components: {
|
|
106
|
-
Input: async () => import("./HubspotObjectInput-
|
|
106
|
+
Input: async () => import("./HubspotObjectInput-CWFddNNw.mjs")
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
app.customFields.register({
|
|
@@ -119,7 +119,7 @@ const index = {
|
|
|
119
119
|
defaultMessage: "A form built in the HubSpot form builder, stored by slug"
|
|
120
120
|
},
|
|
121
121
|
components: {
|
|
122
|
-
Input: async () => import("./HubspotFormInput-
|
|
122
|
+
Input: async () => import("./HubspotFormInput-Dppgr_rd.mjs")
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
125
|
app.createSettingSection(
|
|
@@ -135,7 +135,7 @@ const index = {
|
|
|
135
135
|
// Mirrors the RBAC action registered server-side: a role without it
|
|
136
136
|
// doesn't see the link at all — the routes refuse it anyway.
|
|
137
137
|
permissions: [{ action: `plugin::${PLUGIN_ID}.settings`, subject: null }],
|
|
138
|
-
Component: async () => (await import("./Settings-
|
|
138
|
+
Component: async () => (await import("./Settings-tct49GYU.mjs")).default
|
|
139
139
|
}
|
|
140
140
|
]
|
|
141
141
|
);
|
|
@@ -26,7 +26,7 @@ const index = {
|
|
|
26
26
|
icon: icons.PaperPlane,
|
|
27
27
|
intlLabel: { id: `${PLUGIN_ID}.menu.label`, defaultMessage: "HubSpot Forms" },
|
|
28
28
|
permissions: [{ action: `plugin::${PLUGIN_ID}.forms`, subject: null }],
|
|
29
|
-
Component: async () => (await Promise.resolve().then(() => require("./Forms-
|
|
29
|
+
Component: async () => (await Promise.resolve().then(() => require("./Forms-CylJ0nD3.js"))).default
|
|
30
30
|
});
|
|
31
31
|
app.customFields.register({
|
|
32
32
|
name: "property",
|
|
@@ -41,7 +41,7 @@ const index = {
|
|
|
41
41
|
defaultMessage: "Picked from the portal's real properties"
|
|
42
42
|
},
|
|
43
43
|
components: {
|
|
44
|
-
Input: async () => Promise.resolve().then(() => require("./HubspotPropertyInput-
|
|
44
|
+
Input: async () => Promise.resolve().then(() => require("./HubspotPropertyInput-BlDarkcj.js"))
|
|
45
45
|
},
|
|
46
46
|
// Exposed in the Content-Type Builder. Without this, `objectField` could
|
|
47
47
|
// only be set by hand-editing schema.json — which is not how anyone
|
|
@@ -104,7 +104,7 @@ const index = {
|
|
|
104
104
|
defaultMessage: "Picked from the portal's configured objects"
|
|
105
105
|
},
|
|
106
106
|
components: {
|
|
107
|
-
Input: async () => Promise.resolve().then(() => require("./HubspotObjectInput-
|
|
107
|
+
Input: async () => Promise.resolve().then(() => require("./HubspotObjectInput-BjRCaqXr.js"))
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
app.customFields.register({
|
|
@@ -120,7 +120,7 @@ const index = {
|
|
|
120
120
|
defaultMessage: "A form built in the HubSpot form builder, stored by slug"
|
|
121
121
|
},
|
|
122
122
|
components: {
|
|
123
|
-
Input: async () => Promise.resolve().then(() => require("./HubspotFormInput-
|
|
123
|
+
Input: async () => Promise.resolve().then(() => require("./HubspotFormInput-D2H2u9fZ.js"))
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
app.createSettingSection(
|
|
@@ -136,7 +136,7 @@ const index = {
|
|
|
136
136
|
// Mirrors the RBAC action registered server-side: a role without it
|
|
137
137
|
// doesn't see the link at all — the routes refuse it anyway.
|
|
138
138
|
permissions: [{ action: `plugin::${PLUGIN_ID}.settings`, subject: null }],
|
|
139
|
-
Component: async () => (await Promise.resolve().then(() => require("./Settings-
|
|
139
|
+
Component: async () => (await Promise.resolve().then(() => require("./Settings-DOx7YSqA.js"))).default
|
|
140
140
|
}
|
|
141
141
|
]
|
|
142
142
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { useFetchClient } from "@strapi/strapi/admin";
|
|
3
|
-
import { P as PLUGIN_ID } from "./index-
|
|
3
|
+
import { P as PLUGIN_ID } from "./index-Au3W85GX.mjs";
|
|
4
4
|
let cached = null;
|
|
5
5
|
let inFlight = null;
|
|
6
6
|
const listeners = /* @__PURE__ */ new Set();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const React = require("react");
|
|
3
3
|
const admin = require("@strapi/strapi/admin");
|
|
4
|
-
const index = require("./index-
|
|
4
|
+
const index = require("./index-DhGVA3ZL.js");
|
|
5
5
|
function _interopNamespace(e) {
|
|
6
6
|
if (e && e.__esModule) return e;
|
|
7
7
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
|
@@ -45,6 +45,7 @@ export interface FormField {
|
|
|
45
45
|
/** Company fields: rotating placeholder examples, one per line. */
|
|
46
46
|
placeholderExamples?: string[];
|
|
47
47
|
visibleIf?: Condition | null;
|
|
48
|
+
visibleIfSource?: "hubspot" | "editor" | null;
|
|
48
49
|
}
|
|
49
50
|
export interface FormStep {
|
|
50
51
|
id: string;
|
|
@@ -92,7 +93,7 @@ export interface HubspotSource {
|
|
|
92
93
|
}
|
|
93
94
|
/** What a HubSpot import couldn't carry over (mirrors server SkippedItem). */
|
|
94
95
|
export interface SkippedItem {
|
|
95
|
-
code: "field-type" | "hidden-field" | "object" | "duplicate" | "condition" | "rich-text" | "legal-consent";
|
|
96
|
+
code: "field-type" | "hidden-field" | "object" | "duplicate" | "condition" | "rich-text" | "legal-consent" | "progressive";
|
|
96
97
|
label?: string;
|
|
97
98
|
detail?: string;
|
|
98
99
|
}
|