keystone-design-bootstrap 1.0.103 → 1.0.105-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/blog-post-vWzW8yFb.d.ts +50 -0
- package/dist/contexts/index.d.ts +13 -0
- package/dist/contexts/index.js +173 -0
- package/dist/contexts/index.js.map +1 -0
- package/dist/design_system/components/DynamicFormFields.d.ts +15 -0
- package/dist/design_system/components/DynamicFormFields.js +5176 -0
- package/dist/design_system/components/DynamicFormFields.js.map +1 -0
- package/dist/design_system/elements/index.d.ts +383 -0
- package/dist/design_system/elements/index.js +4007 -0
- package/dist/design_system/elements/index.js.map +1 -0
- package/dist/design_system/logo/keystone-logo.d.ts +6 -0
- package/dist/design_system/logo/keystone-logo.js +145 -0
- package/dist/design_system/logo/keystone-logo.js.map +1 -0
- package/dist/design_system/sections/index.d.ts +233 -0
- package/dist/design_system/sections/index.js +20048 -0
- package/dist/design_system/sections/index.js.map +1 -0
- package/dist/form-C94A_PX_.d.ts +36 -0
- package/dist/index.d.ts +86 -0
- package/dist/index.js +20646 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/component-registry.d.ts +13 -0
- package/dist/lib/component-registry.js +36 -0
- package/dist/lib/component-registry.js.map +1 -0
- package/dist/lib/hooks/index.d.ts +83 -0
- package/dist/lib/hooks/index.js +182 -0
- package/dist/lib/hooks/index.js.map +1 -0
- package/dist/lib/server-api.d.ts +67 -0
- package/dist/lib/server-api.js +195 -0
- package/dist/lib/server-api.js.map +1 -0
- package/dist/package-DeHKpQp7.d.ts +121 -0
- package/dist/photos-CmBdWiuZ.d.ts +27 -0
- package/dist/themes/index.d.ts +17 -0
- package/dist/themes/index.js +29 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/tracking/index.d.ts +254 -0
- package/dist/tracking/index.js +587 -0
- package/dist/tracking/index.js.map +1 -0
- package/dist/types/index.d.ts +313 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cx.d.ts +15 -0
- package/dist/utils/cx.js +18 -0
- package/dist/utils/cx.js.map +1 -0
- package/dist/utils/gradient-placeholder.d.ts +7 -0
- package/dist/utils/gradient-placeholder.js +59 -0
- package/dist/utils/gradient-placeholder.js.map +1 -0
- package/dist/utils/is-react-component.d.ts +21 -0
- package/dist/utils/is-react-component.js +20 -0
- package/dist/utils/is-react-component.js.map +1 -0
- package/dist/utils/markdown-toc.d.ts +14 -0
- package/dist/utils/markdown-toc.js +29 -0
- package/dist/utils/markdown-toc.js.map +1 -0
- package/dist/utils/phone-helpers.d.ts +24 -0
- package/dist/utils/phone-helpers.js +26 -0
- package/dist/utils/phone-helpers.js.map +1 -0
- package/dist/utils/photo-helpers.d.ts +38 -0
- package/dist/utils/photo-helpers.js +41 -0
- package/dist/utils/photo-helpers.js.map +1 -0
- package/dist/website-photos-Cl1YqAno.d.ts +21 -0
- package/package.json +1 -1
- package/src/design_system/components/ChatWidget.tsx +66 -10
- package/src/design_system/portal/LoginForm.tsx +1 -24
- package/src/lib/chat-backend.ts +36 -0
- package/src/lib/consumer-session.ts +3 -1
- package/src/next/layouts/root-layout.tsx +5 -0
- package/src/next/routes/chat.ts +215 -18
- package/src/next/routes/consumer-auth.ts +49 -124
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
|
|
22
|
+
// src/utils/cx.ts
|
|
23
|
+
import { extendTailwindMerge } from "tailwind-merge";
|
|
24
|
+
var twMerge = extendTailwindMerge({
|
|
25
|
+
extend: {
|
|
26
|
+
theme: {
|
|
27
|
+
text: ["display-xs", "display-sm", "display-md", "display-lg", "display-xl", "display-2xl"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
var cx = twMerge;
|
|
32
|
+
|
|
33
|
+
// src/design_system/logo/keystone-logo-minimal.tsx
|
|
34
|
+
var KeystoneLogoMinimal = (props) => {
|
|
35
|
+
return /* @__PURE__ */ React.createElement(
|
|
36
|
+
"svg",
|
|
37
|
+
__spreadProps(__spreadValues({
|
|
38
|
+
viewBox: "0 0 36 41",
|
|
39
|
+
fill: "none",
|
|
40
|
+
"aria-hidden": "true"
|
|
41
|
+
}, props), {
|
|
42
|
+
className: cx("text-[#6ECC8B]", props.className)
|
|
43
|
+
}),
|
|
44
|
+
/* @__PURE__ */ React.createElement(
|
|
45
|
+
"path",
|
|
46
|
+
{
|
|
47
|
+
d: "M36 13.6677L24.0031 20.4999L36 27.3321V40.9966L11.998 27.3288V13.671L36 0.0032959V13.6677Z",
|
|
48
|
+
fill: "currentColor"
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
/* @__PURE__ */ React.createElement(
|
|
52
|
+
"path",
|
|
53
|
+
{
|
|
54
|
+
d: "M11.9971 27.3288V40.9958L0 34.1644V20.4973L11.9971 27.3288Z",
|
|
55
|
+
fill: "currentColor"
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
/* @__PURE__ */ React.createElement(
|
|
59
|
+
"path",
|
|
60
|
+
{
|
|
61
|
+
d: "M11.9971 13.671L0.00476074 20.4999L0 20.4973V6.83551L11.9971 0.00402832V13.671Z",
|
|
62
|
+
fill: "currentColor"
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// src/design_system/logo/keystone-wordmark.tsx
|
|
69
|
+
var KeystoneWordmark = (props) => {
|
|
70
|
+
return /* @__PURE__ */ React.createElement(
|
|
71
|
+
"svg",
|
|
72
|
+
__spreadProps(__spreadValues({
|
|
73
|
+
viewBox: "0 0 104 20",
|
|
74
|
+
fill: "none",
|
|
75
|
+
"aria-hidden": "true"
|
|
76
|
+
}, props), {
|
|
77
|
+
className: cx("text-[#6ECC8B]", props.className)
|
|
78
|
+
}),
|
|
79
|
+
/* @__PURE__ */ React.createElement(
|
|
80
|
+
"path",
|
|
81
|
+
{
|
|
82
|
+
d: "M3.14032 0L3.1612 8.23754H3.82871L9.47236 2.94575H13.0328V3.34299L6.45695 9.52024L13.2946 16.1684V16.5656H9.53903L3.8267 11.0811H3.15919V16.5584H0V0H3.14032Z",
|
|
83
|
+
fill: "currentColor"
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ React.createElement(
|
|
87
|
+
"path",
|
|
88
|
+
{
|
|
89
|
+
d: "M18.4299 2.62219C22.4643 2.62219 24.8242 5.10147 24.8242 9.20756V10.6049H14.6121C14.6635 12.8878 16.0848 14.486 18.4167 14.486C20.7485 14.486 21.6835 13.2718 21.8892 12.243H24.5535V12.6403C24.1957 14.422 22.5534 16.8876 18.4552 16.8876C14.357 16.8876 11.7031 14.4462 11.7031 9.7505C11.7031 5.05478 14.3675 2.62662 18.4295 2.62662L18.4299 2.62219ZM21.9647 8.28025C21.939 6.42119 20.7365 4.9932 18.3914 4.9932C16.0463 4.9932 14.8181 6.45903 14.6506 8.28025H21.9667H21.9647Z",
|
|
90
|
+
fill: "currentColor"
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
/* @__PURE__ */ React.createElement(
|
|
94
|
+
"path",
|
|
95
|
+
{
|
|
96
|
+
d: "M27.5146 2.93809L31.2554 12.994H31.459L35.1865 2.93809H38.2369V3.33534L31.565 19.9996H28.5147V19.6024L29.7417 16.5942L24.3848 3.33292V2.93567H27.5142L27.5146 2.93809Z",
|
|
97
|
+
fill: "currentColor"
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
/* @__PURE__ */ React.createElement(
|
|
101
|
+
"path",
|
|
102
|
+
{
|
|
103
|
+
d: "M44.1191 2.63538C47.759 2.63538 49.8832 4.19177 50.1017 6.73947V7.13671H47.3345C47.2445 5.53847 45.965 4.98667 44.1319 4.98667C42.2989 4.98667 41.3129 5.54088 41.3129 6.5982C41.3129 7.65551 42.1338 7.9956 43.3002 8.18115L45.8103 8.57839C48.4747 9.0022 50.2796 10.1214 50.2796 12.6027C50.2796 15.084 48.3591 16.8767 44.4898 16.8767C40.6205 16.8767 38.3782 15.082 38.1855 12.6667V12.2695H41.0045C41.133 13.8677 42.5692 14.5258 44.4898 14.5258C46.4104 14.5258 47.3859 13.8391 47.3859 12.7706C47.3859 11.702 46.5521 11.2782 45.1332 11.0552L42.623 10.658C40.1129 10.2607 38.4324 9.12818 38.4324 6.66219C38.4324 4.1962 40.4944 2.6378 44.1215 2.6378H44.1195L44.1191 2.63538Z",
|
|
104
|
+
fill: "currentColor"
|
|
105
|
+
}
|
|
106
|
+
),
|
|
107
|
+
/* @__PURE__ */ React.createElement(
|
|
108
|
+
"path",
|
|
109
|
+
{
|
|
110
|
+
d: "M54.2257 2.93729V0H57.2632V2.93729H62.247V5.35257H57.2632V13.7724L57.4668 13.9821H62.1679V16.5673H57.8765C55.5828 16.5673 54.2237 15.353 54.2237 13.0327V5.35217H50.2773V2.93689L54.2257 2.93729Z",
|
|
111
|
+
fill: "currentColor"
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ React.createElement(
|
|
115
|
+
"path",
|
|
116
|
+
{
|
|
117
|
+
d: "M69.219 2.62219C73.3325 2.62219 76.2025 5.13004 76.2025 9.74608C76.2025 14.3621 73.3325 16.8832 69.219 16.8832C65.1056 16.8832 62.25 14.3754 62.25 9.74608C62.25 5.11676 65.1052 2.62219 69.219 2.62219ZM69.219 14.4442C71.6003 14.4442 73.1265 12.7687 73.1265 9.74648C73.1265 6.72426 71.6023 5.06202 69.219 5.06202C66.8358 5.06202 65.3241 6.73754 65.3241 9.74648C65.3241 12.7554 66.8482 14.4442 69.219 14.4442Z",
|
|
118
|
+
fill: "currentColor"
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ React.createElement(
|
|
122
|
+
"path",
|
|
123
|
+
{
|
|
124
|
+
d: "M80.2535 2.94007V4.45661H80.4568C81.3785 3.16304 82.8641 2.64868 84.6606 2.64868C87.7989 2.64868 89.7472 4.29763 89.7472 7.66236V16.5681H86.7097V7.93846C86.7097 6.03755 85.698 5.15451 83.8907 5.15451C81.9315 5.15451 80.3539 6.30238 80.3539 8.95392V16.566H77.3164V2.94007H80.2535Z",
|
|
125
|
+
fill: "currentColor"
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
/* @__PURE__ */ React.createElement(
|
|
129
|
+
"path",
|
|
130
|
+
{
|
|
131
|
+
d: "M97.6065 2.62219C101.64 2.62219 104 5.10147 104 9.20756V10.6049H93.7886C93.838 12.8878 95.261 14.486 97.5933 14.486C99.9255 14.486 100.859 13.2718 101.065 12.243H103.729V12.6403C103.371 14.422 101.73 16.8876 97.6314 16.8876C93.5328 16.8876 90.8789 14.4462 90.8789 9.7505C90.8789 5.05478 93.5437 2.62662 97.6057 2.62662L97.6065 2.62219ZM101.141 8.28025C101.115 6.42119 99.9127 4.9932 97.568 4.9932C95.2233 4.9932 93.9943 6.45903 93.8272 8.28025H101.143H101.141Z",
|
|
132
|
+
fill: "currentColor"
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// src/design_system/logo/keystone-logo.tsx
|
|
139
|
+
var KeystoneLogo = (props) => {
|
|
140
|
+
return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({}, props), { className: cx("flex h-8 w-max items-stretch justify-start overflow-visible", props.className) }), /* @__PURE__ */ React.createElement(KeystoneLogoMinimal, { className: "aspect-square h-full w-auto shrink-0" }), /* @__PURE__ */ React.createElement("div", { className: "aspect-[0.4] h-full" }), /* @__PURE__ */ React.createElement(KeystoneWordmark, { className: "h-full w-auto shrink-0" }));
|
|
141
|
+
};
|
|
142
|
+
export {
|
|
143
|
+
KeystoneLogo
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=keystone-logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/cx.ts","../../../src/design_system/logo/keystone-logo-minimal.tsx","../../../src/design_system/logo/keystone-wordmark.tsx","../../../src/design_system/logo/keystone-logo.tsx"],"sourcesContent":["import { extendTailwindMerge } from \"tailwind-merge\";\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n text: [\"display-xs\", \"display-sm\", \"display-md\", \"display-lg\", \"display-xl\", \"display-2xl\"],\n },\n },\n});\n\n/**\n * This function is a wrapper around the twMerge function.\n * It is used to merge the classes inside style objects.\n */\nexport const cx = twMerge;\n\n/**\n * This function does nothing besides helping us to be able to\n * sort the classes inside style objects which is not supported\n * by the Tailwind IntelliSense by default.\n */\nexport function sortCx<T extends Record<string, string | number | Record<string, string | number | Record<string, string | number>>>>(classes: T): T {\n return classes;\n}\n\n","\"use client\";\n\nimport type { SVGProps } from \"react\";\nimport { cx } from \"../../utils/cx\";\n\nexport const KEYSTONE_BRAND_COLOR = \"#6ECC8B\";\nexport const KEYSTONE_APP_URL = \"https://www.keystone.app\";\n\nexport const KeystoneLogoMinimal = (props: SVGProps<SVGSVGElement>) => {\n return (\n <svg\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n aria-hidden=\"true\"\n {...props}\n className={cx(\"text-[#6ECC8B]\", props.className)}\n >\n <path\n d=\"M36 13.6677L24.0031 20.4999L36 27.3321V40.9966L11.998 27.3288V13.671L36 0.0032959V13.6677Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11.9971 27.3288V40.9958L0 34.1644V20.4973L11.9971 27.3288Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11.9971 13.671L0.00476074 20.4999L0 20.4973V6.83551L11.9971 0.00402832V13.671Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport type { SVGProps } from \"react\";\nimport { cx } from \"../../utils/cx\";\n\nexport const KeystoneWordmark = (props: SVGProps<SVGSVGElement>) => {\n return (\n <svg\n viewBox=\"0 0 104 20\"\n fill=\"none\"\n aria-hidden=\"true\"\n {...props}\n className={cx(\"text-[#6ECC8B]\", props.className)}\n >\n <path\n d=\"M3.14032 0L3.1612 8.23754H3.82871L9.47236 2.94575H13.0328V3.34299L6.45695 9.52024L13.2946 16.1684V16.5656H9.53903L3.8267 11.0811H3.15919V16.5584H0V0H3.14032Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.4299 2.62219C22.4643 2.62219 24.8242 5.10147 24.8242 9.20756V10.6049H14.6121C14.6635 12.8878 16.0848 14.486 18.4167 14.486C20.7485 14.486 21.6835 13.2718 21.8892 12.243H24.5535V12.6403C24.1957 14.422 22.5534 16.8876 18.4552 16.8876C14.357 16.8876 11.7031 14.4462 11.7031 9.7505C11.7031 5.05478 14.3675 2.62662 18.4295 2.62662L18.4299 2.62219ZM21.9647 8.28025C21.939 6.42119 20.7365 4.9932 18.3914 4.9932C16.0463 4.9932 14.8181 6.45903 14.6506 8.28025H21.9667H21.9647Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.5146 2.93809L31.2554 12.994H31.459L35.1865 2.93809H38.2369V3.33534L31.565 19.9996H28.5147V19.6024L29.7417 16.5942L24.3848 3.33292V2.93567H27.5142L27.5146 2.93809Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M44.1191 2.63538C47.759 2.63538 49.8832 4.19177 50.1017 6.73947V7.13671H47.3345C47.2445 5.53847 45.965 4.98667 44.1319 4.98667C42.2989 4.98667 41.3129 5.54088 41.3129 6.5982C41.3129 7.65551 42.1338 7.9956 43.3002 8.18115L45.8103 8.57839C48.4747 9.0022 50.2796 10.1214 50.2796 12.6027C50.2796 15.084 48.3591 16.8767 44.4898 16.8767C40.6205 16.8767 38.3782 15.082 38.1855 12.6667V12.2695H41.0045C41.133 13.8677 42.5692 14.5258 44.4898 14.5258C46.4104 14.5258 47.3859 13.8391 47.3859 12.7706C47.3859 11.702 46.5521 11.2782 45.1332 11.0552L42.623 10.658C40.1129 10.2607 38.4324 9.12818 38.4324 6.66219C38.4324 4.1962 40.4944 2.6378 44.1215 2.6378H44.1195L44.1191 2.63538Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M54.2257 2.93729V0H57.2632V2.93729H62.247V5.35257H57.2632V13.7724L57.4668 13.9821H62.1679V16.5673H57.8765C55.5828 16.5673 54.2237 15.353 54.2237 13.0327V5.35217H50.2773V2.93689L54.2257 2.93729Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M69.219 2.62219C73.3325 2.62219 76.2025 5.13004 76.2025 9.74608C76.2025 14.3621 73.3325 16.8832 69.219 16.8832C65.1056 16.8832 62.25 14.3754 62.25 9.74608C62.25 5.11676 65.1052 2.62219 69.219 2.62219ZM69.219 14.4442C71.6003 14.4442 73.1265 12.7687 73.1265 9.74648C73.1265 6.72426 71.6023 5.06202 69.219 5.06202C66.8358 5.06202 65.3241 6.73754 65.3241 9.74648C65.3241 12.7554 66.8482 14.4442 69.219 14.4442Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M80.2535 2.94007V4.45661H80.4568C81.3785 3.16304 82.8641 2.64868 84.6606 2.64868C87.7989 2.64868 89.7472 4.29763 89.7472 7.66236V16.5681H86.7097V7.93846C86.7097 6.03755 85.698 5.15451 83.8907 5.15451C81.9315 5.15451 80.3539 6.30238 80.3539 8.95392V16.566H77.3164V2.94007H80.2535Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M97.6065 2.62219C101.64 2.62219 104 5.10147 104 9.20756V10.6049H93.7886C93.838 12.8878 95.261 14.486 97.5933 14.486C99.9255 14.486 100.859 13.2718 101.065 12.243H103.729V12.6403C103.371 14.422 101.73 16.8876 97.6314 16.8876C93.5328 16.8876 90.8789 14.4462 90.8789 9.7505C90.8789 5.05478 93.5437 2.62662 97.6057 2.62662L97.6065 2.62219ZM101.141 8.28025C101.115 6.42119 99.9127 4.9932 97.568 4.9932C95.2233 4.9932 93.9943 6.45903 93.8272 8.28025H101.143H101.141Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n","\"use client\";\n\nimport type { HTMLAttributes } from \"react\";\nimport { cx } from '../../utils/cx';\nimport { KeystoneLogoMinimal } from \"./keystone-logo-minimal\";\nimport { KeystoneWordmark } from \"./keystone-wordmark\";\n\nexport const KeystoneLogo = (props: HTMLAttributes<HTMLOrSVGElement>) => {\n return (\n <div {...props} className={cx(\"flex h-8 w-max items-stretch justify-start overflow-visible\", props.className)}>\n <KeystoneLogoMinimal className=\"aspect-square h-full w-auto shrink-0\" />\n <div className=\"aspect-[0.4] h-full\" />\n <KeystoneWordmark className=\"h-full w-auto shrink-0\" />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,2BAA2B;AAEpC,IAAM,UAAU,oBAAoB;AAAA,EAChC,QAAQ;AAAA,IACJ,OAAO;AAAA,MACH,MAAM,CAAC,cAAc,cAAc,cAAc,cAAc,cAAc,aAAa;AAAA,IAC9F;AAAA,EACJ;AACJ,CAAC;AAMM,IAAM,KAAK;;;ACNX,IAAM,sBAAsB,CAAC,UAAmC;AACrE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAY;AAAA,OACR,QAJL;AAAA,MAKC,WAAW,GAAG,kBAAkB,MAAM,SAAS;AAAA;AAAA,IAE/C;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;;;AC1BO,IAAM,mBAAmB,CAAC,UAAmC;AAClE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAY;AAAA,OACR,QAJL;AAAA,MAKC,WAAW,GAAG,kBAAkB,MAAM,SAAS;AAAA;AAAA,IAE/C;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IACP;AAAA,EACF;AAEJ;;;ACzCO,IAAM,eAAe,CAAC,UAA4C;AACrE,SACI,oCAAC,wCAAQ,QAAR,EAAe,WAAW,GAAG,+DAA+D,MAAM,SAAS,MACxG,oCAAC,uBAAoB,WAAU,wCAAuC,GACtE,oCAAC,SAAI,WAAU,uBAAsB,GACrC,oCAAC,oBAAiB,WAAU,0BAAyB,CACzD;AAER;","names":[]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { S as Service, P as Package, C as CompanyInformation } from '../../package-DeHKpQp7.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default, { ComponentProps, ReactNode, FC } from 'react';
|
|
4
|
+
export { Theme } from '../../themes/index.js';
|
|
5
|
+
import { B as BlogPost, a as BlogPostAuthor, d as BlogPostTag } from '../../blog-post-vWzW8yFb.js';
|
|
6
|
+
import { BadgeGroup } from '../elements/index.js';
|
|
7
|
+
import { F as FormDefinition } from '../../form-C94A_PX_.js';
|
|
8
|
+
import { W as WebsitePhotos } from '../../website-photos-Cl1YqAno.js';
|
|
9
|
+
import '../../photos-CmBdWiuZ.js';
|
|
10
|
+
import 'react-aria-components';
|
|
11
|
+
import 'embla-carousel-react';
|
|
12
|
+
|
|
13
|
+
interface PolicyDocumentSectionProps {
|
|
14
|
+
/** Page title (e.g. "Terms of Service" or "Privacy Policy") */
|
|
15
|
+
title: string;
|
|
16
|
+
/** Optional effective date string (e.g. "January 1, 2025") */
|
|
17
|
+
effectiveDate?: string;
|
|
18
|
+
/** Full markdown content for the policy (supports placeholders replaced before passing in) */
|
|
19
|
+
content: string;
|
|
20
|
+
/** Optional additional class name for the container */
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ServiceDetailContentProps {
|
|
25
|
+
service?: Service | null;
|
|
26
|
+
/** Label above the title (e.g. "Why Balance Aesthetics") */
|
|
27
|
+
sectionLabel?: string;
|
|
28
|
+
/** CTA button text */
|
|
29
|
+
ctaText?: string;
|
|
30
|
+
/** CTA button href */
|
|
31
|
+
ctaHref?: string;
|
|
32
|
+
/** Fallback summary when service.summary is empty */
|
|
33
|
+
defaultSummary?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare const getBlogPostData: (article: BlogPost) => {
|
|
37
|
+
author: BlogPostAuthor | null;
|
|
38
|
+
authorName: string;
|
|
39
|
+
authorHref: string;
|
|
40
|
+
authorAvatarUrl: string | null;
|
|
41
|
+
tag: BlogPostTag | null;
|
|
42
|
+
tagName: string;
|
|
43
|
+
tagHref: string;
|
|
44
|
+
href: string;
|
|
45
|
+
title: string;
|
|
46
|
+
publishedAt: string;
|
|
47
|
+
summary: string;
|
|
48
|
+
};
|
|
49
|
+
declare const BlogCardVertical: ({ article, imageClassName }: {
|
|
50
|
+
article: BlogPost;
|
|
51
|
+
imageClassName?: string;
|
|
52
|
+
}) => React.JSX.Element;
|
|
53
|
+
declare const BlogCardVerticalBadge: ({ article, badgeTheme, imageClassName, }: {
|
|
54
|
+
article: BlogPost;
|
|
55
|
+
badgeTheme?: ComponentProps<typeof BadgeGroup>["theme"];
|
|
56
|
+
imageClassName?: string;
|
|
57
|
+
}) => React.JSX.Element;
|
|
58
|
+
declare const BlogCardVerticalCompact: ({ article, imageClassName, titleClassName, className, }: {
|
|
59
|
+
article: BlogPost;
|
|
60
|
+
imageClassName?: string;
|
|
61
|
+
titleClassName?: string;
|
|
62
|
+
className?: string;
|
|
63
|
+
}) => React.JSX.Element;
|
|
64
|
+
declare const BlogCardVerticalMinimal: ({ article, imageClassName, className }: {
|
|
65
|
+
article: BlogPost;
|
|
66
|
+
imageClassName?: string;
|
|
67
|
+
className?: string;
|
|
68
|
+
}) => React.JSX.Element;
|
|
69
|
+
declare const BlogCardHorizontal: ({ article, imageClassName }: {
|
|
70
|
+
article: BlogPost;
|
|
71
|
+
imageClassName?: string;
|
|
72
|
+
}) => React.JSX.Element;
|
|
73
|
+
declare const BlogCardHorizontalBadge: ({ article }: {
|
|
74
|
+
article: BlogPost;
|
|
75
|
+
}) => React.JSX.Element;
|
|
76
|
+
declare const BlogCardHorizontalCompact: ({ article, imageClassName }: {
|
|
77
|
+
article: BlogPost;
|
|
78
|
+
imageClassName?: string;
|
|
79
|
+
}) => React.JSX.Element;
|
|
80
|
+
declare const BlogCardHorizontalMinimal: ({ article }: {
|
|
81
|
+
article: BlogPost;
|
|
82
|
+
}) => React.JSX.Element;
|
|
83
|
+
declare const BlogCardFullWidthVertical: ({ article }: {
|
|
84
|
+
article: BlogPost;
|
|
85
|
+
}) => React.JSX.Element;
|
|
86
|
+
declare const BlogCardFullWidthVerticalAlt: ({ article }: {
|
|
87
|
+
article: BlogPost;
|
|
88
|
+
}) => React.JSX.Element;
|
|
89
|
+
declare const BlogCardFullWidthVerticalCompact: ({ article }: {
|
|
90
|
+
article: BlogPost;
|
|
91
|
+
}) => React.JSX.Element;
|
|
92
|
+
declare const BlogCardFullWidthVerticalMinimal: ({ article }: {
|
|
93
|
+
article: BlogPost;
|
|
94
|
+
}) => React.JSX.Element;
|
|
95
|
+
declare const BlogCardFullWidthHorizontal: ({ article }: {
|
|
96
|
+
article: BlogPost;
|
|
97
|
+
}) => React.JSX.Element;
|
|
98
|
+
declare const BlogCardFullWidthHorizontalAlt: ({ article }: {
|
|
99
|
+
article: BlogPost;
|
|
100
|
+
}) => React.JSX.Element;
|
|
101
|
+
declare const BlogCardFullWidthHorizontalCompact: ({ article }: {
|
|
102
|
+
article: BlogPost;
|
|
103
|
+
}) => React.JSX.Element;
|
|
104
|
+
declare const BlogCardFullWidthHorizontalMinimal: ({ article }: {
|
|
105
|
+
article: BlogPost;
|
|
106
|
+
}) => React.JSX.Element;
|
|
107
|
+
|
|
108
|
+
interface FeatureTabProps {
|
|
109
|
+
title: string;
|
|
110
|
+
subtitle: string;
|
|
111
|
+
footer?: ReactNode;
|
|
112
|
+
isCurrent?: boolean;
|
|
113
|
+
}
|
|
114
|
+
declare const FeatureTabVertical: ({ title, subtitle, footer, isCurrent }: FeatureTabProps) => React.JSX.Element;
|
|
115
|
+
declare const FeatureTabHorizontal: ({ title, subtitle, footer, isCurrent }: FeatureTabProps) => React.JSX.Element;
|
|
116
|
+
|
|
117
|
+
interface TextCentered {
|
|
118
|
+
title: string;
|
|
119
|
+
subtitle: string;
|
|
120
|
+
footer?: ReactNode;
|
|
121
|
+
}
|
|
122
|
+
declare const FeatureTextCentered: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
|
|
123
|
+
declare const FeatureTextLeft: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
|
|
124
|
+
interface FeatureTextIcon extends TextCentered {
|
|
125
|
+
icon: FC<{
|
|
126
|
+
className?: string;
|
|
127
|
+
}>;
|
|
128
|
+
}
|
|
129
|
+
declare const FeatureTextIconTopCentered: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
130
|
+
declare const FeatureTextIconTopLeft: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
131
|
+
declare const FeatureTextIconLeft: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
132
|
+
declare const FeatureTextFeaturedIconTopCentered: ({ color, theme, icon, title, subtitle, footer, }: FeatureTextIcon & {
|
|
133
|
+
color?: "brand" | "gray" | "success" | "warning" | "error";
|
|
134
|
+
theme?: "light" | "gradient" | "dark" | "outline" | "modern";
|
|
135
|
+
}) => React.JSX.Element;
|
|
136
|
+
declare const FeatureTextFeaturedIconTopLeft: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
137
|
+
declare const FeatureTextFeaturedIconLeft: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
138
|
+
declare const FeatureTextFeaturedIconBox: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
139
|
+
interface FeatureTextIntegrationIcon extends TextCentered {
|
|
140
|
+
imgUrl: string;
|
|
141
|
+
}
|
|
142
|
+
declare const FeatureTextIntegrationIconTopCentered: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
|
|
143
|
+
declare const FeatureTextIntegrationIconTopLeft: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
|
|
144
|
+
declare const FeatureTextIntegrationIconLeft: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
|
|
145
|
+
declare const FeatureTextIntegrationIconBox: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
|
|
146
|
+
declare const FeatureTextIconCard: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
147
|
+
declare const FeatureTextFeaturedIconCard: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
148
|
+
declare const FeatureTextLeftBrand: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
|
|
149
|
+
declare const FeatureTextFeaturedIconTopCenteredBrand: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
150
|
+
declare const FeatureTextFeaturedIconTopLeftBrand: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
|
|
151
|
+
|
|
152
|
+
interface JobApplicationFormProps {
|
|
153
|
+
jobSlug: string;
|
|
154
|
+
/** Form fields are rendered from this definition (required). */
|
|
155
|
+
formDefinition: FormDefinition | null | undefined;
|
|
156
|
+
inline?: boolean;
|
|
157
|
+
}
|
|
158
|
+
declare const JobApplicationForm: ({ jobSlug, formDefinition, inline }: JobApplicationFormProps) => React__default.JSX.Element | null;
|
|
159
|
+
|
|
160
|
+
interface EmailSignupSectionProps {
|
|
161
|
+
title?: string;
|
|
162
|
+
subtitle?: string;
|
|
163
|
+
buttonText?: string;
|
|
164
|
+
successMessage?: string;
|
|
165
|
+
/** Override the form definition (falls back to context). */
|
|
166
|
+
formDefinition?: FormDefinition | null;
|
|
167
|
+
}
|
|
168
|
+
declare const EmailSignupSection: ({ title, subtitle, buttonText, successMessage, formDefinition, }: EmailSignupSectionProps) => React__default.JSX.Element | null;
|
|
169
|
+
|
|
170
|
+
/** Package with category names and first-service description fallback (derived from services). */
|
|
171
|
+
interface PackageForMenu extends Package {
|
|
172
|
+
category_names?: string[];
|
|
173
|
+
first_service_description_markdown?: string | null;
|
|
174
|
+
}
|
|
175
|
+
interface ServiceMenuSectionProps {
|
|
176
|
+
title?: string;
|
|
177
|
+
subtitle?: string;
|
|
178
|
+
packages?: Package[] | null;
|
|
179
|
+
/** Services (used to derive service items for the third row). */
|
|
180
|
+
services?: Service[] | null;
|
|
181
|
+
websitePhotos?: WebsitePhotos | null;
|
|
182
|
+
companyInformation?: CompanyInformation | null;
|
|
183
|
+
viewAllHref?: string;
|
|
184
|
+
/** Label for the View All button (e.g. "View All"). */
|
|
185
|
+
viewAllText?: string;
|
|
186
|
+
/** Customer-friendly label for the third row (individual service items). Default "Treatments". */
|
|
187
|
+
servicesRowTitle?: string;
|
|
188
|
+
/** 'section' = compact header + carousel (e.g. home). 'page' = hero + grid (e.g. /service-menu). */
|
|
189
|
+
variant?: 'section' | 'page';
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Service Menu: packages and treatments (service items). Specials appear as card badges and in modals.
|
|
193
|
+
*/
|
|
194
|
+
declare function ServiceMenuSection({ title, subtitle, packages, services, websitePhotos, companyInformation, viewAllHref, viewAllText, servicesRowTitle, variant, }: ServiceMenuSectionProps): React__default.JSX.Element | null;
|
|
195
|
+
|
|
196
|
+
declare const HeroHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
197
|
+
declare const ServicesHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
198
|
+
declare const AboutHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
199
|
+
declare const TestimonialsHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
200
|
+
declare const TestimonialsGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
201
|
+
declare const FAQHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
202
|
+
declare const BlogSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
203
|
+
declare const ContactSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
204
|
+
declare const FooterHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
205
|
+
declare const HeaderNavigation: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
206
|
+
declare const GenericHeaderComponent: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
207
|
+
declare const StatisticsSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
208
|
+
declare const ValuesSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
209
|
+
declare const TeamGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
210
|
+
declare const LocationGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
211
|
+
declare const LocationDetailsSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
212
|
+
declare const ServicesGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
213
|
+
declare const SocialMediaGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
214
|
+
declare const JobGallery: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
215
|
+
declare const BlogHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
216
|
+
declare const BlogGallery: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
217
|
+
declare const BlogPostSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
218
|
+
declare const ContactHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
219
|
+
declare const FAQGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
220
|
+
declare const FAQHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
221
|
+
|
|
222
|
+
declare const GenericTextHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
223
|
+
declare const LocationDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
224
|
+
declare const ServiceDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
225
|
+
declare const ServiceDetailContent: ({ service, sectionLabel, ctaText, ctaHref, defaultSummary, }: ServiceDetailContentProps) => React__default.JSX.Element | null;
|
|
226
|
+
declare const JobDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
227
|
+
declare const JobDetailSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
228
|
+
declare const PolicyDocumentSection: ({ title, effectiveDate, content, className, }: PolicyDocumentSectionProps) => React__default.JSX.Element;
|
|
229
|
+
declare const SocialMediaHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
230
|
+
declare const TestimonialsHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
231
|
+
declare const HomeHeroComponent: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
|
|
232
|
+
|
|
233
|
+
export { AboutHome, BlogCardFullWidthHorizontal, BlogCardFullWidthHorizontalAlt, BlogCardFullWidthHorizontalCompact, BlogCardFullWidthHorizontalMinimal, BlogCardFullWidthVertical, BlogCardFullWidthVerticalAlt, BlogCardFullWidthVerticalCompact, BlogCardFullWidthVerticalMinimal, BlogCardHorizontal, BlogCardHorizontalBadge, BlogCardHorizontalCompact, BlogCardHorizontalMinimal, BlogCardVertical, BlogCardVerticalBadge, BlogCardVerticalCompact, BlogCardVerticalMinimal, BlogGallery, BlogHome, BlogPostSection, BlogSection, ContactHome, ContactSection, EmailSignupSection, type EmailSignupSectionProps, FAQGrid, FAQHero, FAQHome, FeatureTabHorizontal, FeatureTabVertical, FeatureTextCentered, FeatureTextFeaturedIconBox, FeatureTextFeaturedIconCard, FeatureTextFeaturedIconLeft, FeatureTextFeaturedIconTopCentered, FeatureTextFeaturedIconTopCenteredBrand, FeatureTextFeaturedIconTopLeft, FeatureTextFeaturedIconTopLeftBrand, FeatureTextIconCard, FeatureTextIconLeft, FeatureTextIconTopCentered, FeatureTextIconTopLeft, FeatureTextIntegrationIconBox, FeatureTextIntegrationIconLeft, FeatureTextIntegrationIconTopCentered, FeatureTextIntegrationIconTopLeft, FeatureTextLeft, FeatureTextLeftBrand, FooterHome, GenericHeaderComponent, GenericTextHero, HeaderNavigation, HeroHome, HomeHeroComponent, JobApplicationForm, JobDetailHero, JobDetailSection, JobGallery, LocationDetailHero, LocationDetailsSection, LocationGrid, type PackageForMenu, PolicyDocumentSection, ServiceDetailContent, ServiceDetailHero, ServiceMenuSection, type ServiceMenuSectionProps, ServicesGrid, ServicesHome, SocialMediaGrid, SocialMediaHero, StatisticsSection, TeamGrid, TestimonialsGrid, TestimonialsHero, TestimonialsHome, ValuesSection, getBlogPostData };
|