gsintegrations 0.0.485 → 0.0.487
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/dist/bundle.cjs.js +894 -103
- package/dist/bundle.cjs.js.map +2 -2
- package/dist/bundle.esm.js +894 -104
- package/dist/bundle.esm.js.map +2 -2
- package/dist/index.d.ts +98 -2
- package/dist/types/components/FormChatAssistant/FormChatAssistant.types.d.ts +2 -0
- package/dist/types/pages/ActivityDetailPage/ActivityDetailPage.d.ts +1 -0
- package/dist/types/pages/ActivityDetailPage/ActivityDetailPage.types.d.ts +8 -0
- package/dist/types/pages/ActivityDetailPage/useActivityDetailPage.d.ts +1 -0
- package/dist/types/pages/ActivityListPage/ActivityListPage.types.d.ts +8 -0
- package/dist/types/pages/ActivityListPage/useActivityListPage.d.ts +1 -0
- package/dist/types/pages/ActivityOnboardingPage/ActivityOnboarding.types.d.ts +8 -0
- package/dist/types/pages/EventDetailPage/EventDetailPage.d.ts +2 -0
- package/dist/types/pages/EventDetailPage/EventDetailPage.types.d.ts +27 -0
- package/dist/types/pages/EventDetailPage/useEventDetailPage.d.ts +2 -0
- package/dist/types/pages/EventOnboardingPage/EventOnboarding.types.d.ts +22 -0
- package/dist/types/pages/EventOnboardingPage/components/EventActivitySelectionStep.d.ts +1 -0
- package/dist/types/pages/EventsPage/EventsPage.types.d.ts +8 -0
- package/dist/types/pages/EventsPage/useEventsPage.d.ts +1 -0
- package/dist/types/pages/HomePage/HomePage.types.d.ts +12 -0
- package/dist/types/pages/NearbyTerreiroSearchPage/NearbyTerreiroSearchPage.d.ts +4 -0
- package/dist/types/pages/NearbyTerreiroSearchPage/NearbyTerreiroSearchPage.types.d.ts +42 -0
- package/dist/types/pages/NearbyTerreiroSearchPage/TerreiroLocationSearch.d.ts +8 -0
- package/dist/types/pages/NearbyTerreiroSearchPage/TerreiroResultMap.d.ts +16 -0
- package/dist/types/pages/NearbyTerreiroSearchPage/index.d.ts +3 -0
- package/dist/types/pages/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/bundle.esm.js
CHANGED
|
@@ -58777,6 +58777,10 @@ var DeleteOutline = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
|
58777
58777
|
d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"
|
|
58778
58778
|
}), 'DeleteOutline');
|
|
58779
58779
|
|
|
58780
|
+
var DirectionsOutlined = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
58781
|
+
d: "m22.43 10.59-9.01-9.01c-.75-.75-2.07-.76-2.83 0l-9 9c-.78.78-.78 2.04 0 2.82l9 9c.39.39.9.58 1.41.58.51 0 1.02-.19 1.41-.58l8.99-8.99c.79-.76.8-2.02.03-2.82m-10.42 10.4-9-9 9-9 9 9zM8 11v4h2v-3h4v2.5l3.5-3.5L14 7.5V10H9c-.55 0-1 .45-1 1"
|
|
58782
|
+
}), 'DirectionsOutlined');
|
|
58783
|
+
|
|
58780
58784
|
var DirectionsWalk = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
58781
58785
|
d: "M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2M9.8 8.9 7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3C14.8 12 16.8 13 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6z"
|
|
58782
58786
|
}), 'DirectionsWalk');
|
|
@@ -59026,6 +59030,10 @@ var MoreVert = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
|
59026
59030
|
d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"
|
|
59027
59031
|
}), 'MoreVert');
|
|
59028
59032
|
|
|
59033
|
+
var MyLocation = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
59034
|
+
d: "M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7"
|
|
59035
|
+
}), 'MyLocation');
|
|
59036
|
+
|
|
59029
59037
|
var NavigateNext = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
59030
59038
|
d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
|
|
59031
59039
|
}), 'NavigateNext');
|
|
@@ -126860,7 +126868,7 @@ const ActivityFormChatSummaryCard = ({ summary, confirmLabel = "Criar atividade"
|
|
|
126860
126868
|
React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Hor\u00E1rio", value: summary.isAllDay
|
|
126861
126869
|
? "Dia inteiro"
|
|
126862
126870
|
: `${formatTime$2(summary.startTime)} – ${formatTime$2(summary.endTime)}` }))) : null,
|
|
126863
|
-
summary.checkinStartWindowMinutes !== undefined ? (React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: `${summary.checkinStartWindowMinutes} min antes / ${(_e = summary.checkinEndWindowMinutes) !== null && _e !== void 0 ? _e : 15} min depois` })) : null,
|
|
126871
|
+
summary.qrCheckinEnabled === false ? (React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: "Desativado" })) : summary.checkinStartWindowMinutes !== undefined ? (React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: `${summary.checkinStartWindowMinutes} min antes / ${(_e = summary.checkinEndWindowMinutes) !== null && _e !== void 0 ? _e : 15} min depois` })) : null,
|
|
126864
126872
|
React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$Z, { fontSize: "small" }), label: "Participantes", value: members }),
|
|
126865
126873
|
summary.minConfirmedMembers !== undefined ? (React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$Z, { fontSize: "small" }), label: "Qu\u00F3rum m\u00EDnimo", value: String(summary.minConfirmedMembers) })) : null,
|
|
126866
126874
|
React__default.createElement(SummaryRow$4, { icon: React__default.createElement(default_1$Y, { fontSize: "small" }), label: "Materiais", value: insumos })),
|
|
@@ -127008,7 +127016,7 @@ const EventFormChatSummaryCard = ({ summary, confirmLabel = "Criar evento", edit
|
|
|
127008
127016
|
React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Hor\u00E1rio", value: summary.isAllDay
|
|
127009
127017
|
? "Dia inteiro"
|
|
127010
127018
|
: `${formatTime$1(summary.startTime)} – ${formatTime$1(summary.endTime)}` }))) : null,
|
|
127011
|
-
summary.checkinStartWindowMinutes !== undefined ? (React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: `${summary.checkinStartWindowMinutes} min antes / ${(_g = summary.checkinEndWindowMinutes) !== null && _g !== void 0 ? _g : 15} min depois` })) : null,
|
|
127019
|
+
summary.qrCheckinEnabled === false ? (React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: "Desativado" })) : summary.checkinStartWindowMinutes !== undefined ? (React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$X, { fontSize: "small" }), label: "Check-in", value: `${summary.checkinStartWindowMinutes} min antes / ${(_g = summary.checkinEndWindowMinutes) !== null && _g !== void 0 ? _g : 15} min depois` })) : null,
|
|
127012
127020
|
React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$14, { fontSize: "small" }), label: "Local", value: formatLocation(summary) }),
|
|
127013
127021
|
React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$W, { fontSize: "small" }), label: "Atividades", value: activities }),
|
|
127014
127022
|
React__default.createElement(SummaryRow$3, { icon: React__default.createElement(default_1$Z, { fontSize: "small" }), label: "Participantes", value: members }),
|
|
@@ -133224,27 +133232,31 @@ const ActivityCheckinWindowStep = ({ formState, validationErrors, onChange, setF
|
|
|
133224
133232
|
});
|
|
133225
133233
|
}
|
|
133226
133234
|
}, [setFieldValue, onChange]);
|
|
133235
|
+
const checkinEnabled = formState.qrCheckinEnabled !== false;
|
|
133227
133236
|
return (React__default.createElement(Box$1, { sx: { p: { xs: 0.5, sm: 1 } } },
|
|
133228
|
-
React__default.createElement(
|
|
133229
|
-
|
|
133230
|
-
|
|
133231
|
-
|
|
133232
|
-
|
|
133233
|
-
|
|
133234
|
-
|
|
133235
|
-
|
|
133236
|
-
|
|
133237
|
-
|
|
133238
|
-
|
|
133239
|
-
|
|
133240
|
-
"
|
|
133241
|
-
|
|
133242
|
-
|
|
133243
|
-
|
|
133244
|
-
|
|
133245
|
-
|
|
133246
|
-
|
|
133247
|
-
|
|
133237
|
+
React__default.createElement(FormControlLabel$1, { control: React__default.createElement(Switch$1, { checked: checkinEnabled, onChange: (_, checked) => updateField("qrCheckinEnabled", checked), inputProps: { "aria-label": "Habilitar check-in" }, "data-testid": "activity-checkin-enabled-switch" }), label: "Habilitar check-in", sx: { mb: 2, ml: 0 } }),
|
|
133238
|
+
!checkinEnabled ? (React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" }, "Esta atividade n\u00E3o ter\u00E1 check-in na porta. A janela e o QR ficam ocultos.")) : null,
|
|
133239
|
+
checkinEnabled ? (React__default.createElement(React__default.Fragment, null,
|
|
133240
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mb: { xs: 2, sm: 3 } } },
|
|
133241
|
+
"Configure o intervalo de tempo permitido para check-in. O check-in estar\u00E1 dispon\u00EDvel a partir de X minutos ",
|
|
133242
|
+
React__default.createElement("strong", null, "antes"),
|
|
133243
|
+
" da atividade at\u00E9 Y minutos",
|
|
133244
|
+
React__default.createElement("strong", null, " ap\u00F3s"),
|
|
133245
|
+
" o in\u00EDcio."),
|
|
133246
|
+
React__default.createElement(Alert$1, { severity: "info", icon: React__default.createElement(Info$1, null), sx: { mb: { xs: 2, sm: 3 } } },
|
|
133247
|
+
React__default.createElement(Typography$1, { variant: "body2" },
|
|
133248
|
+
React__default.createElement("strong", null, "Exemplo:"),
|
|
133249
|
+
" Com os valores padr\u00E3o (10 e 15), se a atividade come\u00E7a \u00E0s 19h, o check-in abrir\u00E1 \u00E0s 18h50 e fechar\u00E1 \u00E0s 19h15.")),
|
|
133250
|
+
React__default.createElement(Box$1, { sx: { mb: { xs: 2, sm: 3 } } },
|
|
133251
|
+
React__default.createElement(LabeledMinuteInput, { name: "checkinStartWindowMinutes", label: "Abrir check-in (minutos antes)", value: formState.checkinStartWindowMinutes, onChange: (value) => updateField("checkinStartWindowMinutes", value), error: validationErrors.checkinStartWindowMinutes, helperText: validationErrors.checkinStartWindowMinutes ||
|
|
133252
|
+
"Quantos minutos antes da atividade checar entrada (0-120)", fallbackValue: 10, presets: [10, 20, 30], min: 0, max: 120, "data-testid": "activity-checkin-start-window-input" })),
|
|
133253
|
+
React__default.createElement(Box$1, { sx: { mb: { xs: 2, sm: 3 } } },
|
|
133254
|
+
React__default.createElement(LabeledMinuteInput, { name: "checkinEndWindowMinutes", label: "Fechar check-in (minutos ap\u00F3s)", value: formState.checkinEndWindowMinutes, onChange: (value) => updateField("checkinEndWindowMinutes", value), error: validationErrors.checkinEndWindowMinutes, helperText: validationErrors.checkinEndWindowMinutes ||
|
|
133255
|
+
"Quantos minutos após o início da atividade checar entrada (0-120)", fallbackValue: 15, presets: [10, 20, 30], min: 0, max: 120, "data-testid": "activity-checkin-end-window-input" })),
|
|
133256
|
+
React__default.createElement(Box$1, { sx: { p: { xs: 1.5, sm: 2 }, bgcolor: "action.hover", borderRadius: RADIUS.default } },
|
|
133257
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" },
|
|
133258
|
+
React__default.createElement("strong", null, "Dica:"),
|
|
133259
|
+
" Para atividades ritualisticas, manter a precis\u00E3o \u00E9 importante. Use 10 minutos de abertura e 15 minutos de fechamento como padr\u00E3o para manter a disciplina energ\u00E9tica.")))) : null));
|
|
133248
133260
|
};
|
|
133249
133261
|
|
|
133250
133262
|
const MembersSelectionStep = ({ formState, validationErrors, onChange, availableMembers = [], }) => {
|
|
@@ -134046,6 +134058,7 @@ const TemplateSchema = objectType({
|
|
|
134046
134058
|
isTemplate: booleanType(),
|
|
134047
134059
|
});
|
|
134048
134060
|
const ActivityCheckinWindowSchema = objectType({
|
|
134061
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
134049
134062
|
checkinStartWindowMinutes: numberType()
|
|
134050
134063
|
.int()
|
|
134051
134064
|
.min(0, "Deve ser 0 ou maior")
|
|
@@ -134073,6 +134086,7 @@ objectType({
|
|
|
134073
134086
|
.int("Quórum mínimo deve ser um número inteiro")
|
|
134074
134087
|
.min(1, "Quórum mínimo deve ser pelo menos 1")
|
|
134075
134088
|
.optional(),
|
|
134089
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
134076
134090
|
checkinStartWindowMinutes: numberType()
|
|
134077
134091
|
.int()
|
|
134078
134092
|
.min(0)
|
|
@@ -134165,13 +134179,18 @@ const DEFAULT_FORM_STATE$4 = {
|
|
|
134165
134179
|
insumos: [],
|
|
134166
134180
|
isTemplate: false,
|
|
134167
134181
|
minConfirmedMembers: undefined,
|
|
134182
|
+
qrCheckinEnabled: true,
|
|
134168
134183
|
};
|
|
134169
134184
|
const useActivityOnboarding = (props) => {
|
|
134170
134185
|
const [isLoading, setIsLoading] = useState(false);
|
|
134171
134186
|
const [error, setError] = useState();
|
|
134172
134187
|
const formState = useMemo(() => {
|
|
134173
|
-
|
|
134174
|
-
|
|
134188
|
+
const base = props.initialData || DEFAULT_FORM_STATE$4;
|
|
134189
|
+
if (props.isPersonalProfile) {
|
|
134190
|
+
return Object.assign(Object.assign({}, base), { qrCheckinEnabled: false });
|
|
134191
|
+
}
|
|
134192
|
+
return base;
|
|
134193
|
+
}, [props.initialData, props.isPersonalProfile]);
|
|
134175
134194
|
const steps = useMemo(() => {
|
|
134176
134195
|
return [
|
|
134177
134196
|
{
|
|
@@ -134204,7 +134223,7 @@ const useActivityOnboarding = (props) => {
|
|
|
134204
134223
|
id: "checkin-window",
|
|
134205
134224
|
label: "Check-in",
|
|
134206
134225
|
title: "Configurar Check-in",
|
|
134207
|
-
description: "
|
|
134226
|
+
description: "Escolha se haverá check-in e, se houver, o período permitido",
|
|
134208
134227
|
component: ActivityCheckinWindowStep,
|
|
134209
134228
|
},
|
|
134210
134229
|
]),
|
|
@@ -134945,6 +134964,8 @@ const formatMinutesToHHMM$3 = (totalMinutes) => {
|
|
|
134945
134964
|
};
|
|
134946
134965
|
const getConfiguredCheckinWindow$1 = (activity) => {
|
|
134947
134966
|
var _a, _b, _c, _d;
|
|
134967
|
+
if (activity.qrCheckinEnabled === false)
|
|
134968
|
+
return null;
|
|
134948
134969
|
const startTime = (_b = (_a = activity.occurrences) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.startTime;
|
|
134949
134970
|
const startMinutes = parseTimeToMinutes$3(startTime);
|
|
134950
134971
|
if (startMinutes === null)
|
|
@@ -135249,26 +135270,27 @@ const ActivityDateTime = ({ activity, checkinWindow, formatDate, formatTime, the
|
|
|
135249
135270
|
? formatTime(occurrence.endTime)
|
|
135250
135271
|
: "Não definido"))))))) : (React__default.createElement(Box$1, { sx: { textAlign: "center", py: 2 } },
|
|
135251
135272
|
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" }, "Nenhuma data definida"))),
|
|
135252
|
-
|
|
135253
|
-
React__default.createElement(
|
|
135254
|
-
|
|
135255
|
-
"
|
|
135256
|
-
|
|
135257
|
-
|
|
135258
|
-
React__default.createElement(
|
|
135259
|
-
|
|
135260
|
-
|
|
135261
|
-
|
|
135262
|
-
|
|
135263
|
-
|
|
135264
|
-
|
|
135265
|
-
|
|
135266
|
-
|
|
135267
|
-
|
|
135268
|
-
|
|
135269
|
-
|
|
135270
|
-
|
|
135271
|
-
|
|
135273
|
+
activity.qrCheckinEnabled !== false ? (React__default.createElement(React__default.Fragment, null,
|
|
135274
|
+
React__default.createElement(Box$1, { sx: { display: "flex", alignItems: "center", mt: 1 } },
|
|
135275
|
+
React__default.createElement(AccessTime, { sx: { mr: 1.5, color: "text.secondary" } }),
|
|
135276
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mr: 1 } },
|
|
135277
|
+
"Check-in v\u00E1lido: ",
|
|
135278
|
+
getCheckinSummary()),
|
|
135279
|
+
checkinWindow ? (React__default.createElement(Box$1, { component: "span" },
|
|
135280
|
+
React__default.createElement(Typography$1, { component: "span", variant: "caption", sx: {
|
|
135281
|
+
px: 1,
|
|
135282
|
+
py: 0.25,
|
|
135283
|
+
borderRadius: RADIUS.default,
|
|
135284
|
+
border: `1px solid ${theme.palette.divider}`,
|
|
135285
|
+
color: checkinWindow.state === "active"
|
|
135286
|
+
? theme.palette.success.main
|
|
135287
|
+
: checkinWindow.state === "scheduled"
|
|
135288
|
+
? theme.palette.warning.main
|
|
135289
|
+
: checkinWindow.state === "closed"
|
|
135290
|
+
? theme.palette.error.main
|
|
135291
|
+
: theme.palette.text.secondary,
|
|
135292
|
+
} }, stateLabel[checkinWindow.state]))) : null),
|
|
135293
|
+
getCheckinExplanation() ? (React__default.createElement(Typography$1, { variant: "caption", color: "text.secondary", sx: { mt: 0.5 } }, getCheckinExplanation())) : null)) : null)));
|
|
135272
135294
|
};
|
|
135273
135295
|
var ActivityDateTime$1 = React__default.memo(ActivityDateTime);
|
|
135274
135296
|
|
|
@@ -135854,6 +135876,7 @@ const ActivitySchema$3 = objectType({
|
|
|
135854
135876
|
title: stringType(),
|
|
135855
135877
|
description: stringType(),
|
|
135856
135878
|
isTemplate: booleanType(),
|
|
135879
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
135857
135880
|
qrReleaseOffsetMinutes: numberType().nullable().optional(),
|
|
135858
135881
|
qrCheckinGraceMinutes: numberType().nullable().optional(),
|
|
135859
135882
|
checkinStartWindowMinutes: numberType().nullable().optional(),
|
|
@@ -135969,6 +135992,7 @@ const ActivityDetailSchema = objectType({
|
|
|
135969
135992
|
title: stringType(),
|
|
135970
135993
|
description: stringType(),
|
|
135971
135994
|
isTemplate: booleanType(),
|
|
135995
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
135972
135996
|
qrReleaseOffsetMinutes: numberType().nullable().optional(),
|
|
135973
135997
|
qrCheckinGraceMinutes: numberType().nullable().optional(),
|
|
135974
135998
|
checkinStartWindowMinutes: numberType().nullable().optional(),
|
|
@@ -136377,7 +136401,9 @@ const ActivityDetailPage = (props) => {
|
|
|
136377
136401
|
const bTime = b.confirmedAt ? new Date(b.confirmedAt).getTime() : 0;
|
|
136378
136402
|
return bTime - aTime;
|
|
136379
136403
|
});
|
|
136380
|
-
const
|
|
136404
|
+
const checkinEnabled = data.activity.qrCheckinEnabled !== false;
|
|
136405
|
+
const canShowCheckinCta = checkinEnabled &&
|
|
136406
|
+
props.canScanCheckin &&
|
|
136381
136407
|
((_a = props.checkinWindow) === null || _a === void 0 ? void 0 : _a.state) === "active" &&
|
|
136382
136408
|
!(currentMember === null || currentMember === void 0 ? void 0 : currentMember.confirmedAt) &&
|
|
136383
136409
|
!props.isPersonalProfile;
|
|
@@ -136402,7 +136428,7 @@ const ActivityDetailPage = (props) => {
|
|
|
136402
136428
|
React__default.createElement(Stack$1, { spacing: LIST_GAP },
|
|
136403
136429
|
React__default.createElement(ActivityInfo$1, { activity: data.activity, canChangeStatus: props.canChangeStatus || false, canUseModel: props.canUseModel || false, statusOptions: statusOptions, onStatusChange: fns.handleChangeStatus, onUseModel: fns.handleUseModel, theme: theme }),
|
|
136404
136430
|
React__default.createElement(ActivityDateTime$1, { activity: data.activity, checkinWindow: props.checkinWindow, formatDate: data.formatDate, formatTime: data.formatTime, theme: theme }),
|
|
136405
|
-
props.canManageQr && !props.isPersonalProfile && (React__default.createElement(ActivityAttendanceQr, { attendanceQr: props.attendanceQr, onRefreshQrState: props.onRefreshQrState })),
|
|
136431
|
+
checkinEnabled && props.canManageQr && !props.isPersonalProfile && (React__default.createElement(ActivityAttendanceQr, { attendanceQr: props.attendanceQr, onRefreshQrState: props.onRefreshQrState })),
|
|
136406
136432
|
React__default.createElement(ActivityMediums$1, { activity: data.activity, onAddMedium: fns.handleAddMedium, isAdmin: data.isAdmin, theme: theme, currentMemberId: data.currentMemberId, onConfirmParticipation: fns.handleConfirmParticipation, onDeclineParticipation: fns.handleDeclineParticipation }),
|
|
136407
136433
|
attendanceMembers.length > 0 && (React__default.createElement(ConfirmedAttendanceCard$3, { attendanceMembers: attendanceMembers, theme: theme, formatConfirmedAt: formatConfirmedAt })),
|
|
136408
136434
|
React__default.createElement(ActivitySupplies$1, { activity: data.activity, onAddSupply: fns.handleAddSupply, theme: theme })))),
|
|
@@ -137251,6 +137277,7 @@ const EventSchema = objectType({
|
|
|
137251
137277
|
name: stringType().optional(),
|
|
137252
137278
|
description: stringType().optional(),
|
|
137253
137279
|
isTemplate: booleanType().optional(),
|
|
137280
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
137254
137281
|
qrReleaseOffsetMinutes: numberType().nullable().optional(),
|
|
137255
137282
|
qrCheckinGraceMinutes: numberType().nullable().optional(),
|
|
137256
137283
|
checkinStartWindowMinutes: numberType().nullable().optional(),
|
|
@@ -137499,27 +137526,31 @@ const EventCheckinWindowStep = ({ formState, validationErrors, onChange, setFiel
|
|
|
137499
137526
|
onChange(createFieldEvent(name, value));
|
|
137500
137527
|
}
|
|
137501
137528
|
}, [setFieldValue, onChange]);
|
|
137529
|
+
const checkinEnabled = formState.qrCheckinEnabled !== false;
|
|
137502
137530
|
return (React__default.createElement(Box$1, { sx: { p: { xs: 0.5, sm: 1 } } },
|
|
137503
|
-
React__default.createElement(
|
|
137504
|
-
|
|
137505
|
-
|
|
137506
|
-
|
|
137507
|
-
|
|
137508
|
-
|
|
137509
|
-
|
|
137510
|
-
|
|
137511
|
-
|
|
137512
|
-
|
|
137513
|
-
|
|
137514
|
-
|
|
137515
|
-
"
|
|
137516
|
-
|
|
137517
|
-
|
|
137518
|
-
|
|
137519
|
-
|
|
137520
|
-
|
|
137521
|
-
|
|
137522
|
-
|
|
137531
|
+
React__default.createElement(FormControlLabel$1, { control: React__default.createElement(Switch$1, { checked: checkinEnabled, onChange: (_, checked) => updateField("qrCheckinEnabled", checked), inputProps: { "aria-label": "Habilitar check-in" }, "data-testid": "event-checkin-enabled-switch" }), label: "Habilitar check-in", sx: { mb: 2, ml: 0 } }),
|
|
137532
|
+
!checkinEnabled ? (React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" }, "Este evento n\u00E3o ter\u00E1 check-in na porta. A janela e o QR ficam ocultos.")) : null,
|
|
137533
|
+
checkinEnabled ? (React__default.createElement(React__default.Fragment, null,
|
|
137534
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mb: 2.5 } },
|
|
137535
|
+
"Configure o intervalo de tempo permitido para check-in. O check-in estar\u00E1 dispon\u00EDvel a partir de X minutos ",
|
|
137536
|
+
React__default.createElement("strong", null, "antes"),
|
|
137537
|
+
" do evento at\u00E9 Y minutos",
|
|
137538
|
+
React__default.createElement("strong", null, " ap\u00F3s"),
|
|
137539
|
+
" o in\u00EDcio."),
|
|
137540
|
+
React__default.createElement(Alert$1, { severity: "info", icon: React__default.createElement(Info$1, null), sx: { mb: 2.5 } },
|
|
137541
|
+
React__default.createElement(Typography$1, { variant: "body2" },
|
|
137542
|
+
React__default.createElement("strong", null, "Exemplo:"),
|
|
137543
|
+
" Com os valores padr\u00E3o (10 e 15), se o evento come\u00E7a \u00E0s 19h, o check-in abrir\u00E1 \u00E0s 18h50 e fechar\u00E1 \u00E0s 19h15.")),
|
|
137544
|
+
React__default.createElement(Box$1, { sx: { mb: 2.5 } },
|
|
137545
|
+
React__default.createElement(LabeledMinuteInput, { name: "checkinStartWindowMinutes", label: "Abrir check-in (minutos antes)", value: formState.checkinStartWindowMinutes, onChange: (value) => updateField("checkinStartWindowMinutes", value), error: validationErrors.checkinStartWindowMinutes, helperText: validationErrors.checkinStartWindowMinutes ||
|
|
137546
|
+
"Quantos minutos antes do evento checar entrada (0-120)", fallbackValue: 10, min: 0, max: 120, "data-testid": "event-checkin-start-window-input" })),
|
|
137547
|
+
React__default.createElement(Box$1, { sx: { mb: 2.5 } },
|
|
137548
|
+
React__default.createElement(LabeledMinuteInput, { name: "checkinEndWindowMinutes", label: "Fechar check-in (minutos ap\u00F3s)", value: formState.checkinEndWindowMinutes, onChange: (value) => updateField("checkinEndWindowMinutes", value), error: validationErrors.checkinEndWindowMinutes, helperText: validationErrors.checkinEndWindowMinutes ||
|
|
137549
|
+
"Quantos minutos após o início do evento checar entrada (0-120)", fallbackValue: 15, min: 0, max: 120, "data-testid": "event-checkin-end-window-input" })),
|
|
137550
|
+
React__default.createElement(Box$1, { sx: { p: { xs: 1.5, sm: 2 }, bgcolor: "action.hover", borderRadius: RADIUS.default } },
|
|
137551
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" },
|
|
137552
|
+
React__default.createElement("strong", null, "Dica:"),
|
|
137553
|
+
" Para eventos grandes, aumentar o intervalo de abertura (e.g. 20 minutos antes) permite que mais pessoas cheguem a tempo. Para eventos pequenos, 10 e 15 minutos geralmente \u00E9 o ideal.")))) : null));
|
|
137523
137554
|
};
|
|
137524
137555
|
|
|
137525
137556
|
let googleMapsScriptPromise = null;
|
|
@@ -138564,7 +138595,7 @@ const EventReviewStep = ({ formState, availableActivities, }) => {
|
|
|
138564
138595
|
React__default.createElement(Typography$1, { variant: "h6", sx: { mb: 2, display: "flex", alignItems: "center" } },
|
|
138565
138596
|
React__default.createElement(AccessTime, { sx: { mr: 1 } }),
|
|
138566
138597
|
" Janela de Check-in"),
|
|
138567
|
-
!formState.isAllDay ? (React__default.createElement(React__default.Fragment, null,
|
|
138598
|
+
formState.qrCheckinEnabled === false ? (React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" }, "Check-in desativado para este evento.")) : !formState.isAllDay ? (React__default.createElement(React__default.Fragment, null,
|
|
138568
138599
|
React__default.createElement(Typography$1, { variant: "body2", sx: { mb: 1 } },
|
|
138569
138600
|
React__default.createElement("strong", null, "Evento:"),
|
|
138570
138601
|
" ",
|
|
@@ -139423,7 +139454,7 @@ const EventActivitySelectionStep = ({ formState, validationErrors, onChange, ava
|
|
|
139423
139454
|
"):"),
|
|
139424
139455
|
React__default.createElement(Button$1, { variant: "text", size: "small", startIcon: React__default.createElement(Clear$1, null), onClick: handleClear, sx: { alignSelf: { xs: "stretch", sm: "flex-start" } } }, "Limpar todas")),
|
|
139425
139456
|
selectedActivities.map((activity) => {
|
|
139426
|
-
var _a, _b, _c, _d, _e, _f;
|
|
139457
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
139427
139458
|
return (React__default.createElement(Box$1, { key: activity.id, sx: {
|
|
139428
139459
|
mb: 1.5,
|
|
139429
139460
|
p: { xs: 1.25, sm: 1.5 },
|
|
@@ -139467,8 +139498,9 @@ const EventActivitySelectionStep = ({ formState, validationErrors, onChange, ava
|
|
|
139467
139498
|
} },
|
|
139468
139499
|
React__default.createElement(LabeledTimePicker, { label: "In\u00EDcio", value: activity.startTime || "", error: (_a = activityTimeValidation.errorsByActivityId[String(activity.id)]) === null || _a === void 0 ? void 0 : _a.startTime, helperText: ((_b = activityTimeValidation.errorsByActivityId[String(activity.id)]) === null || _b === void 0 ? void 0 : _b.startTime) || " ", onChange: (value) => handleActivityTimeChange(activity.id, "startTime", value), "data-testid": `event-activity-start-time-${activity.id}` }),
|
|
139469
139500
|
React__default.createElement(LabeledTimePicker, { label: "T\u00E9rmino", value: activity.endTime || "", error: (_c = activityTimeValidation.errorsByActivityId[String(activity.id)]) === null || _c === void 0 ? void 0 : _c.endTime, helperText: ((_d = activityTimeValidation.errorsByActivityId[String(activity.id)]) === null || _d === void 0 ? void 0 : _d.endTime) || " ", onChange: (value) => handleActivityTimeChange(activity.id, "endTime", value), "data-testid": `event-activity-end-time-${activity.id}` }),
|
|
139470
|
-
|
|
139471
|
-
|
|
139501
|
+
((_e = availableActivities.find((item) => String(item.id) === String(activity.id))) === null || _e === void 0 ? void 0 : _e.qrCheckinEnabled) !== false ? (React__default.createElement(React__default.Fragment, null,
|
|
139502
|
+
React__default.createElement(TextField$1, { fullWidth: true, label: checkinOpenLabel, type: "number", size: "small", value: (_f = activity.checkinStartWindowMinutes) !== null && _f !== void 0 ? _f : 10, onChange: (e) => handleActivityCheckinWindowChange(activity.id, "checkinStartWindowMinutes", e.target.value), InputLabelProps: { shrink: true }, inputProps: { min: 0, max: 120 }, helperText: isMobile ? "Antes do início" : "Minutos antes do início" }),
|
|
139503
|
+
React__default.createElement(TextField$1, { fullWidth: true, label: checkinCloseLabel, type: "number", size: "small", value: (_g = activity.checkinEndWindowMinutes) !== null && _g !== void 0 ? _g : 15, onChange: (e) => handleActivityCheckinWindowChange(activity.id, "checkinEndWindowMinutes", e.target.value), InputLabelProps: { shrink: true }, inputProps: { min: 0, max: 120 }, helperText: isMobile ? "Após o início" : "Minutos após o início" }))) : null),
|
|
139472
139504
|
React__default.createElement(Box$1, { sx: {
|
|
139473
139505
|
display: "flex",
|
|
139474
139506
|
alignItems: { xs: "flex-start", sm: "center" },
|
|
@@ -139708,6 +139740,7 @@ const EventLocationSchema = objectType({
|
|
|
139708
139740
|
}
|
|
139709
139741
|
});
|
|
139710
139742
|
const EventCheckinWindowSchema = objectType({
|
|
139743
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
139711
139744
|
checkinStartWindowMinutes: numberType()
|
|
139712
139745
|
.int()
|
|
139713
139746
|
.min(0, "Deve ser 0 ou maior")
|
|
@@ -139760,6 +139793,7 @@ const ActivitySchema$1 = objectType({
|
|
|
139760
139793
|
durationMinutes: numberType().optional(),
|
|
139761
139794
|
startTime: stringType().optional(), // HH:MM — per-activity start time for the event
|
|
139762
139795
|
endTime: stringType().optional(), // HH:MM — per-activity end time for the event
|
|
139796
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
139763
139797
|
checkinStartWindowMinutes: numberType().int().min(0).max(120).optional(),
|
|
139764
139798
|
checkinEndWindowMinutes: numberType().int().min(0).max(120).optional(),
|
|
139765
139799
|
qrReleaseOffsetMinutes: numberType().int().min(0).max(180).optional(),
|
|
@@ -139819,6 +139853,7 @@ const EventFormValuesSchema = objectType({
|
|
|
139819
139853
|
insumos: arrayType(anyType()).optional(),
|
|
139820
139854
|
activities: arrayType(ActivitySchema$1).optional(), // Changed from activity to activities
|
|
139821
139855
|
requiredActivityIds: arrayType(stringType()).optional(),
|
|
139856
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
139822
139857
|
checkinStartWindowMinutes: numberType()
|
|
139823
139858
|
.int()
|
|
139824
139859
|
.min(0)
|
|
@@ -139936,6 +139971,7 @@ const DEFAULT_FORM_STATE$3 = {
|
|
|
139936
139971
|
isAllDay: false,
|
|
139937
139972
|
startTime: "",
|
|
139938
139973
|
endTime: "",
|
|
139974
|
+
qrCheckinEnabled: true,
|
|
139939
139975
|
checkinStartWindowMinutes: 10,
|
|
139940
139976
|
checkinEndWindowMinutes: 15,
|
|
139941
139977
|
location: {
|
|
@@ -139976,24 +140012,26 @@ const EMPTY_SCHEMA = objectType({});
|
|
|
139976
140012
|
* Computes the initial form state from props, applying terreiro address
|
|
139977
140013
|
* defaults when the location type is "in terreiro".
|
|
139978
140014
|
*/
|
|
139979
|
-
const buildInitialFormState = (initialData, isTerreiroAddressEmpty, knownLocations) => {
|
|
140015
|
+
const buildInitialFormState = (initialData, isTerreiroAddressEmpty, knownLocations, isPersonalProfile = false) => {
|
|
139980
140016
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
139981
140017
|
const baseState = initialData !== null && initialData !== void 0 ? initialData : DEFAULT_FORM_STATE$3;
|
|
139982
|
-
const
|
|
140018
|
+
const withCheckin = isPersonalProfile
|
|
140019
|
+
? Object.assign(Object.assign({}, baseState), { qrCheckinEnabled: false }) : baseState;
|
|
140020
|
+
const isCreateFlow = !withCheckin.id;
|
|
139983
140021
|
if (isCreateFlow) {
|
|
139984
140022
|
const fallback = (knownLocations && knownLocations[0]) || "Endereço do Terreiro";
|
|
139985
|
-
const existingKnownLocation = ((_c = (_b = (_a =
|
|
139986
|
-
return Object.assign(Object.assign({},
|
|
140023
|
+
const existingKnownLocation = ((_c = (_b = (_a = withCheckin.location) === null || _a === void 0 ? void 0 : _a.knownLocation) === null || _b === void 0 ? void 0 : _b.trim) === null || _c === void 0 ? void 0 : _c.call(_b)) || "";
|
|
140024
|
+
return Object.assign(Object.assign({}, withCheckin), { location: Object.assign(Object.assign({}, withCheckin.location), { isInTerreiro: !isTerreiroAddressEmpty, knownLocation: !isTerreiroAddressEmpty
|
|
139987
140025
|
? existingKnownLocation || fallback
|
|
139988
|
-
: (_e = (_d =
|
|
140026
|
+
: (_e = (_d = withCheckin.location) === null || _d === void 0 ? void 0 : _d.knownLocation) !== null && _e !== void 0 ? _e : "" }) });
|
|
139989
140027
|
}
|
|
139990
|
-
const shouldDefaultToTerreiro = (_g = (_f =
|
|
140028
|
+
const shouldDefaultToTerreiro = (_g = (_f = withCheckin.location) === null || _f === void 0 ? void 0 : _f.isInTerreiro) !== null && _g !== void 0 ? _g : true;
|
|
139991
140029
|
if (shouldDefaultToTerreiro && !isTerreiroAddressEmpty) {
|
|
139992
|
-
const existing = ((_k = (_j = (_h =
|
|
140030
|
+
const existing = ((_k = (_j = (_h = withCheckin.location) === null || _h === void 0 ? void 0 : _h.knownLocation) === null || _j === void 0 ? void 0 : _j.trim) === null || _k === void 0 ? void 0 : _k.call(_j)) || "";
|
|
139993
140031
|
const fallback = (knownLocations && knownLocations[0]) || "Endereço do Terreiro";
|
|
139994
|
-
return Object.assign(Object.assign({},
|
|
140032
|
+
return Object.assign(Object.assign({}, withCheckin), { location: Object.assign(Object.assign({}, withCheckin.location), { isInTerreiro: true, knownLocation: existing || fallback }) });
|
|
139995
140033
|
}
|
|
139996
|
-
return
|
|
140034
|
+
return withCheckin;
|
|
139997
140035
|
};
|
|
139998
140036
|
// ---------------------------------------------------------------------------
|
|
139999
140037
|
// Hook
|
|
@@ -140003,7 +140041,7 @@ const useEventOnboarding = (props) => {
|
|
|
140003
140041
|
const { initialData, isTerreiroAddressEmpty, knownLocations, createFromModel, availableActivities, canAddActivities = true, activityQuotaMessage, canCreateTemplates = true, templateQuotaMessage, availableMembers, availableInsumos, onComplete, onCancel, onStepChange: onStepChangeProp, onRequestAISuggestions, isAISuggestionsLoading = false, isPersonalProfile = false, enableGoogleAddress = false, googleMapsApiKey, googleCountryCode = "br", googleLanguage = "pt-BR", } = props;
|
|
140004
140042
|
const [isLoading, setIsLoading] = useState(false);
|
|
140005
140043
|
const [error, setError] = useState();
|
|
140006
|
-
const initialFormState = useMemo(() => buildInitialFormState(initialData, isTerreiroAddressEmpty, knownLocations), [initialData, isTerreiroAddressEmpty, knownLocations]);
|
|
140044
|
+
const initialFormState = useMemo(() => buildInitialFormState(initialData, isTerreiroAddressEmpty, knownLocations, isPersonalProfile), [initialData, isTerreiroAddressEmpty, knownLocations, isPersonalProfile]);
|
|
140007
140045
|
// -----------------------------------------------------------------------
|
|
140008
140046
|
// Step definitions — pure data, no inline wrapper components
|
|
140009
140047
|
// -----------------------------------------------------------------------
|
|
@@ -140046,7 +140084,7 @@ const useEventOnboarding = (props) => {
|
|
|
140046
140084
|
id: "checkin-window",
|
|
140047
140085
|
label: "Check-in",
|
|
140048
140086
|
title: "Configurar Check-in",
|
|
140049
|
-
description: "
|
|
140087
|
+
description: "Escolha se haverá check-in e, se houver, o período permitido",
|
|
140050
140088
|
component: EventCheckinWindowStep,
|
|
140051
140089
|
},
|
|
140052
140090
|
]),
|
|
@@ -140363,17 +140401,18 @@ const EventDateTime = ({ event, checkinWindow, formatDate, formatTime, theme, })
|
|
|
140363
140401
|
? formatTime(firstOccurrence.endTime)
|
|
140364
140402
|
: "Não definido"))),
|
|
140365
140403
|
isAllDay && (React__default.createElement(Chip$1, { label: "Dia inteiro", size: "small", color: "primary", variant: "outlined", sx: { mb: 1.5 } })),
|
|
140366
|
-
|
|
140367
|
-
React__default.createElement(
|
|
140368
|
-
|
|
140369
|
-
|
|
140370
|
-
|
|
140371
|
-
|
|
140372
|
-
|
|
140373
|
-
"
|
|
140374
|
-
|
|
140375
|
-
|
|
140376
|
-
|
|
140404
|
+
event.qrCheckinEnabled !== false ? (React__default.createElement(React__default.Fragment, null,
|
|
140405
|
+
React__default.createElement(Box$1, { sx: { display: "flex", alignItems: "center", mb: 0.75 } },
|
|
140406
|
+
React__default.createElement(AccessTime, { sx: {
|
|
140407
|
+
mr: 1.5,
|
|
140408
|
+
color: "text.secondary",
|
|
140409
|
+
fontSize: { xs: 18, sm: 20 },
|
|
140410
|
+
} }),
|
|
140411
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mr: 1 } },
|
|
140412
|
+
"Check-in v\u00E1lido: ",
|
|
140413
|
+
getCheckinSummary()),
|
|
140414
|
+
checkinWindow ? (React__default.createElement(Chip$1, { label: stateLabel[checkinWindow.state], size: "small", color: stateColor[checkinWindow.state], variant: "outlined" })) : null),
|
|
140415
|
+
getCheckinExplanation() ? (React__default.createElement(Typography$1, { variant: "caption", color: "text.secondary" }, getCheckinExplanation())) : null)) : null)));
|
|
140377
140416
|
};
|
|
140378
140417
|
var EventDateTime$1 = React__default.memo(EventDateTime);
|
|
140379
140418
|
|
|
@@ -140904,7 +140943,9 @@ const EventActivities = ({ event, theme, formatDate, formatTime, canChangeActivi
|
|
|
140904
140943
|
} },
|
|
140905
140944
|
React__default.createElement(Typography$1, { variant: "h6", fontWeight: "medium" }, activity.title),
|
|
140906
140945
|
React__default.createElement(Box$1, { sx: { display: "flex", gap: 1, alignItems: "flex-start" } },
|
|
140907
|
-
!isModelEvent &&
|
|
140946
|
+
!isModelEvent &&
|
|
140947
|
+
onActivityQrOpen &&
|
|
140948
|
+
activity.qrCheckinEnabled !== false && (React__default.createElement(Box$1, { sx: {
|
|
140908
140949
|
display: "flex",
|
|
140909
140950
|
flexDirection: "column",
|
|
140910
140951
|
alignItems: "flex-end",
|
|
@@ -140961,6 +141002,7 @@ const EventActivities = ({ event, theme, formatDate, formatTime, canChangeActivi
|
|
|
140961
141002
|
? formatTime(activity.occurrences[0].endTime)
|
|
140962
141003
|
: "Não definido")))),
|
|
140963
141004
|
!isModelEvent &&
|
|
141005
|
+
activity.qrCheckinEnabled !== false &&
|
|
140964
141006
|
(() => {
|
|
140965
141007
|
var _a, _b, _c, _d;
|
|
140966
141008
|
const startMinutes = parseTimeToMinutes$2((_b = (_a = activity.occurrences) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.startTime);
|
|
@@ -141437,6 +141479,7 @@ const TerreiroSchema = objectType({
|
|
|
141437
141479
|
const ActivitySchema = objectType({
|
|
141438
141480
|
id: stringType(),
|
|
141439
141481
|
requiredForConfirmation: booleanType().optional(),
|
|
141482
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
141440
141483
|
qrReleaseOffsetMinutes: numberType().nullable().optional(),
|
|
141441
141484
|
qrCheckinGraceMinutes: numberType().nullable().optional(),
|
|
141442
141485
|
checkinStartWindowMinutes: numberType().nullable().optional(),
|
|
@@ -141463,6 +141506,7 @@ const EventDetailSchema = objectType({
|
|
|
141463
141506
|
name: stringType().optional(),
|
|
141464
141507
|
description: stringType().optional(),
|
|
141465
141508
|
isTemplate: booleanType().optional(),
|
|
141509
|
+
qrCheckinEnabled: booleanType().optional(),
|
|
141466
141510
|
qrReleaseOffsetMinutes: numberType().nullable().optional(),
|
|
141467
141511
|
qrCheckinGraceMinutes: numberType().nullable().optional(),
|
|
141468
141512
|
checkinStartWindowMinutes: numberType().nullable().optional(),
|
|
@@ -141990,7 +142034,9 @@ const EventDetailPage = (props) => {
|
|
|
141990
142034
|
}
|
|
141991
142035
|
const statusOptions = data.getStatusMenuOptions(data.event);
|
|
141992
142036
|
const currentMember = (_c = data.event.members) === null || _c === void 0 ? void 0 : _c.list.find((m) => m.id === data.currentMemberId);
|
|
141993
|
-
const
|
|
142037
|
+
const checkinEnabled = data.event.qrCheckinEnabled !== false;
|
|
142038
|
+
const canShowCheckinCta = checkinEnabled &&
|
|
142039
|
+
props.canScanCheckin &&
|
|
141994
142040
|
((_d = props.checkinWindow) === null || _d === void 0 ? void 0 : _d.state) === "active" &&
|
|
141995
142041
|
!(currentMember === null || currentMember === void 0 ? void 0 : currentMember.confirmedAt) &&
|
|
141996
142042
|
!props.isPersonalProfile;
|
|
@@ -142025,7 +142071,7 @@ const EventDetailPage = (props) => {
|
|
|
142025
142071
|
React__default.createElement(Stack$1, { spacing: LIST_GAP },
|
|
142026
142072
|
React__default.createElement(EventInfo$1, { event: data.event, canChangeStatus: props.canChangeStatus || false, canUseModel: props.canUseModel || false, statusOptions: statusOptions, onStatusChange: (status) => fns.handleChangeStatus(status), onUseModel: fns.handleUseModel, theme: theme }),
|
|
142027
142073
|
React__default.createElement(EventDateTime$1, { event: data.event, checkinWindow: props.checkinWindow, formatDate: data.formatDate, formatTime: data.formatTime, theme: theme }),
|
|
142028
|
-
props.canManageQr && (React__default.createElement(EventAttendanceQr, { attendanceQr: props.attendanceQr, onRefreshQrState: props.onRefreshQrState, onCopyCode: fns.handleCopyCode })),
|
|
142074
|
+
props.canManageQr && checkinEnabled && (React__default.createElement(EventAttendanceQr, { attendanceQr: props.attendanceQr, onRefreshQrState: props.onRefreshQrState, onCopyCode: fns.handleCopyCode })),
|
|
142029
142075
|
props.canManageTickets && (React__default.createElement(EventPublicTickets$1, { onManageTickets: props.onManageTickets, theme: theme })),
|
|
142030
142076
|
data.event.address && (React__default.createElement(EventAddress$1, { event: data.event, theme: theme })),
|
|
142031
142077
|
data.event.activities && data.event.activities.count > 0 && (React__default.createElement(EventActivities$1, { event: data.event, theme: theme, formatDate: data.formatDate, formatTime: data.formatTime, activityAttendanceQrById: props.activityAttendanceQrById, canChangeActivityStatus: props.canChangeActivityStatus || false, getStatusMenuOptions: data.getActivityStatusMenuOptions, onChangeActivityStatus: fns.handleChangeActivityStatus, onBulkChangeActivityStatus: fns.handleBulkChangeActivityStatus, onActivityQrOpen: props.canManageQr ? setSelectedActivityQrId : undefined })),
|
|
@@ -143045,6 +143091,8 @@ const formatMinutesToHHMM$1 = (totalMinutes) => {
|
|
|
143045
143091
|
};
|
|
143046
143092
|
const getConfiguredCheckinWindow = (event) => {
|
|
143047
143093
|
var _a, _b, _c, _d, _e;
|
|
143094
|
+
if (event.qrCheckinEnabled === false)
|
|
143095
|
+
return null;
|
|
143048
143096
|
const startTime = (_c = (_b = (_a = event.occurrences) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.startTime;
|
|
143049
143097
|
const startMinutes = parseTimeToMinutes$1(startTime);
|
|
143050
143098
|
if (startMinutes === null)
|
|
@@ -147218,6 +147266,7 @@ const ACTION_ICON_MAP = {
|
|
|
147218
147266
|
"🧘": React__default.createElement(Spa, null),
|
|
147219
147267
|
"🎓": React__default.createElement(School$1, null),
|
|
147220
147268
|
"🌐": React__default.createElement(Public, null),
|
|
147269
|
+
place: React__default.createElement(Place, null),
|
|
147221
147270
|
social: React__default.createElement(Public, null),
|
|
147222
147271
|
public: React__default.createElement(Public, null),
|
|
147223
147272
|
};
|
|
@@ -147876,7 +147925,7 @@ function getEventCoordinates(event) {
|
|
|
147876
147925
|
return null;
|
|
147877
147926
|
}
|
|
147878
147927
|
|
|
147879
|
-
const CSS = /*#__PURE__*/Object.freeze({
|
|
147928
|
+
const CSS$1 = /*#__PURE__*/Object.freeze({
|
|
147880
147929
|
Translate: {
|
|
147881
147930
|
toString(transform) {
|
|
147882
147931
|
if (!transform) {
|
|
@@ -147911,7 +147960,7 @@ const CSS = /*#__PURE__*/Object.freeze({
|
|
|
147911
147960
|
return;
|
|
147912
147961
|
}
|
|
147913
147962
|
|
|
147914
|
-
return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');
|
|
147963
|
+
return [CSS$1.Translate.toString(transform), CSS$1.Scale.toString(transform)].join(' ');
|
|
147915
147964
|
}
|
|
147916
147965
|
|
|
147917
147966
|
},
|
|
@@ -151750,7 +151799,7 @@ const defaultTransition = {
|
|
|
151750
151799
|
easing: 'ease'
|
|
151751
151800
|
};
|
|
151752
151801
|
const transitionProperty = 'transform';
|
|
151753
|
-
const disabledTransition = /*#__PURE__*/CSS.Transition.toString({
|
|
151802
|
+
const disabledTransition = /*#__PURE__*/CSS$1.Transition.toString({
|
|
151754
151803
|
property: transitionProperty,
|
|
151755
151804
|
duration: 0,
|
|
151756
151805
|
easing: 'linear'
|
|
@@ -151984,7 +152033,7 @@ function useSortable(_ref) {
|
|
|
151984
152033
|
}
|
|
151985
152034
|
|
|
151986
152035
|
if (isSorting || shouldAnimateLayoutChanges) {
|
|
151987
|
-
return CSS.Transition.toString({ ...transition,
|
|
152036
|
+
return CSS$1.Transition.toString({ ...transition,
|
|
151988
152037
|
property: transitionProperty
|
|
151989
152038
|
});
|
|
151990
152039
|
}
|
|
@@ -152671,7 +152720,7 @@ const SortableOrderRow = ({ widget, index, total, onMove }) => {
|
|
|
152671
152720
|
const theme = useTheme$1();
|
|
152672
152721
|
const { attributes, listeners, setNodeRef, setActivatorNodeRef, transform, transition, isDragging, } = useSortable({ id: widget.id });
|
|
152673
152722
|
return (React__default.createElement(Box$1, { ref: setNodeRef, style: {
|
|
152674
|
-
transform: CSS.Transform.toString(transform),
|
|
152723
|
+
transform: CSS$1.Transform.toString(transform),
|
|
152675
152724
|
transition,
|
|
152676
152725
|
}, sx: {
|
|
152677
152726
|
display: "flex",
|
|
@@ -153240,6 +153289,8 @@ const formatMinutesToHHMM = (totalMinutes) => {
|
|
|
153240
153289
|
};
|
|
153241
153290
|
const getCheckinWindowRange = (event) => {
|
|
153242
153291
|
var _a, _b;
|
|
153292
|
+
if (event.qrCheckinEnabled === false)
|
|
153293
|
+
return null;
|
|
153243
153294
|
const startMinutes = parseTimeToMinutes(event.time);
|
|
153244
153295
|
if (startMinutes === null)
|
|
153245
153296
|
return null;
|
|
@@ -155007,6 +155058,14 @@ const useHomePage = (props) => {
|
|
|
155007
155058
|
route: "/terreiro",
|
|
155008
155059
|
color: "primary",
|
|
155009
155060
|
},
|
|
155061
|
+
{
|
|
155062
|
+
id: "terreiro-search",
|
|
155063
|
+
title: "Terreiros",
|
|
155064
|
+
description: "Buscar casas próximas",
|
|
155065
|
+
icon: "place",
|
|
155066
|
+
route: "/terreiros/buscar",
|
|
155067
|
+
color: "primary",
|
|
155068
|
+
},
|
|
155010
155069
|
{
|
|
155011
155070
|
id: "mediums",
|
|
155012
155071
|
title: "Médiuns",
|
|
@@ -155142,6 +155201,7 @@ const useHomePage = (props) => {
|
|
|
155142
155201
|
// Admin + personal: include Social when feature enabled
|
|
155143
155202
|
return withSocialUnreadBadge(filterByIds(withSocialPersonalOnly(withIngressos([
|
|
155144
155203
|
"terreiro",
|
|
155204
|
+
"terreiro-search",
|
|
155145
155205
|
"activities",
|
|
155146
155206
|
"ritual-baths",
|
|
155147
155207
|
"inventory",
|
|
@@ -155153,6 +155213,7 @@ const useHomePage = (props) => {
|
|
|
155153
155213
|
// Admin + terreiro: no Social
|
|
155154
155214
|
return filterByIds(withIngressos([
|
|
155155
155215
|
"terreiro",
|
|
155216
|
+
"terreiro-search",
|
|
155156
155217
|
"mediums",
|
|
155157
155218
|
"activities",
|
|
155158
155219
|
"events",
|
|
@@ -155167,6 +155228,7 @@ const useHomePage = (props) => {
|
|
|
155167
155228
|
if (selectedTerreiro) {
|
|
155168
155229
|
const filtered = filterByIds(withIngressos([
|
|
155169
155230
|
"terreiro",
|
|
155231
|
+
"terreiro-search",
|
|
155170
155232
|
"mediums",
|
|
155171
155233
|
"activities",
|
|
155172
155234
|
"events",
|
|
@@ -155180,6 +155242,7 @@ const useHomePage = (props) => {
|
|
|
155180
155242
|
// Non-admin + personal profile: include Social when feature enabled
|
|
155181
155243
|
return withSocialUnreadBadge(filterByIds(withSocialPersonalOnly([
|
|
155182
155244
|
"terreiro",
|
|
155245
|
+
"terreiro-search",
|
|
155183
155246
|
"activities",
|
|
155184
155247
|
"ritual-baths",
|
|
155185
155248
|
"inventory",
|
|
@@ -161017,7 +161080,7 @@ const FormGrid$8 = styled$1(Grid$1)(({ theme }) => ({
|
|
|
161017
161080
|
const CEP_MIN_LENGTH = 8;
|
|
161018
161081
|
const ZIP_PLACEHOLDER = "00000-000";
|
|
161019
161082
|
const ADORNMENT_SPINNER_SIZE = 20;
|
|
161020
|
-
const GOOGLE_SEARCH_PLACEHOLDER = "Digite o endereço para buscar no Google";
|
|
161083
|
+
const GOOGLE_SEARCH_PLACEHOLDER$1 = "Digite o endereço para buscar no Google";
|
|
161021
161084
|
const AddressPage = (props) => {
|
|
161022
161085
|
const theme = useTheme$1();
|
|
161023
161086
|
const { data, fns } = useAddressPage(props);
|
|
@@ -161089,7 +161152,7 @@ const AddressPage = (props) => {
|
|
|
161089
161152
|
}
|
|
161090
161153
|
}, onChange: (_, newValue) => {
|
|
161091
161154
|
fns.handleGoogleSuggestionSelect(newValue);
|
|
161092
|
-
}, renderInput: (params) => (React__default.createElement(TextField$1, Object.assign({}, params, { label: "Buscar endere\u00E7o", placeholder: GOOGLE_SEARCH_PLACEHOLDER, fullWidth: true, "data-testid": "address-google-search", InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React__default.createElement(InputAdornment$1, { position: "start" },
|
|
161155
|
+
}, renderInput: (params) => (React__default.createElement(TextField$1, Object.assign({}, params, { label: "Buscar endere\u00E7o", placeholder: GOOGLE_SEARCH_PLACEHOLDER$1, fullWidth: true, "data-testid": "address-google-search", InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React__default.createElement(InputAdornment$1, { position: "start" },
|
|
161093
161156
|
React__default.createElement(LocationOn, { sx: { color: theme.palette.text.secondary } }))) }) }))) }),
|
|
161094
161157
|
data.googleSearchError && (React__default.createElement(Box$1, { sx: { mt: 1 } },
|
|
161095
161158
|
React__default.createElement(Alert$1, { severity: "warning" }, data.googleSearchError))),
|
|
@@ -181397,6 +181460,733 @@ const QrLandingPagePropsSchema = objectType({
|
|
|
181397
181460
|
.optional(),
|
|
181398
181461
|
});
|
|
181399
181462
|
|
|
181463
|
+
const GOOGLE_SEARCH_PLACEHOLDER = "Digite o endereço para buscar no Google";
|
|
181464
|
+
const MIN_SEARCH_LENGTH = 3;
|
|
181465
|
+
const TerreiroLocationSearch = ({ apiKey, onSelect, onUnavailable, }) => {
|
|
181466
|
+
const theme = useTheme$1();
|
|
181467
|
+
const onUnavailableRef = useRef(onUnavailable);
|
|
181468
|
+
const onSelectRef = useRef(onSelect);
|
|
181469
|
+
onUnavailableRef.current = onUnavailable;
|
|
181470
|
+
onSelectRef.current = onSelect;
|
|
181471
|
+
const servicesRef = useRef({});
|
|
181472
|
+
const [ready, setReady] = useState(false);
|
|
181473
|
+
const [loading, setLoading] = useState(false);
|
|
181474
|
+
const [inputValue, setInputValue] = useState("");
|
|
181475
|
+
const [suggestions, setSuggestions] = useState([]);
|
|
181476
|
+
const [error, setError] = useState(null);
|
|
181477
|
+
useEffect(() => {
|
|
181478
|
+
let cancelled = false;
|
|
181479
|
+
loadGoogleMapsPlacesScript(apiKey, "pt-BR", "BR")
|
|
181480
|
+
.then(() => {
|
|
181481
|
+
var _a, _b;
|
|
181482
|
+
if (cancelled)
|
|
181483
|
+
return;
|
|
181484
|
+
const places = (_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places;
|
|
181485
|
+
if (!(places === null || places === void 0 ? void 0 : places.AutocompleteService) || !(places === null || places === void 0 ? void 0 : places.PlacesService)) {
|
|
181486
|
+
onUnavailableRef.current();
|
|
181487
|
+
return;
|
|
181488
|
+
}
|
|
181489
|
+
servicesRef.current.autocompleteService = new places.AutocompleteService();
|
|
181490
|
+
const container = document.createElement("div");
|
|
181491
|
+
servicesRef.current.placesService = new places.PlacesService(container);
|
|
181492
|
+
setReady(true);
|
|
181493
|
+
})
|
|
181494
|
+
.catch(() => {
|
|
181495
|
+
if (!cancelled)
|
|
181496
|
+
onUnavailableRef.current();
|
|
181497
|
+
});
|
|
181498
|
+
return () => {
|
|
181499
|
+
cancelled = true;
|
|
181500
|
+
};
|
|
181501
|
+
}, [apiKey]);
|
|
181502
|
+
const search = (value) => {
|
|
181503
|
+
var _a, _b;
|
|
181504
|
+
const autocomplete = servicesRef.current.autocompleteService;
|
|
181505
|
+
const places = (_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places;
|
|
181506
|
+
if (!autocomplete || !places)
|
|
181507
|
+
return;
|
|
181508
|
+
if (value.trim().length < MIN_SEARCH_LENGTH) {
|
|
181509
|
+
setSuggestions([]);
|
|
181510
|
+
setError(null);
|
|
181511
|
+
return;
|
|
181512
|
+
}
|
|
181513
|
+
setLoading(true);
|
|
181514
|
+
setError(null);
|
|
181515
|
+
autocomplete.getPlacePredictions({
|
|
181516
|
+
input: value,
|
|
181517
|
+
componentRestrictions: { country: "br" },
|
|
181518
|
+
types: ["address"],
|
|
181519
|
+
}, (predictions, status) => {
|
|
181520
|
+
setLoading(false);
|
|
181521
|
+
if (status !== places.PlacesServiceStatus.OK) {
|
|
181522
|
+
setSuggestions([]);
|
|
181523
|
+
if (status !== places.PlacesServiceStatus.ZERO_RESULTS) {
|
|
181524
|
+
setError("Não foi possível buscar endereços no Google");
|
|
181525
|
+
}
|
|
181526
|
+
return;
|
|
181527
|
+
}
|
|
181528
|
+
setSuggestions((predictions !== null && predictions !== void 0 ? predictions : []).map((prediction) => ({
|
|
181529
|
+
description: prediction.description,
|
|
181530
|
+
placeId: prediction.place_id,
|
|
181531
|
+
})));
|
|
181532
|
+
});
|
|
181533
|
+
};
|
|
181534
|
+
const selectSuggestion = (suggestion) => {
|
|
181535
|
+
var _a, _b;
|
|
181536
|
+
if (!suggestion)
|
|
181537
|
+
return;
|
|
181538
|
+
const placesService = servicesRef.current.placesService;
|
|
181539
|
+
const places = (_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places;
|
|
181540
|
+
if (!placesService || !places) {
|
|
181541
|
+
setError("Não foi possível carregar os detalhes do endereço");
|
|
181542
|
+
return;
|
|
181543
|
+
}
|
|
181544
|
+
setInputValue(suggestion.description);
|
|
181545
|
+
setLoading(true);
|
|
181546
|
+
setError(null);
|
|
181547
|
+
placesService.getDetails({
|
|
181548
|
+
placeId: suggestion.placeId,
|
|
181549
|
+
fields: ["address_components", "formatted_address"],
|
|
181550
|
+
}, (place, status) => {
|
|
181551
|
+
var _a;
|
|
181552
|
+
setLoading(false);
|
|
181553
|
+
if (status !== places.PlacesServiceStatus.OK || !place) {
|
|
181554
|
+
setError("Não foi possível obter detalhes do endereço");
|
|
181555
|
+
return;
|
|
181556
|
+
}
|
|
181557
|
+
const mapped = mapGooglePlaceToAddressForm({
|
|
181558
|
+
address_components: place.address_components,
|
|
181559
|
+
formatted_address: place.formatted_address,
|
|
181560
|
+
});
|
|
181561
|
+
if (!mapped.city) {
|
|
181562
|
+
setError("Não foi possível identificar a cidade deste endereço");
|
|
181563
|
+
return;
|
|
181564
|
+
}
|
|
181565
|
+
onSelectRef.current(mapped.city, (_a = mapped.state) !== null && _a !== void 0 ? _a : "");
|
|
181566
|
+
});
|
|
181567
|
+
};
|
|
181568
|
+
if (!ready)
|
|
181569
|
+
return null;
|
|
181570
|
+
return (React__default.createElement(Autocomplete$1, { options: suggestions, getOptionLabel: (option) => option.description, filterOptions: (options) => options, loading: loading, inputValue: inputValue, onInputChange: (_, value, reason) => {
|
|
181571
|
+
if (reason !== "input" && reason !== "clear")
|
|
181572
|
+
return;
|
|
181573
|
+
setInputValue(value);
|
|
181574
|
+
search(value);
|
|
181575
|
+
}, onChange: (_, value) => selectSuggestion(value), isOptionEqualToValue: (option, value) => option.placeId === value.placeId, noOptionsText: error !== null && error !== void 0 ? error : (inputValue.trim().length >= MIN_SEARCH_LENGTH
|
|
181576
|
+
? "Nenhum endereço encontrado para esta busca."
|
|
181577
|
+
: "Digite ao menos 3 caracteres"), renderInput: (params) => (React__default.createElement(TextField$1, Object.assign({}, params, { label: "Buscar endere\u00E7o", placeholder: GOOGLE_SEARCH_PLACEHOLDER, fullWidth: true, error: Boolean(error), helperText: error !== null && error !== void 0 ? error : undefined, inputProps: Object.assign(Object.assign({}, params.inputProps), { "data-testid": "terreiro-search-address" }), sx: {
|
|
181578
|
+
"& .MuiInputBase-input": { color: "text.primary" },
|
|
181579
|
+
"& .MuiInputBase-input::placeholder": { color: "text.secondary", opacity: 1 },
|
|
181580
|
+
}, InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React__default.createElement(InputAdornment$1, { position: "start" },
|
|
181581
|
+
React__default.createElement(LocationOn, { sx: { color: theme.palette.text.secondary } }))), endAdornment: (React__default.createElement(React__default.Fragment, null,
|
|
181582
|
+
loading ? React__default.createElement(CircularProgress$1, { size: 20 }) : null,
|
|
181583
|
+
params.InputProps.endAdornment)) }) }))) }));
|
|
181584
|
+
};
|
|
181585
|
+
|
|
181586
|
+
const BRAZIL_CENTER = { lat: -14.2, lng: -51.9 };
|
|
181587
|
+
const BRAZIL_ZOOM = 4;
|
|
181588
|
+
const SINGLE_RESULT_ZOOM = 15;
|
|
181589
|
+
const USER_LOCATION_ZOOM = 13;
|
|
181590
|
+
const PIN_ORANGE = "#BA4813";
|
|
181591
|
+
const PIN_COAL = "#201C10";
|
|
181592
|
+
const PIN_CREAM = "#F3E2B3";
|
|
181593
|
+
const mapColorScheme = (mode) => {
|
|
181594
|
+
var _a, _b;
|
|
181595
|
+
const scheme = (_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.ColorScheme;
|
|
181596
|
+
if (!scheme)
|
|
181597
|
+
return undefined;
|
|
181598
|
+
if (scheme.FOLLOW_SYSTEM)
|
|
181599
|
+
return scheme.FOLLOW_SYSTEM;
|
|
181600
|
+
return mode === "dark" ? scheme.DARK : scheme.LIGHT;
|
|
181601
|
+
};
|
|
181602
|
+
const finitePlaces = (results) => (results !== null && results !== void 0 ? results : []).filter((place) => Number.isFinite(place.latitude) && Number.isFinite(place.longitude));
|
|
181603
|
+
const pinIcon = (selected, mode) => {
|
|
181604
|
+
var _a, _b, _c;
|
|
181605
|
+
const maps = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps;
|
|
181606
|
+
const idleFill = mode === "dark" ? PIN_CREAM : PIN_COAL;
|
|
181607
|
+
const idleStroke = mode === "dark" ? PIN_COAL : PIN_CREAM;
|
|
181608
|
+
return {
|
|
181609
|
+
path: (_c = (_b = maps === null || maps === void 0 ? void 0 : maps.SymbolPath) === null || _b === void 0 ? void 0 : _b.CIRCLE) !== null && _c !== void 0 ? _c : 0,
|
|
181610
|
+
scale: selected ? 11 : 8,
|
|
181611
|
+
fillColor: selected ? PIN_ORANGE : idleFill,
|
|
181612
|
+
fillOpacity: 1,
|
|
181613
|
+
strokeColor: selected ? PIN_CREAM : idleStroke,
|
|
181614
|
+
strokeWeight: 2,
|
|
181615
|
+
};
|
|
181616
|
+
};
|
|
181617
|
+
const TerreiroResultMap = ({ apiKey, results, selectedPlaceId, userCoordinates, layoutKey = null, onSelectPlace, }) => {
|
|
181618
|
+
var _a, _b;
|
|
181619
|
+
const theme = useTheme$1();
|
|
181620
|
+
const mode = theme.palette.mode;
|
|
181621
|
+
const modeRef = useRef(mode);
|
|
181622
|
+
modeRef.current = mode;
|
|
181623
|
+
const containerRef = useRef(null);
|
|
181624
|
+
const mapRef = useRef(null);
|
|
181625
|
+
const markersRef = useRef(new Map());
|
|
181626
|
+
const onSelectRef = useRef(onSelectPlace);
|
|
181627
|
+
const resultsRef = useRef(results);
|
|
181628
|
+
const userCoordinatesRef = useRef(userCoordinates);
|
|
181629
|
+
const selectedPlaceIdRef = useRef(selectedPlaceId);
|
|
181630
|
+
const [mapReady, setMapReady] = useState(false);
|
|
181631
|
+
const [mapFailed, setMapFailed] = useState(!(apiKey === null || apiKey === void 0 ? void 0 : apiKey.trim()));
|
|
181632
|
+
const [mapEpoch, setMapEpoch] = useState(0);
|
|
181633
|
+
onSelectRef.current = onSelectPlace;
|
|
181634
|
+
resultsRef.current = results;
|
|
181635
|
+
userCoordinatesRef.current = userCoordinates;
|
|
181636
|
+
selectedPlaceIdRef.current = selectedPlaceId;
|
|
181637
|
+
const trimmedKey = (_a = apiKey === null || apiKey === void 0 ? void 0 : apiKey.trim()) !== null && _a !== void 0 ? _a : "";
|
|
181638
|
+
const resultSignature = (_b = results === null || results === void 0 ? void 0 : results.map((place) => `${place.placeId}:${place.latitude}:${place.longitude}`).join("|")) !== null && _b !== void 0 ? _b : "";
|
|
181639
|
+
const userLocationKey = userCoordinates
|
|
181640
|
+
? `${userCoordinates.latitude},${userCoordinates.longitude}`
|
|
181641
|
+
: "";
|
|
181642
|
+
useEffect(() => {
|
|
181643
|
+
if (!trimmedKey) {
|
|
181644
|
+
setMapFailed(true);
|
|
181645
|
+
setMapReady(false);
|
|
181646
|
+
return;
|
|
181647
|
+
}
|
|
181648
|
+
let cancelled = false;
|
|
181649
|
+
setMapFailed(false);
|
|
181650
|
+
loadGoogleMapsPlacesScript(trimmedKey, "pt-BR", "BR")
|
|
181651
|
+
.then(() => {
|
|
181652
|
+
var _a, _b, _c, _d;
|
|
181653
|
+
if (cancelled)
|
|
181654
|
+
return;
|
|
181655
|
+
if (!((_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.Map) || !((_d = (_c = window.google) === null || _c === void 0 ? void 0 : _c.maps) === null || _d === void 0 ? void 0 : _d.Marker)) {
|
|
181656
|
+
setMapFailed(true);
|
|
181657
|
+
return;
|
|
181658
|
+
}
|
|
181659
|
+
setMapReady(true);
|
|
181660
|
+
})
|
|
181661
|
+
.catch(() => {
|
|
181662
|
+
if (!cancelled)
|
|
181663
|
+
setMapFailed(true);
|
|
181664
|
+
});
|
|
181665
|
+
return () => {
|
|
181666
|
+
cancelled = true;
|
|
181667
|
+
};
|
|
181668
|
+
}, [trimmedKey]);
|
|
181669
|
+
useEffect(() => {
|
|
181670
|
+
var _a, _b;
|
|
181671
|
+
if (!mapReady || !containerRef.current || !((_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.Map))
|
|
181672
|
+
return;
|
|
181673
|
+
const colorScheme = mapColorScheme(modeRef.current);
|
|
181674
|
+
const map = new window.google.maps.Map(containerRef.current, Object.assign({ center: BRAZIL_CENTER, zoom: BRAZIL_ZOOM, disableDefaultUI: true, zoomControl: true, clickableIcons: false, gestureHandling: "greedy", mapTypeControl: false, streetViewControl: false, fullscreenControl: false }, (colorScheme ? { colorScheme } : {})));
|
|
181675
|
+
mapRef.current = map;
|
|
181676
|
+
setMapEpoch((epoch) => epoch + 1);
|
|
181677
|
+
return () => {
|
|
181678
|
+
markersRef.current.forEach((marker) => marker.setMap(null));
|
|
181679
|
+
markersRef.current.clear();
|
|
181680
|
+
mapRef.current = null;
|
|
181681
|
+
};
|
|
181682
|
+
}, [mapReady]);
|
|
181683
|
+
useEffect(() => {
|
|
181684
|
+
var _a;
|
|
181685
|
+
const map = mapRef.current;
|
|
181686
|
+
const maps = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps;
|
|
181687
|
+
if (!mapReady || !map || !(maps === null || maps === void 0 ? void 0 : maps.Marker))
|
|
181688
|
+
return;
|
|
181689
|
+
const places = finitePlaces(resultsRef.current);
|
|
181690
|
+
const nextIds = new Set(places.map((place) => place.placeId));
|
|
181691
|
+
markersRef.current.forEach((marker, id) => {
|
|
181692
|
+
if (!nextIds.has(id)) {
|
|
181693
|
+
marker.setMap(null);
|
|
181694
|
+
markersRef.current.delete(id);
|
|
181695
|
+
}
|
|
181696
|
+
});
|
|
181697
|
+
places.forEach((place) => {
|
|
181698
|
+
const position = { lat: place.latitude, lng: place.longitude };
|
|
181699
|
+
const existing = markersRef.current.get(place.placeId);
|
|
181700
|
+
if (existing) {
|
|
181701
|
+
existing.setPosition(position);
|
|
181702
|
+
return;
|
|
181703
|
+
}
|
|
181704
|
+
const marker = new maps.Marker({
|
|
181705
|
+
map,
|
|
181706
|
+
position,
|
|
181707
|
+
title: place.name,
|
|
181708
|
+
icon: pinIcon(place.placeId === selectedPlaceIdRef.current, modeRef.current),
|
|
181709
|
+
});
|
|
181710
|
+
marker.addListener("click", () => onSelectRef.current(place.placeId));
|
|
181711
|
+
markersRef.current.set(place.placeId, marker);
|
|
181712
|
+
});
|
|
181713
|
+
if (places.length === 1) {
|
|
181714
|
+
map.setCenter({ lat: places[0].latitude, lng: places[0].longitude });
|
|
181715
|
+
map.setZoom(SINGLE_RESULT_ZOOM);
|
|
181716
|
+
return;
|
|
181717
|
+
}
|
|
181718
|
+
if (places.length > 1) {
|
|
181719
|
+
const bounds = new maps.LatLngBounds();
|
|
181720
|
+
places.forEach((place) => {
|
|
181721
|
+
bounds.extend({ lat: place.latitude, lng: place.longitude });
|
|
181722
|
+
});
|
|
181723
|
+
map.fitBounds(bounds, 48);
|
|
181724
|
+
return;
|
|
181725
|
+
}
|
|
181726
|
+
const coords = userCoordinatesRef.current;
|
|
181727
|
+
if (coords && Number.isFinite(coords.latitude) && Number.isFinite(coords.longitude)) {
|
|
181728
|
+
map.setCenter({ lat: coords.latitude, lng: coords.longitude });
|
|
181729
|
+
map.setZoom(USER_LOCATION_ZOOM);
|
|
181730
|
+
return;
|
|
181731
|
+
}
|
|
181732
|
+
map.setCenter(BRAZIL_CENTER);
|
|
181733
|
+
map.setZoom(BRAZIL_ZOOM);
|
|
181734
|
+
}, [mapEpoch, mapReady, resultSignature, userLocationKey]);
|
|
181735
|
+
useEffect(() => {
|
|
181736
|
+
var _a;
|
|
181737
|
+
const map = mapRef.current;
|
|
181738
|
+
if (!mapReady || !map)
|
|
181739
|
+
return;
|
|
181740
|
+
const scheme = mapColorScheme(mode);
|
|
181741
|
+
if (scheme)
|
|
181742
|
+
(_a = map.setOptions) === null || _a === void 0 ? void 0 : _a.call(map, { colorScheme: scheme });
|
|
181743
|
+
markersRef.current.forEach((marker, id) => {
|
|
181744
|
+
marker.setIcon(pinIcon(id === selectedPlaceId, mode));
|
|
181745
|
+
});
|
|
181746
|
+
if (!selectedPlaceId)
|
|
181747
|
+
return;
|
|
181748
|
+
const place = finitePlaces(resultsRef.current).find((item) => item.placeId === selectedPlaceId);
|
|
181749
|
+
if (!place)
|
|
181750
|
+
return;
|
|
181751
|
+
map.panTo({ lat: place.latitude, lng: place.longitude });
|
|
181752
|
+
}, [mapEpoch, mapReady, mode, resultSignature, selectedPlaceId]);
|
|
181753
|
+
useEffect(() => {
|
|
181754
|
+
var _a, _b, _c, _d;
|
|
181755
|
+
const map = mapRef.current;
|
|
181756
|
+
if (!mapReady || !map || layoutKey === null)
|
|
181757
|
+
return;
|
|
181758
|
+
(_d = (_c = (_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.event) === null || _c === void 0 ? void 0 : _c.trigger) === null || _d === void 0 ? void 0 : _d.call(_c, map, "resize");
|
|
181759
|
+
}, [layoutKey, mapEpoch, mapReady]);
|
|
181760
|
+
const showPlaceholder = !trimmedKey || mapFailed || !mapReady;
|
|
181761
|
+
return (React__default.createElement(Box$1, { sx: { position: "absolute", inset: 0 } },
|
|
181762
|
+
React__default.createElement(Box$1, { ref: containerRef, role: "region", "aria-label": "Mapa de terreiros", "data-testid": "terreiro-search-map", sx: { position: "absolute", inset: 0, bgcolor: "background.default" } }),
|
|
181763
|
+
showPlaceholder ? (React__default.createElement(Box$1, { "aria-hidden": true, "data-testid": "terreiro-search-map-placeholder", sx: {
|
|
181764
|
+
position: "absolute",
|
|
181765
|
+
inset: 0,
|
|
181766
|
+
bgcolor: "background.default",
|
|
181767
|
+
zIndex: 1,
|
|
181768
|
+
} })) : null));
|
|
181769
|
+
};
|
|
181770
|
+
|
|
181771
|
+
const TRADITIONS = ["Umbanda", "Candomblé", "Omolocô", "Quimbanda"];
|
|
181772
|
+
const statusLabel = (status) => {
|
|
181773
|
+
if (status === "CLOSED_PERMANENTLY")
|
|
181774
|
+
return "Fechado permanentemente";
|
|
181775
|
+
if (status === "CLOSED_TEMPORARILY")
|
|
181776
|
+
return "Fechado temporariamente";
|
|
181777
|
+
return null;
|
|
181778
|
+
};
|
|
181779
|
+
const traditionPressed = (query, tradition) => query.trim().localeCompare(tradition, "pt-BR", { sensitivity: "accent" }) === 0;
|
|
181780
|
+
const floatingControlShadow = "0 4px 16px rgba(32, 28, 16, 0.12)";
|
|
181781
|
+
const PEEK_HEIGHT = 72;
|
|
181782
|
+
const TOP_CLEARANCE = 120;
|
|
181783
|
+
const DRAG_SLOP = 5;
|
|
181784
|
+
const maxSheetHeight = () => {
|
|
181785
|
+
const viewport = typeof window === "undefined" ? 800 : window.innerHeight;
|
|
181786
|
+
return Math.max(PEEK_HEIGHT, viewport - TOP_CLEARANCE);
|
|
181787
|
+
};
|
|
181788
|
+
const defaultOpenHeight = () => {
|
|
181789
|
+
const viewport = typeof window === "undefined" ? 800 : window.innerHeight;
|
|
181790
|
+
return Math.round(Math.min(Math.max(viewport * 0.4, PEEK_HEIGHT), maxSheetHeight()));
|
|
181791
|
+
};
|
|
181792
|
+
const focusRing = {
|
|
181793
|
+
"&:focus-visible": {
|
|
181794
|
+
outline: "2px solid",
|
|
181795
|
+
outlineColor: "primary.main",
|
|
181796
|
+
outlineOffset: 2,
|
|
181797
|
+
},
|
|
181798
|
+
};
|
|
181799
|
+
const ResultRow = ({ place, selected, onSelect, onOpenMaps }) => {
|
|
181800
|
+
const closedLabel = statusLabel(place.businessStatus);
|
|
181801
|
+
return (React__default.createElement(Box$1, { component: "li", "data-testid": `terreiro-search-result-${place.placeId}`, sx: {
|
|
181802
|
+
display: "flex",
|
|
181803
|
+
alignItems: "center",
|
|
181804
|
+
gap: 0.5,
|
|
181805
|
+
minHeight: 56,
|
|
181806
|
+
listStyle: "none",
|
|
181807
|
+
} },
|
|
181808
|
+
React__default.createElement(Box$1, { component: "button", type: "button", "aria-pressed": selected, onClick: () => onSelect(place.placeId), sx: Object.assign({ flex: 1, minWidth: 0, minHeight: 56, display: "flex", alignItems: "center", gap: 1.5, py: 1, px: 0, border: 0, background: "transparent", textAlign: "left", cursor: "pointer", color: "inherit" }, focusRing) },
|
|
181809
|
+
React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
181810
|
+
width: 40,
|
|
181811
|
+
height: 40,
|
|
181812
|
+
borderRadius: "50%",
|
|
181813
|
+
display: "grid",
|
|
181814
|
+
placeItems: "center",
|
|
181815
|
+
flexShrink: 0,
|
|
181816
|
+
bgcolor: (theme) => alpha(selected ? theme.palette.primary.main : theme.palette.text.primary, 0.12),
|
|
181817
|
+
color: selected ? "primary.main" : "text.primary",
|
|
181818
|
+
} },
|
|
181819
|
+
React__default.createElement(PlaceOutlined, { fontSize: "small" })),
|
|
181820
|
+
React__default.createElement(Box$1, { sx: { minWidth: 0 } },
|
|
181821
|
+
React__default.createElement(Typography$1, { sx: {
|
|
181822
|
+
fontWeight: 700,
|
|
181823
|
+
fontSize: 16,
|
|
181824
|
+
color: selected ? "primary.main" : "text.primary",
|
|
181825
|
+
} }, place.name),
|
|
181826
|
+
React__default.createElement(Typography$1, { sx: { fontSize: 13, color: "text.secondary" } }, place.formattedAddress),
|
|
181827
|
+
closedLabel ? (React__default.createElement(Typography$1, { sx: { fontSize: 12, color: "text.secondary" } }, closedLabel)) : null)),
|
|
181828
|
+
React__default.createElement(Link$1, { href: place.googleMapsUrl, target: "_blank", rel: "noopener noreferrer", "aria-label": "Ver no Google Maps", "data-testid": `terreiro-search-maps-${place.placeId}`, onClick: () => onOpenMaps(place), sx: Object.assign({ width: 44, height: 44, display: "inline-flex", alignItems: "center", justifyContent: "center", flexShrink: 0, color: "text.primary", borderRadius: "50%" }, focusRing) },
|
|
181829
|
+
React__default.createElement(DirectionsOutlined, null))));
|
|
181830
|
+
};
|
|
181831
|
+
const NearbyTerreiroSearchPage = ({ query, onQueryChange, city, onCityChange, state, onStateChange, locationMode, geolocationNotice, isLocating = false, isLoading = false, isLoadingMore = false, results, errorMessage, hasMore = false, onSearch, onUseMyLocation, onRetry, onLoadMore, onOpenMaps, onBack, googleMapsApiKey, userCoordinates, }) => {
|
|
181832
|
+
const theme = useTheme$1();
|
|
181833
|
+
const isWide = useMediaQuery(theme.breakpoints.up("sm"));
|
|
181834
|
+
const [locationOpen, setLocationOpen] = useState(false);
|
|
181835
|
+
const [addressSearchUnavailable, setAddressSearchUnavailable] = useState(false);
|
|
181836
|
+
const [selectedPlaceId, setSelectedPlaceId] = useState(null);
|
|
181837
|
+
const [sheetHeight, setSheetHeight] = useState(null);
|
|
181838
|
+
const hasSheetContent = isLoading || Boolean(errorMessage) || results !== null;
|
|
181839
|
+
const listVisible = Boolean(results && results.length > 0);
|
|
181840
|
+
const previousMode = useRef(locationMode);
|
|
181841
|
+
const lastOpenHeight = useRef(defaultOpenHeight());
|
|
181842
|
+
const dragOrigin = useRef(null);
|
|
181843
|
+
const dragMoved = useRef(false);
|
|
181844
|
+
const resolvedSheetHeight = sheetHeight !== null && sheetHeight !== void 0 ? sheetHeight : defaultOpenHeight();
|
|
181845
|
+
const sheetOpen = resolvedSheetHeight > PEEK_HEIGHT + DRAG_SLOP;
|
|
181846
|
+
useEffect(() => {
|
|
181847
|
+
if (!listVisible || sheetHeight !== null)
|
|
181848
|
+
return;
|
|
181849
|
+
const open = defaultOpenHeight();
|
|
181850
|
+
lastOpenHeight.current = open;
|
|
181851
|
+
setSheetHeight(open);
|
|
181852
|
+
}, [listVisible, sheetHeight]);
|
|
181853
|
+
const toggleSheet = () => {
|
|
181854
|
+
setSheetHeight((current) => {
|
|
181855
|
+
const height = current !== null && current !== void 0 ? current : defaultOpenHeight();
|
|
181856
|
+
if (height <= PEEK_HEIGHT + DRAG_SLOP) {
|
|
181857
|
+
const open = lastOpenHeight.current > PEEK_HEIGHT + DRAG_SLOP
|
|
181858
|
+
? lastOpenHeight.current
|
|
181859
|
+
: defaultOpenHeight();
|
|
181860
|
+
return Math.min(open, maxSheetHeight());
|
|
181861
|
+
}
|
|
181862
|
+
lastOpenHeight.current = height;
|
|
181863
|
+
return PEEK_HEIGHT;
|
|
181864
|
+
});
|
|
181865
|
+
};
|
|
181866
|
+
const onHandlePointerDown = (event) => {
|
|
181867
|
+
if (!listVisible)
|
|
181868
|
+
return;
|
|
181869
|
+
dragMoved.current = false;
|
|
181870
|
+
dragOrigin.current = {
|
|
181871
|
+
y: event.clientY,
|
|
181872
|
+
height: sheetHeight !== null && sheetHeight !== void 0 ? sheetHeight : defaultOpenHeight(),
|
|
181873
|
+
};
|
|
181874
|
+
if (event.currentTarget.setPointerCapture && Number.isFinite(event.pointerId)) {
|
|
181875
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
181876
|
+
}
|
|
181877
|
+
};
|
|
181878
|
+
const onHandlePointerMove = (event) => {
|
|
181879
|
+
const origin = dragOrigin.current;
|
|
181880
|
+
if (!origin)
|
|
181881
|
+
return;
|
|
181882
|
+
if (Math.abs(origin.y - event.clientY) > DRAG_SLOP)
|
|
181883
|
+
dragMoved.current = true;
|
|
181884
|
+
if (!dragMoved.current)
|
|
181885
|
+
return;
|
|
181886
|
+
const next = Math.min(maxSheetHeight(), Math.max(PEEK_HEIGHT, origin.height + (origin.y - event.clientY)));
|
|
181887
|
+
setSheetHeight(next);
|
|
181888
|
+
};
|
|
181889
|
+
const onHandlePointerUp = (event) => {
|
|
181890
|
+
if (!dragOrigin.current)
|
|
181891
|
+
return;
|
|
181892
|
+
dragOrigin.current = null;
|
|
181893
|
+
if (event.currentTarget.hasPointerCapture &&
|
|
181894
|
+
Number.isFinite(event.pointerId) &&
|
|
181895
|
+
event.currentTarget.hasPointerCapture(event.pointerId)) {
|
|
181896
|
+
event.currentTarget.releasePointerCapture(event.pointerId);
|
|
181897
|
+
}
|
|
181898
|
+
if (!dragMoved.current)
|
|
181899
|
+
return;
|
|
181900
|
+
setSheetHeight((current) => {
|
|
181901
|
+
if (current !== null && current > PEEK_HEIGHT + DRAG_SLOP) {
|
|
181902
|
+
lastOpenHeight.current = current;
|
|
181903
|
+
}
|
|
181904
|
+
return current;
|
|
181905
|
+
});
|
|
181906
|
+
};
|
|
181907
|
+
const onHandleClick = () => {
|
|
181908
|
+
if (!listVisible)
|
|
181909
|
+
return;
|
|
181910
|
+
if (dragMoved.current) {
|
|
181911
|
+
dragMoved.current = false;
|
|
181912
|
+
return;
|
|
181913
|
+
}
|
|
181914
|
+
toggleSheet();
|
|
181915
|
+
};
|
|
181916
|
+
const trimmedQuery = query.trim();
|
|
181917
|
+
const locationReady = locationMode === "geolocation" || city.trim().length >= 2;
|
|
181918
|
+
const canSearch = trimmedQuery.length >= 3 &&
|
|
181919
|
+
trimmedQuery.length <= 80 &&
|
|
181920
|
+
locationReady &&
|
|
181921
|
+
!isLoading &&
|
|
181922
|
+
!isLocating;
|
|
181923
|
+
useEffect(() => {
|
|
181924
|
+
if (previousMode.current !== "geolocation" && locationMode === "geolocation") {
|
|
181925
|
+
setLocationOpen(false);
|
|
181926
|
+
}
|
|
181927
|
+
previousMode.current = locationMode;
|
|
181928
|
+
}, [locationMode]);
|
|
181929
|
+
useEffect(() => {
|
|
181930
|
+
if (!selectedPlaceId)
|
|
181931
|
+
return;
|
|
181932
|
+
if (!(results === null || results === void 0 ? void 0 : results.some((place) => place.placeId === selectedPlaceId))) {
|
|
181933
|
+
setSelectedPlaceId(null);
|
|
181934
|
+
}
|
|
181935
|
+
}, [results, selectedPlaceId]);
|
|
181936
|
+
useEffect(() => {
|
|
181937
|
+
if (!selectedPlaceId || !listVisible)
|
|
181938
|
+
return;
|
|
181939
|
+
setSheetHeight((current) => {
|
|
181940
|
+
const height = current !== null && current !== void 0 ? current : defaultOpenHeight();
|
|
181941
|
+
if (height > PEEK_HEIGHT + DRAG_SLOP)
|
|
181942
|
+
return current;
|
|
181943
|
+
const open = lastOpenHeight.current > PEEK_HEIGHT + DRAG_SLOP
|
|
181944
|
+
? lastOpenHeight.current
|
|
181945
|
+
: defaultOpenHeight();
|
|
181946
|
+
return Math.min(open, maxSheetHeight());
|
|
181947
|
+
});
|
|
181948
|
+
let innerFrame = 0;
|
|
181949
|
+
const outerFrame = requestAnimationFrame(() => {
|
|
181950
|
+
innerFrame = requestAnimationFrame(() => {
|
|
181951
|
+
var _a;
|
|
181952
|
+
const row = (_a = document
|
|
181953
|
+
.getElementById("terreiro-search-sheet-body")) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-testid="terreiro-search-result-${CSS.escape(selectedPlaceId)}"]`);
|
|
181954
|
+
if (row instanceof HTMLElement) {
|
|
181955
|
+
row.scrollIntoView({ block: "nearest" });
|
|
181956
|
+
}
|
|
181957
|
+
});
|
|
181958
|
+
});
|
|
181959
|
+
return () => {
|
|
181960
|
+
cancelAnimationFrame(outerFrame);
|
|
181961
|
+
cancelAnimationFrame(innerFrame);
|
|
181962
|
+
};
|
|
181963
|
+
}, [listVisible, selectedPlaceId]);
|
|
181964
|
+
const locationLabel = locationMode === "geolocation"
|
|
181965
|
+
? "Perto de mim"
|
|
181966
|
+
: city.trim()
|
|
181967
|
+
? state.trim()
|
|
181968
|
+
? `${city.trim()}, ${state.trim()}`
|
|
181969
|
+
: city.trim()
|
|
181970
|
+
: "Escolher cidade";
|
|
181971
|
+
const peekLabel = (() => {
|
|
181972
|
+
if (isLoading)
|
|
181973
|
+
return "Buscando terreiros...";
|
|
181974
|
+
if (errorMessage)
|
|
181975
|
+
return "Não foi possível buscar";
|
|
181976
|
+
if (results && results.length === 1)
|
|
181977
|
+
return "1 terreiro";
|
|
181978
|
+
if (results && results.length > 1)
|
|
181979
|
+
return `${results.length} terreiros`;
|
|
181980
|
+
if (results && results.length === 0)
|
|
181981
|
+
return "Nenhum terreiro";
|
|
181982
|
+
return "Busque para ver terreiros na região";
|
|
181983
|
+
})();
|
|
181984
|
+
const submitTradition = (tradition) => {
|
|
181985
|
+
onQueryChange(tradition);
|
|
181986
|
+
if (locationReady && !isLoading && !isLocating)
|
|
181987
|
+
onSearch(tradition);
|
|
181988
|
+
};
|
|
181989
|
+
const notice = geolocationNotice ? (React__default.createElement(Typography$1, { role: "status", variant: "body2", "data-testid": "terreiro-search-geo-notice", sx: {
|
|
181990
|
+
alignSelf: "flex-start",
|
|
181991
|
+
maxWidth: "100%",
|
|
181992
|
+
bgcolor: "background.paper",
|
|
181993
|
+
color: "text.secondary",
|
|
181994
|
+
borderRadius: 2,
|
|
181995
|
+
px: 1.5,
|
|
181996
|
+
py: 1,
|
|
181997
|
+
fontSize: 13,
|
|
181998
|
+
boxShadow: floatingControlShadow,
|
|
181999
|
+
} }, geolocationNotice)) : null;
|
|
182000
|
+
return (React__default.createElement(Box$1, { sx: {
|
|
182001
|
+
position: "relative",
|
|
182002
|
+
height: "100dvh",
|
|
182003
|
+
display: "flex",
|
|
182004
|
+
overflow: "hidden",
|
|
182005
|
+
bgcolor: "background.default",
|
|
182006
|
+
} },
|
|
182007
|
+
React__default.createElement(Box$1, { component: "section", "aria-label": "Resultados", "data-testid": "terreiro-search-sheet", style: listVisible ? { height: resolvedSheetHeight } : undefined, sx: {
|
|
182008
|
+
position: listVisible ? "absolute" : { xs: "absolute", sm: "relative" },
|
|
182009
|
+
left: 0,
|
|
182010
|
+
right: { xs: 0, sm: "auto" },
|
|
182011
|
+
bottom: 0,
|
|
182012
|
+
zIndex: 2,
|
|
182013
|
+
display: "flex",
|
|
182014
|
+
flexDirection: "column",
|
|
182015
|
+
width: { xs: "100%", sm: 400 },
|
|
182016
|
+
maxWidth: { sm: 400 },
|
|
182017
|
+
flexShrink: 0,
|
|
182018
|
+
height: listVisible ? undefined : { sm: "100%" },
|
|
182019
|
+
maxHeight: listVisible ? `calc(100dvh - ${TOP_CLEARANCE}px)` : "none",
|
|
182020
|
+
bgcolor: "background.paper",
|
|
182021
|
+
borderTopLeftRadius: listVisible || !isWide ? "20px" : 0,
|
|
182022
|
+
borderTopRightRadius: listVisible || !isWide ? "20px" : 0,
|
|
182023
|
+
borderRight: listVisible ? 0 : { sm: 1 },
|
|
182024
|
+
borderColor: "divider",
|
|
182025
|
+
boxShadow: listVisible || !isWide ? "0 -8px 24px rgba(32, 28, 16, 0.08)" : "none",
|
|
182026
|
+
} },
|
|
182027
|
+
listVisible ? (React__default.createElement(Box$1, { component: "button", type: "button", "aria-expanded": sheetOpen, "aria-controls": "terreiro-search-sheet-body", "data-testid": "terreiro-search-sheet-handle", onPointerDown: onHandlePointerDown, onPointerMove: onHandlePointerMove, onPointerUp: onHandlePointerUp, onClick: onHandleClick, sx: Object.assign({ width: "100%", border: 0, bgcolor: "transparent", cursor: "ns-resize", touchAction: "none", display: "flex", flexDirection: "column", alignItems: "center", gap: 0.75, pt: 1, pb: 1, px: 2, minHeight: 44, color: "text.primary" }, focusRing) },
|
|
182028
|
+
React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
182029
|
+
width: 36,
|
|
182030
|
+
height: 4,
|
|
182031
|
+
borderRadius: RADIUS.pill,
|
|
182032
|
+
bgcolor: (muiTheme) => alpha(muiTheme.palette.text.primary, 0.28),
|
|
182033
|
+
} }),
|
|
182034
|
+
React__default.createElement(Box$1, { component: "span", sx: { alignSelf: "flex-start", fontSize: 16, fontWeight: 800 } }, peekLabel))) : isWide ? (React__default.createElement(Typography$1, { sx: { px: 2, pt: 2, pb: 1, fontSize: 16, fontWeight: 800 } }, peekLabel)) : (React__default.createElement(Box$1, { sx: {
|
|
182035
|
+
width: "100%",
|
|
182036
|
+
display: "flex",
|
|
182037
|
+
flexDirection: "column",
|
|
182038
|
+
alignItems: "center",
|
|
182039
|
+
gap: 0.75,
|
|
182040
|
+
pt: 1,
|
|
182041
|
+
pb: 1,
|
|
182042
|
+
px: 2,
|
|
182043
|
+
minHeight: 44,
|
|
182044
|
+
color: "text.primary",
|
|
182045
|
+
} },
|
|
182046
|
+
React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
182047
|
+
width: 36,
|
|
182048
|
+
height: 4,
|
|
182049
|
+
borderRadius: RADIUS.pill,
|
|
182050
|
+
bgcolor: (muiTheme) => alpha(muiTheme.palette.text.primary, 0.28),
|
|
182051
|
+
} }),
|
|
182052
|
+
React__default.createElement(Box$1, { component: "span", sx: { alignSelf: "flex-start", fontSize: 16, fontWeight: 800 } }, peekLabel))),
|
|
182053
|
+
React__default.createElement(Box$1, { id: "terreiro-search-sheet-body", sx: {
|
|
182054
|
+
display: hasSheetContent ? "flex" : "none",
|
|
182055
|
+
flexDirection: "column",
|
|
182056
|
+
flex: 1,
|
|
182057
|
+
minHeight: 0,
|
|
182058
|
+
overflowY: "auto",
|
|
182059
|
+
px: 2,
|
|
182060
|
+
pb: 2,
|
|
182061
|
+
} },
|
|
182062
|
+
isLoading ? (React__default.createElement(Stack$1, { spacing: 1, "data-testid": "terreiro-search-loading" }, [0, 1, 2].map((item) => (React__default.createElement(Skeleton$1, { key: item, variant: "rectangular", height: 56 }))))) : null,
|
|
182063
|
+
!isLoading && errorMessage ? (React__default.createElement(Stack$1, { spacing: 1, "data-testid": "terreiro-search-error", role: "alert" },
|
|
182064
|
+
React__default.createElement(Typography$1, null, errorMessage),
|
|
182065
|
+
onRetry ? (React__default.createElement(Button$1, { type: "button", variant: "text", onClick: onRetry, "data-testid": "terreiro-search-retry", sx: {
|
|
182066
|
+
alignSelf: "flex-start",
|
|
182067
|
+
minHeight: 44,
|
|
182068
|
+
fontWeight: 700,
|
|
182069
|
+
color: "text.primary",
|
|
182070
|
+
} }, "Tentar de novo")) : null)) : null,
|
|
182071
|
+
!isLoading && !errorMessage && results && results.length === 0 ? (React__default.createElement(Stack$1, { spacing: 1, "data-testid": "terreiro-search-empty", sx: { py: 2 } },
|
|
182072
|
+
React__default.createElement(PlaceOutlined, { sx: { color: "text.primary" } }),
|
|
182073
|
+
React__default.createElement(Typography$1, { sx: { fontWeight: 700 } }, "Nenhum terreiro encontrado para esta busca na regi\u00E3o selecionada."),
|
|
182074
|
+
React__default.createElement(Typography$1, { sx: { fontSize: 13, color: "text.secondary" } }, "Ajuste o termo ou a cidade e busque de novo."))) : null,
|
|
182075
|
+
!isLoading && !errorMessage && results && results.length > 0 ? (React__default.createElement(Box$1, { component: "ul", sx: { m: 0, p: 0 } }, results.map((place) => (React__default.createElement(ResultRow, { key: place.placeId, place: place, selected: place.placeId === selectedPlaceId, onSelect: setSelectedPlaceId, onOpenMaps: onOpenMaps }))))) : null,
|
|
182076
|
+
!isLoading && !errorMessage && hasMore ? (React__default.createElement(Button$1, { type: "button", variant: "text", onClick: onLoadMore, disabled: isLoadingMore, "data-testid": "terreiro-search-load-more", sx: {
|
|
182077
|
+
alignSelf: "flex-start",
|
|
182078
|
+
mt: 0.5,
|
|
182079
|
+
minHeight: 44,
|
|
182080
|
+
fontWeight: 700,
|
|
182081
|
+
color: "text.primary",
|
|
182082
|
+
} }, isLoadingMore ? "Carregando..." : "Carregar mais")) : null)),
|
|
182083
|
+
React__default.createElement(Box$1, { sx: { position: "relative", flex: 1, minWidth: 0 } },
|
|
182084
|
+
React__default.createElement(TerreiroResultMap, { apiKey: googleMapsApiKey, results: results, selectedPlaceId: selectedPlaceId, userCoordinates: userCoordinates, layoutKey: listVisible ? resolvedSheetHeight : null, onSelectPlace: setSelectedPlaceId }),
|
|
182085
|
+
React__default.createElement(Box$1, { component: "form", onSubmit: (event) => {
|
|
182086
|
+
event.preventDefault();
|
|
182087
|
+
if (canSearch)
|
|
182088
|
+
onSearch(trimmedQuery);
|
|
182089
|
+
}, sx: {
|
|
182090
|
+
position: "absolute",
|
|
182091
|
+
top: 16,
|
|
182092
|
+
left: 16,
|
|
182093
|
+
right: 16,
|
|
182094
|
+
zIndex: 3,
|
|
182095
|
+
display: "flex",
|
|
182096
|
+
flexDirection: "column",
|
|
182097
|
+
gap: 1,
|
|
182098
|
+
} },
|
|
182099
|
+
React__default.createElement(Box$1, { sx: { display: "flex", alignItems: "center", gap: 1 } },
|
|
182100
|
+
onBack ? (React__default.createElement(IconButton$1, { type: "button", "aria-label": "Voltar", onClick: onBack, sx: Object.assign({ width: 44, height: 44, flexShrink: 0, bgcolor: "background.paper", color: "text.primary", boxShadow: floatingControlShadow, "&:hover": { bgcolor: "background.paper" } }, focusRing) },
|
|
182101
|
+
React__default.createElement(ArrowBack$1, null))) : null,
|
|
182102
|
+
React__default.createElement(Box$1, { sx: {
|
|
182103
|
+
flex: 1,
|
|
182104
|
+
minWidth: 0,
|
|
182105
|
+
display: "flex",
|
|
182106
|
+
alignItems: "center",
|
|
182107
|
+
minHeight: 44,
|
|
182108
|
+
pl: 2,
|
|
182109
|
+
pr: 0.5,
|
|
182110
|
+
bgcolor: "background.paper",
|
|
182111
|
+
borderRadius: RADIUS.pill,
|
|
182112
|
+
boxShadow: floatingControlShadow,
|
|
182113
|
+
} },
|
|
182114
|
+
React__default.createElement(InputBase$1, { value: query, onChange: (event) => onQueryChange(event.target.value), placeholder: "Umbanda, Candombl\u00E9...", fullWidth: true, inputProps: {
|
|
182115
|
+
"aria-label": "Tradição ou nome",
|
|
182116
|
+
maxLength: 80,
|
|
182117
|
+
"data-testid": "terreiro-search-query",
|
|
182118
|
+
}, sx: {
|
|
182119
|
+
fontSize: 16,
|
|
182120
|
+
color: "text.primary",
|
|
182121
|
+
"& input::placeholder": { color: "text.secondary", opacity: 1 },
|
|
182122
|
+
} }),
|
|
182123
|
+
query ? (React__default.createElement(IconButton$1, { type: "button", "aria-label": "Limpar busca", onClick: () => onQueryChange(""), sx: { width: 44, height: 44, flexShrink: 0, color: "text.primary" } },
|
|
182124
|
+
React__default.createElement(Close$1, null))) : null),
|
|
182125
|
+
React__default.createElement(IconButton$1, { type: "submit", "aria-label": "Buscar", disabled: !canSearch, "data-testid": "terreiro-search-submit", onClick: (event) => {
|
|
182126
|
+
event.preventDefault();
|
|
182127
|
+
if (canSearch)
|
|
182128
|
+
onSearch(trimmedQuery);
|
|
182129
|
+
}, sx: Object.assign({ width: 44, height: 44, flexShrink: 0, bgcolor: "primary.main", color: "primary.contrastText", boxShadow: floatingControlShadow, "&:hover": { bgcolor: "primary.dark" }, "&.Mui-disabled": {
|
|
182130
|
+
bgcolor: (muiTheme) => alpha(muiTheme.palette.primary.main, 0.38),
|
|
182131
|
+
color: "primary.contrastText",
|
|
182132
|
+
} }, focusRing) },
|
|
182133
|
+
React__default.createElement(Search$1, null))),
|
|
182134
|
+
React__default.createElement(Box$1, { role: "group", "aria-label": "Tradi\u00E7\u00F5es", sx: {
|
|
182135
|
+
display: "flex",
|
|
182136
|
+
gap: 1,
|
|
182137
|
+
overflowX: "auto",
|
|
182138
|
+
scrollbarWidth: "none",
|
|
182139
|
+
"&::-webkit-scrollbar": { display: "none" },
|
|
182140
|
+
} }, TRADITIONS.map((tradition) => {
|
|
182141
|
+
const pressed = traditionPressed(query, tradition);
|
|
182142
|
+
return (React__default.createElement(Button$1, { key: tradition, type: "button", variant: "outlined", "aria-pressed": pressed, onClick: () => submitTradition(tradition), sx: {
|
|
182143
|
+
flexShrink: 0,
|
|
182144
|
+
minHeight: 44,
|
|
182145
|
+
px: 2,
|
|
182146
|
+
borderRadius: RADIUS.pill,
|
|
182147
|
+
textTransform: "none",
|
|
182148
|
+
fontWeight: 600,
|
|
182149
|
+
bgcolor: "background.paper",
|
|
182150
|
+
borderColor: pressed ? "primary.main" : "divider",
|
|
182151
|
+
color: pressed ? "primary.main" : "text.primary",
|
|
182152
|
+
"&:hover": {
|
|
182153
|
+
bgcolor: "background.paper",
|
|
182154
|
+
borderColor: pressed ? "primary.main" : "divider",
|
|
182155
|
+
},
|
|
182156
|
+
} }, tradition));
|
|
182157
|
+
})),
|
|
182158
|
+
React__default.createElement(Button$1, { type: "button", variant: "outlined", "aria-expanded": locationOpen, "aria-haspopup": "dialog", onClick: () => setLocationOpen(true), startIcon: locationMode === "geolocation" ? React__default.createElement(MyLocation, null) : React__default.createElement(PlaceOutlined, null), sx: {
|
|
182159
|
+
alignSelf: "flex-start",
|
|
182160
|
+
minHeight: 44,
|
|
182161
|
+
maxWidth: "100%",
|
|
182162
|
+
borderRadius: RADIUS.pill,
|
|
182163
|
+
textTransform: "none",
|
|
182164
|
+
fontWeight: 600,
|
|
182165
|
+
bgcolor: "background.paper",
|
|
182166
|
+
borderColor: "divider",
|
|
182167
|
+
color: "text.primary",
|
|
182168
|
+
"&:hover": { bgcolor: "background.paper", borderColor: "divider" },
|
|
182169
|
+
} }, locationLabel),
|
|
182170
|
+
!locationOpen ? notice : null)),
|
|
182171
|
+
React__default.createElement(GenericDrawer, { open: locationOpen, onClose: () => setLocationOpen(false), "aria-label": "Local da busca" }, locationOpen ? (React__default.createElement(Stack$1, { spacing: 2, sx: { px: 2, pb: 3 } },
|
|
182172
|
+
React__default.createElement(Typography$1, { sx: { fontSize: 16, fontWeight: 800 } }, "Onde buscar"),
|
|
182173
|
+
(googleMapsApiKey === null || googleMapsApiKey === void 0 ? void 0 : googleMapsApiKey.trim()) && !addressSearchUnavailable ? (React__default.createElement(TerreiroLocationSearch, { apiKey: googleMapsApiKey.trim(), onUnavailable: () => setAddressSearchUnavailable(true), onSelect: (nextCity, nextState) => {
|
|
182174
|
+
onCityChange(nextCity);
|
|
182175
|
+
onStateChange(nextState);
|
|
182176
|
+
setLocationOpen(false);
|
|
182177
|
+
} })) : (React__default.createElement(Stack$1, { direction: "row", spacing: 1 },
|
|
182178
|
+
React__default.createElement(TextField$1, { label: "Cidade", value: city, onChange: (event) => onCityChange(event.target.value), inputProps: { "data-testid": "terreiro-search-city" }, fullWidth: true, sx: {
|
|
182179
|
+
"& .MuiInputBase-input": { color: "text.primary" },
|
|
182180
|
+
"& .MuiInputBase-input::placeholder": { color: "text.secondary", opacity: 1 },
|
|
182181
|
+
} }),
|
|
182182
|
+
React__default.createElement(TextField$1, { label: "UF", value: state, onChange: (event) => onStateChange(event.target.value.toUpperCase().slice(0, 2)), inputProps: { maxLength: 2, "data-testid": "terreiro-search-state" }, sx: {
|
|
182183
|
+
width: 88,
|
|
182184
|
+
"& .MuiInputBase-input": { color: "text.primary" },
|
|
182185
|
+
} }))),
|
|
182186
|
+
React__default.createElement(Button$1, { type: "button", variant: "text", onClick: onUseMyLocation, disabled: isLocating || isLoading, "data-testid": "terreiro-search-geolocation", sx: { alignSelf: "flex-start", minHeight: 44, fontWeight: 700, color: "text.primary" } }, isLocating ? "Buscando localização..." : "Usar minha localização"),
|
|
182187
|
+
notice)) : null)));
|
|
182188
|
+
};
|
|
182189
|
+
|
|
181400
182190
|
/**
|
|
181401
182191
|
* Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various
|
|
181402
182192
|
* credential response ArrayBuffers to string for sending back to the server as JSON.
|
|
@@ -194823,5 +195613,5 @@ var index_es = /*#__PURE__*/Object.freeze({
|
|
|
194823
195613
|
vectorsRatio: vectorsRatio
|
|
194824
195614
|
});
|
|
194825
195615
|
|
|
194826
|
-
export { ACTIVITY_STEP_ORDER, ALSO_EXPERIENCED_LABEL, AVATAR_SIZE_CONFIG, AcademyCertificatePreview, AcademyModulePage, AcademyPage, AccessBlockedPage, AccountOptionSchema, BasicInfoSchema as ActivityBasicInfoSchema, ActivityChatInsumosPicker, ActivityChatMembersPicker, ActivityCheckinWindowSchema, ActivityDetailPage$1 as ActivityDetailPage, ActivityEditPage, ActivityFormChatSummaryCard, InsumosSelectionSchema$1 as ActivityInsumosSelectionSchema, ActivityListPage, MembersSelectionSchema as ActivityMembersSelectionSchema, ActivityOnboardingPage, TemplateSchema as ActivityTemplateSchema, TimeSelectionSchema as ActivityTimeSelectionSchema, AddMediumByQRCodePage, AddressInfoSchema, AddressPage, AffiliateProgramPage, AlsoExperiencedButton, AttendanceCheckinCta$1 as AttendanceCheckinCta, AttendanceCheckinDialog, AttendanceCheckinEntryPage, AttendanceInsightsPage, AvatarWithBadge, BADGE_SIZE_CONFIG, BADGE_TIER_COLORS, BADGE_TIER_CONFIG, BADGE_TIER_LABELS, BADGE_TYPE_LABELS, BANK_OPTIONS, BANNER_GRADIENT_KEYS, BANNER_GRADIENT_PRESETS, BRAZILIAN_STATES$1 as BRAZILIAN_STATES, BadgeProgressSchema, BadgeTierSchema$2 as BadgeTierSchema, BadgesPage, BadgeInfoSchema as BadgesPageBadgeInfoSchema, BadgeTierSchema as BadgesPageBadgeTierSchema, BadgeTypeSchema as BadgesPageBadgeTypeSchema, BadgesPagePropsSchema, BathCategorySchema$2 as BathCategorySchema, BlockDialog, BrazilianStateUFSchema, CARD_CONTENT_STYLES, CATEGORY_CONFIG, CATEGORY_LABELS, CREATE_EXPERIENCE_STEP_LABELS, CREATE_EXPERIENCE_STEP_ORDER, CREATE_QUESTION_STEP_LABELS, CREATE_QUESTION_STEP_ORDER, CellphoneInput, CellphoneInputPropsSchema, CompletenessCard, ConnectionButton, ContactArraySchema, ContactPage, ContactPagePropsSchema, ContactSchema, ContactSectionCardPropsSchema, ContributionImpactCard, CopyTargetSchema, CreateExperiencePage, CreateExperienceValuesSchema, CreateIngressoPage, CreateQuestionPage, CreateQuestionValuesSchema, CredentialsApiErrorSchema, CredentialsDataSchema, CredentialsFormStateSchema, CredentialsPage, CredentialsPagePropsSchema, CredentialsValidationErrorsSchema, CustomBannerGradientPresetSchema, DAILY_MESSAGE_POOL, DEFAULT_BANNER_GRADIENT_KEY, DEFAULT_HOME_WIDGET_ORDER, DEFAULT_HOME_WIDGET_VISIBILITY, DailyRitualCard, DescriptionBox$3 as DescriptionBox, DetailedPermissionSchema, EMPTY_ELEMENT_SIZE, EMPTY_ELEMENT_SIZE as EMPTY_SLOT_SIZE, EVENT_STEP_ORDER, EditEventPage, EditJourneyPage, EventAISuggestionsPage, EventBasicInfoSchema, EventChatActivitiesPicker, EventChatInsumosPicker, EventChatLocationPicker, EventChatMembersPicker, EventChatTypePicker, EventCheckinWindowSchema, EventDateTimeSchema, EventDetailPage$1 as EventDetailPage, EventFormChatSummaryCard, EventFormValuesSchema, InsumosSelectionSchema as EventInsumosSelectionSchema, EventLocationSchema, EventOnboardingPage, EventParticipantsSchema, EventProfileBlockedPage, EventPublicationFormChatSummaryCard, EventTicketingManagementPage, EventsPage, ExperienceCard, ExperienceCategoryBadge, ExperienceCategorySchema, ExperienceCommentRow, ExperienceCommentSchema, ExperienceCommentsSheet, ExperienceComposer, ExperienceDetailPage, ExperienceDetailView, ExperienceEngageMenu, ExperiencePostTypeBadge, ExperiencePostTypeSchema, ExperienceReactionBar, ExperienceReactionTypeSchema, ExperienceSchema, ExpiredLinkPage, FORM_CONFIG, FacebookAuthButton, FilterDrawerShellPropsSchema, FinanceMetricCard$1 as FinanceMetricCard, FinancialAccountPage, FinancialAccountsList$1 as FinancialAccountsList, FinancialOverviewCard, FinancialRegisterPage, FinancialTransparencyPage, ForbiddenPage, ForgotPasswordPage, FormChatAssistant, FormChatListSelect, FormChatPickerDrawer, FormChatSelectionBar, GLOW_EFFECT, GamificationBadgeSchema, GamificationBadgeTierEnum, GamificationBadgeTypeEnum, GamificationCard, GamificationCardPropsSchema, GamificationHelpPage, GamificationHelpPagePropsSchema, GamificationHelpTopicSchema, GamificationSummarySchema, GoogleAuthButton, HOME_BELL_NOTIFICATION_LIMIT, HOME_MEASURE_SLOTS, HOME_WIDGETS_CATALOG, HomePage, Image$1 as Image, ImageButton, IncomeListPage$1 as IncomeListPage, IncomingFinancialPage, InfiniteScroll, InfiniteScrollPropsSchema, InstallPrompt, InsumosAvatarGroup, InventoryItemDetail$1 as InventoryItemDetailPage, InventoryItemOnboardingPage, InventoryListItemPage, InventoryListPage, InviteCard$1 as InviteCard, InviteLandingPage, InviteLandingPagePropsSchema, InviteLandingViewStateSchema, InviteTerreiroInfoSchema, JoinTerreiroPage, JourneyProfile, JourneyProfilePage, LAYOUT, LabeledBrazilianStateSelect, LabeledBrazilianStateSelectPropsSchema, LabeledDatePickerPropsSchema, LabeledFieldHeaderPropsSchema, LabeledMinuteInput, LabeledMonthPickerPropsSchema, LabeledTextField$1 as LabeledTextField, LabeledTimePicker, LeaderboardPage, LeaderboardPagePropsSchema, LoadMoreResultSchema, Loading, LunarEclipseSchema, MeasuredLayoutProvider, MediumBadgeSchema, MediumFinancialTransparencyPage, MediumHubPage, MediumListPage, MediumPage, MediumPointsSchema, MediumProfilePage, MediumProfileViewPage$1 as MediumProfileViewPage, MediumStatus$1 as MediumStatus, MemberListItem$1 as MemberListItem, MonthlyFeeInfoSchema, MonthlyFeePage, MonthlyFeePaymentsManagementPage, MoonApiResponseSchema, MoonCard, MoonCardContent, MoonCardPropsSchema, MoonCardSkeleton, MoonDataSchema, MoonDetailedSchema, MoonEventsSchema, MoonPositionSchema, MoonZodiacSchema, MyPermissionsDetailedSchema, MyPermissionsPage, MyPermissionsPagePropsSchema, NotFoundPage, NotificationSettingsPage, NotificationSettingsPagePropsSchema, NotificationsPage, ONBOARDING_TERREIRO_STEPS, ORIGIN_LABELS, OnboardingFormChatPanel, OnboardingFormChatSummaryCard, OnboardingIntroModal, OnboardingMediumPage, OnboardingPage, OnboardingTerreiroPage$1 as OnboardingTerreiroPage, OnboardingTerreiroPagePropsSchema, OutcomeListPage$1 as OutcomeListPage, OutgoingFinancialPage, PAYMENT_METHOD_OPTIONS$1 as PAYMENT_METHOD_OPTIONS, PIX_KEY_TYPE_OPTIONS, POST_TYPE_LABELS, PROFILE_SECTION_CONFIG, PROFILE_SECTION_WEIGHTS, PWAUpdatePromptUI, PageHeader$2 as PageHeader, PaginationInfoSchema, ParticipationResponseButtons$1 as ParticipationResponseButtons, ParticipationStatusBadge$1 as ParticipationStatusBadge, ParticipationStatusLabels, PasskeyCredentialSchema, PasskeyEnrollmentPrompt, PasskeyLoginDialog, PasswordInfoSchemaWithConfirmation, PasswordVisibilitySchema, PaymentStatusBanner, PeerMessageList, PendingApprovalBlockedPage, PermissionSelector, PermissionStatsSchema, PersonalInfoSchema, PhaseEventSchema, PlanChangePayloadSchema, PlanManagementPage, PlanManagementPagePropsSchema, PointsSummarySchema, PositionInfoSchema, PostGiraPrompt, PrivacySelector, ProfileCompletenessCard, ProfileDetailsPage, PublicEventTicketPage, PublicExperiencePreviewSchema, PublicProfilePreviewSchema, PublicQuestionPreviewSchema, PublicSocialPreviewDataSchema, PublicSocialPreviewPage, PublicTerreiroAgendaPage, QUESTION_SOURCE_LABELS, QUICK_ONBOARDING_TERREIRO_STEPS, QUICK_TERREIRO_ONBOARDING_FIELDS_BY_STEP, QrAnalyticsEventNameSchema, QrLandingPage, QrLandingPagePropsSchema, QrScannerSurface$1 as QrScannerSurface, QrTrackingEventSchema, QrTrackingPayloadSchema, QrVariantSchema, QuestionAnswerCard, QuestionAnswerSchema, QuestionAnswersSheet, QuestionCard, QuestionComposer, QuestionDetailPage, QuestionSchema, QuestionSourceBadge, QuestionSourceSchema, QuestionsPage, QuickActionSchema$1 as QuickActionSchema, QuickActions, QuickActionsPropsSchema, QuickMediumOnboardingFormStateSchema, QuickPersonalInfoSchema, QuickPersonalInfoStep, QuickTerreiroOnboardingFormStateSchema, QuickTerreiroPersonalInfoSchema, QuickTerreiroStepValidationSchemas, QuotaBehaviorSchema, QuotaGuard, QuotaGuardPropsSchema, QuotaStatusSchema, QuotaSummaryCard, QuotaSummaryCardPropsSchema, RADIUS, RANKING_PERIOD_LABELS, RANKING_SCOPE_LABELS, REACTION_LABELS, REPORT_REASON_LABELS, RankingEntrySchema, RankingPeriodEnum, RankingResultSchema, RankingScopeEnum, ReasonDialog$1 as ReasonDialog, ReasonDialogPropsSchema, ReligionSchema, ReportDialog, ResetPasswordPage, BasicInfoStepSchema as RitualBathBasicInfoStepSchema, RitualBathDetailPage$1 as RitualBathDetailPage, RitualBathDetailPagePropsSchema, RitualBathDetailSchema, RitualBathFilterSchema, RitualBathFormValuesSchema, RitualBathIngredientSchema$2 as RitualBathIngredientSchema, IngredientsStepSchema as RitualBathIngredientsStepSchema, RitualBathItemSchema, BathCategorySchema$1 as RitualBathListCategorySchema, RitualBathListPage, RitualBathOccurrenceSchema, RitualBathOnboardingPage, RitualBathOriginSchema, OriginStepSchema as RitualBathOriginStepSchema, RitualBathScheduleFormSchema, RitualBathSchedulePage, RitualBathSchedulePagePropsSchema, RitualBathScheduleSummarySchema, RitualBathStatusSchema, RitualBathStepSchema$2 as RitualBathStepSchema, RitualBathStepTypeSchema, StepsStepSchema as RitualBathStepsStepSchema, RitualCard, RoleFormPage, RoleFormValuesSchema, RoleInfoSchema, RoleManagementPage, RoleSchema, SKELETON_SIZES, SOCIAL_BIO_MAX_LENGTH, SOCIAL_DISPLAY_NAME_MAX_LENGTH, SOCIAL_HOME_BOTTOM_NAV_CLEARANCE, SOCIAL_HOME_BOTTOM_NAV_FLOAT_MB, SOCIAL_HOME_BOTTOM_NAV_HEIGHT, SOCIAL_HOME_HEADER_HEIGHT, SOCIAL_ONBOARDING_INTRO_STEPS, SOCIAL_ONBOARDING_STEP_LABELS, SOCIAL_ONBOARDING_STEP_ORDER, SOCIAL_TRADITION_MAX_LENGTH, SOCIAL_USERNAME_MAX_LENGTH, STATUS_COLORS, STATUS_LABELS, STEP_ORDER, STEP_TYPE_ICONS, STEP_TYPE_LABELS, ScheduleDateTimeFields$1 as ScheduleDateTimeFields, SelectField$2 as SelectField, ShareDrawerPropsSchema, SharePlatformSchema, ShareSheet, SharedExpensesCard, SigninPage, SignupPage, SimilarExperienceCard, SimilarPage, SimilarPeopleCard, SimilarPersonSchema, SingleContactSchema, SocialAccountDrawer, SocialAuthorSchema, SocialConnectionsPage, SocialConversationPage, SocialConversationPeerSchema, SocialConversationRow, SocialConversationSchema, SocialCreateActionsSheet, SocialDeleteConfirmDialog, SocialDiscoverPage, SocialEditTextDialog, SocialEmptyState, SocialErrorState, SocialFeedItemSchema, SocialHomeBottomNav, SocialHomeCurrentUserSchema, SocialHomeHeader, SocialHomePage, SocialInboxPage, SocialMessageBubble, SocialMessageComposer, SocialMessageDeliveryStatusSchema, SocialMessageSchema, SocialNotificationsPage, SocialOnboardingIntro, SocialOnboardingPage, SocialOnboardingValuesSchema, SocialPrivacySettingsPage, SocialProfileFieldsSchema, SocialProfileSchema, SocialReadOnlyNotice, SocialReportReasonSchema, SocialSavedPage, SocialSkeleton, SocialUnreadIndicator, SocialUsernameSchema, SocialVerificationEarnedCelebration, SocialVerificationProgressSheet, SocialVisibilitySchema, SpiritualFormChatSummaryCard, SpiritualProfilePage, StreakInfoSchema, SubscriptionGuard, SubscriptionProvider, SubscriptionRequiredForMediumPage, SuggestionsCarousel, SupplyPlanBlockerSchema, SupplyPlanCostsSchema, SupplyPlanItemSchema, SupplyPlanMissionSchema, SupplyPlanPage, SupplyPlanPagePropsSchema, SupplyPlanReadinessSchema, SupplyPlanSchema, SupplyPlanSourceActivitySchema, SupplyPlanSourceEventSchema, SupplyPlanSummarySchema, SystemSettingsPage, TERREIRO_COMPLETION_MESSAGES, TERREIRO_ONBOARDING_FIELDS_BY_STEP, TERREIRO_SECTION_CONFIG, TERREIRO_SECTION_WEIGHTS, TOP_BAR_HEIGHTS, TYPOGRAPHY_SCALE, TerreiroFinancialInfoSchema, TerreiroOnboardingApiErrorSchema, TerreiroOnboardingFormStateSchema, TerreiroOnboardingValidationErrorsSchema, TerreiroPersonalInfoSchema, TerreiroPolicyPage, TerreiroPolicyPagePropsSchema, TerreiroProfileDataPage$1 as TerreiroProfileDataPage, TerreiroProfilePage, TerreiroReadonlyProfilePage, TerreiroRegistrationSchema, TerreiroRegistrationWithoutPasswordSchema, TerreiroSchema$2 as TerreiroSchema, TerreiroSearchPage, TerreiroSectionCard, TerreiroSectionCardPropsSchema, TerreiroStatusSchema, TerreiroStepValidationSchemas, TerreiroSubscriptionInfoSchema, ThemeButton, ThemeProvider, TicketVoucherPage, TicketingClaimFormChatSummaryCard, TraditionBadge, UnitCostMetaSchema, UpcomingPhasesSchema, UpgradePrompt, UsageBar, UsageBarPropsSchema, UsageProvider, UsageQuotaPage, UsageQuotaPagePropsSchema, UseInfiniteScrollReturnSchema, VISIBILITY_HELPERS, VISIBILITY_LABELS, ValidationErrorsSchema, VerificationBadge, WhatsAppShareButton, WhatsNewModal, authorDisplayName, brand, buildAcademyCertificatePreviewNode, buildItemReasonText, buildMergedInsumos$1 as buildMergedInsumos, buildMergedMediums$1 as buildMergedMediums, defaultDisplayProps, defaultInputProps, drawerSheetRadius, filterSupplyPlanMissions, formatRelativeTime, formatScheduleDate, formatSecondsAsMinutesLabel, formatCurrency$1 as formatTerreiroCurrency, formatPhone as formatTerreiroPhone, generateAcademyCertificatePdf, getBannerGradient, getCardBaseStyles, getContentMarginTop, getContentPaddingTop, getCustomBannerGradient, getDateString, getDefaultHomeWidgetOrder, getHomeWidgetsForProfile, getReorderableHomeWidgetsForProfile, getSocialBannerSx, getSocialUsernameError, getTopBarExpandedHeight, getTopBarHeight, getTopBarStackHeight, installPromptPropsSchema, isDefaultHomeWidgetOrder, isPasskeySupported, isValidEmail, isValidPassword, mapPasskeyError, mapRawMemberToActivityChatOption, mediumStatusLabelsPtBr, mergeHomeWidgetOrder, mergeHomeWidgetVisibility, mockCalendarActivities, mockCalendarEvents, mockCalendarRitualBaths, mockHomePageProps, mockLoadingHomePageProps, mockMediumHomePageProps, mockMoonData, mockPendingMediumHomePageProps, mockQuickActions, mockRituals, mockSupplyPlanEmpty, mockSupplyPlanSufficientWithDemand, mockSupplyPlanWithCosts, mockSupplyPlanWithoutCosts, mockTerreiros, mockUpcomingEvents, mockUser, moveHomeWidgetInOrder, onboardingIntroModalPropsSchema, onboardingIntroModeSchema, onboardingIntroProfileContextSchema, overlayZIndex, parseScheduleDate, radiusPx, reorderHomeWidgetOrder, resolveExperiencePostType, secondsToRoundedMinutes, startPasskeyAuthentication, startPasskeyRegistration, useAcademyModulePage, useAcademyPage, useAccessBlockedPage, useActivityOnboarding, useAddressSectionCard, useAffiliateProgramPage, useAttendanceCheckinEntryPage, useAttendanceInsightsPage, useAvatarWithBadge, useBadgesPage, useCellphoneInput, useCompletenessCard, useContactPage, useContentClearance, useCredentialsPage, useElementSize, useEventAISuggestionsPage, useFilterDrawer, useFinancialRegister, useFinancialTransparencyPage, useFormChatAssistant, useGamificationCard, useGamificationHelpPage, useHideOnScroll, useHomePage, useInfiniteScroll, useInstallPrompt, useInventoryListItemPage, useInventoryListPage, useInviteLandingPage, useJoinTerreiroPage, useLabeledBrazilianStateSelect, useLeaderboardPage, useMeasureSlot, useMeasuredLayoutContext, useMeasuredSlot, useMediumFinancialTransparencyPage, useMediumHubPage, useMemberListItem, useMonthlyFeePaymentsManagementPage, useMoonCard, useMyPermissionsPage, useNotFoundPage, useNotificationSettingsPage, useOnboardingIntroModal, useOnboardingMedium, useOnboardingPage, useOnboardingTerreiro, useOptionalMeasuredLayoutContext, useOptionalUsageContext, usePWAUpdatePromptUI, usePermissionSelector, usePlanManagementPage, useProfileCompletenessCard, useQrLandingPage, useQuotaGuard, useRitualBathDetailPage, useRitualBathListPage, useRitualBathOnboarding, useRoleFormPage, useRoleManagementPage, useSelectMediumsPage, useSpiritualProfilePage, useSubscription, useSubscriptionContext, useSubscriptionGuard, useSupplyPlanPage, useTerreiroPolicyPage, useTerreiroProfileDataPage, useTerreiroProfilePage$1 as useTerreiroProfilePage, useTerreiroSectionCard, useThemeProvider, useUpgradePrompt, useUsageContext, useUsageQuota, useUsageQuotaPage, useVerificationBadge, useWhatsNewModal, validateEmail$1 as validateEmail, validatePassword$1 as validatePassword, validatePhoneNumber, validateCurrency as validateTerreiroCurrency, validateDueDay as validateTerreiroDueDay, validatePassword as validateTerreiroPassword, validatePasswordConfirmation as validateTerreiroPasswordConfirmation, validatePhone as validateTerreiroPhone, whatsNewAnnouncementSchema, whatsNewModalPropsSchema, whatsNewSlideSchema };
|
|
195616
|
+
export { ACTIVITY_STEP_ORDER, ALSO_EXPERIENCED_LABEL, AVATAR_SIZE_CONFIG, AcademyCertificatePreview, AcademyModulePage, AcademyPage, AccessBlockedPage, AccountOptionSchema, BasicInfoSchema as ActivityBasicInfoSchema, ActivityChatInsumosPicker, ActivityChatMembersPicker, ActivityCheckinWindowSchema, ActivityDetailPage$1 as ActivityDetailPage, ActivityEditPage, ActivityFormChatSummaryCard, InsumosSelectionSchema$1 as ActivityInsumosSelectionSchema, ActivityListPage, MembersSelectionSchema as ActivityMembersSelectionSchema, ActivityOnboardingPage, TemplateSchema as ActivityTemplateSchema, TimeSelectionSchema as ActivityTimeSelectionSchema, AddMediumByQRCodePage, AddressInfoSchema, AddressPage, AffiliateProgramPage, AlsoExperiencedButton, AttendanceCheckinCta$1 as AttendanceCheckinCta, AttendanceCheckinDialog, AttendanceCheckinEntryPage, AttendanceInsightsPage, AvatarWithBadge, BADGE_SIZE_CONFIG, BADGE_TIER_COLORS, BADGE_TIER_CONFIG, BADGE_TIER_LABELS, BADGE_TYPE_LABELS, BANK_OPTIONS, BANNER_GRADIENT_KEYS, BANNER_GRADIENT_PRESETS, BRAZILIAN_STATES$1 as BRAZILIAN_STATES, BadgeProgressSchema, BadgeTierSchema$2 as BadgeTierSchema, BadgesPage, BadgeInfoSchema as BadgesPageBadgeInfoSchema, BadgeTierSchema as BadgesPageBadgeTierSchema, BadgeTypeSchema as BadgesPageBadgeTypeSchema, BadgesPagePropsSchema, BathCategorySchema$2 as BathCategorySchema, BlockDialog, BrazilianStateUFSchema, CARD_CONTENT_STYLES, CATEGORY_CONFIG, CATEGORY_LABELS, CREATE_EXPERIENCE_STEP_LABELS, CREATE_EXPERIENCE_STEP_ORDER, CREATE_QUESTION_STEP_LABELS, CREATE_QUESTION_STEP_ORDER, CellphoneInput, CellphoneInputPropsSchema, CompletenessCard, ConnectionButton, ContactArraySchema, ContactPage, ContactPagePropsSchema, ContactSchema, ContactSectionCardPropsSchema, ContributionImpactCard, CopyTargetSchema, CreateExperiencePage, CreateExperienceValuesSchema, CreateIngressoPage, CreateQuestionPage, CreateQuestionValuesSchema, CredentialsApiErrorSchema, CredentialsDataSchema, CredentialsFormStateSchema, CredentialsPage, CredentialsPagePropsSchema, CredentialsValidationErrorsSchema, CustomBannerGradientPresetSchema, DAILY_MESSAGE_POOL, DEFAULT_BANNER_GRADIENT_KEY, DEFAULT_HOME_WIDGET_ORDER, DEFAULT_HOME_WIDGET_VISIBILITY, DailyRitualCard, DescriptionBox$3 as DescriptionBox, DetailedPermissionSchema, EMPTY_ELEMENT_SIZE, EMPTY_ELEMENT_SIZE as EMPTY_SLOT_SIZE, EVENT_STEP_ORDER, EditEventPage, EditJourneyPage, EventAISuggestionsPage, EventBasicInfoSchema, EventChatActivitiesPicker, EventChatInsumosPicker, EventChatLocationPicker, EventChatMembersPicker, EventChatTypePicker, EventCheckinWindowSchema, EventDateTimeSchema, EventDetailPage$1 as EventDetailPage, EventFormChatSummaryCard, EventFormValuesSchema, InsumosSelectionSchema as EventInsumosSelectionSchema, EventLocationSchema, EventOnboardingPage, EventParticipantsSchema, EventProfileBlockedPage, EventPublicationFormChatSummaryCard, EventTicketingManagementPage, EventsPage, ExperienceCard, ExperienceCategoryBadge, ExperienceCategorySchema, ExperienceCommentRow, ExperienceCommentSchema, ExperienceCommentsSheet, ExperienceComposer, ExperienceDetailPage, ExperienceDetailView, ExperienceEngageMenu, ExperiencePostTypeBadge, ExperiencePostTypeSchema, ExperienceReactionBar, ExperienceReactionTypeSchema, ExperienceSchema, ExpiredLinkPage, FORM_CONFIG, FacebookAuthButton, FilterDrawerShellPropsSchema, FinanceMetricCard$1 as FinanceMetricCard, FinancialAccountPage, FinancialAccountsList$1 as FinancialAccountsList, FinancialOverviewCard, FinancialRegisterPage, FinancialTransparencyPage, ForbiddenPage, ForgotPasswordPage, FormChatAssistant, FormChatListSelect, FormChatPickerDrawer, FormChatSelectionBar, GLOW_EFFECT, GamificationBadgeSchema, GamificationBadgeTierEnum, GamificationBadgeTypeEnum, GamificationCard, GamificationCardPropsSchema, GamificationHelpPage, GamificationHelpPagePropsSchema, GamificationHelpTopicSchema, GamificationSummarySchema, GoogleAuthButton, HOME_BELL_NOTIFICATION_LIMIT, HOME_MEASURE_SLOTS, HOME_WIDGETS_CATALOG, HomePage, Image$1 as Image, ImageButton, IncomeListPage$1 as IncomeListPage, IncomingFinancialPage, InfiniteScroll, InfiniteScrollPropsSchema, InstallPrompt, InsumosAvatarGroup, InventoryItemDetail$1 as InventoryItemDetailPage, InventoryItemOnboardingPage, InventoryListItemPage, InventoryListPage, InviteCard$1 as InviteCard, InviteLandingPage, InviteLandingPagePropsSchema, InviteLandingViewStateSchema, InviteTerreiroInfoSchema, JoinTerreiroPage, JourneyProfile, JourneyProfilePage, LAYOUT, LabeledBrazilianStateSelect, LabeledBrazilianStateSelectPropsSchema, LabeledDatePickerPropsSchema, LabeledFieldHeaderPropsSchema, LabeledMinuteInput, LabeledMonthPickerPropsSchema, LabeledTextField$1 as LabeledTextField, LabeledTimePicker, LeaderboardPage, LeaderboardPagePropsSchema, LoadMoreResultSchema, Loading, LunarEclipseSchema, MeasuredLayoutProvider, MediumBadgeSchema, MediumFinancialTransparencyPage, MediumHubPage, MediumListPage, MediumPage, MediumPointsSchema, MediumProfilePage, MediumProfileViewPage$1 as MediumProfileViewPage, MediumStatus$1 as MediumStatus, MemberListItem$1 as MemberListItem, MonthlyFeeInfoSchema, MonthlyFeePage, MonthlyFeePaymentsManagementPage, MoonApiResponseSchema, MoonCard, MoonCardContent, MoonCardPropsSchema, MoonCardSkeleton, MoonDataSchema, MoonDetailedSchema, MoonEventsSchema, MoonPositionSchema, MoonZodiacSchema, MyPermissionsDetailedSchema, MyPermissionsPage, MyPermissionsPagePropsSchema, NearbyTerreiroSearchPage, NotFoundPage, NotificationSettingsPage, NotificationSettingsPagePropsSchema, NotificationsPage, ONBOARDING_TERREIRO_STEPS, ORIGIN_LABELS, OnboardingFormChatPanel, OnboardingFormChatSummaryCard, OnboardingIntroModal, OnboardingMediumPage, OnboardingPage, OnboardingTerreiroPage$1 as OnboardingTerreiroPage, OnboardingTerreiroPagePropsSchema, OutcomeListPage$1 as OutcomeListPage, OutgoingFinancialPage, PAYMENT_METHOD_OPTIONS$1 as PAYMENT_METHOD_OPTIONS, PIX_KEY_TYPE_OPTIONS, POST_TYPE_LABELS, PROFILE_SECTION_CONFIG, PROFILE_SECTION_WEIGHTS, PWAUpdatePromptUI, PageHeader$2 as PageHeader, PaginationInfoSchema, ParticipationResponseButtons$1 as ParticipationResponseButtons, ParticipationStatusBadge$1 as ParticipationStatusBadge, ParticipationStatusLabels, PasskeyCredentialSchema, PasskeyEnrollmentPrompt, PasskeyLoginDialog, PasswordInfoSchemaWithConfirmation, PasswordVisibilitySchema, PaymentStatusBanner, PeerMessageList, PendingApprovalBlockedPage, PermissionSelector, PermissionStatsSchema, PersonalInfoSchema, PhaseEventSchema, PlanChangePayloadSchema, PlanManagementPage, PlanManagementPagePropsSchema, PointsSummarySchema, PositionInfoSchema, PostGiraPrompt, PrivacySelector, ProfileCompletenessCard, ProfileDetailsPage, PublicEventTicketPage, PublicExperiencePreviewSchema, PublicProfilePreviewSchema, PublicQuestionPreviewSchema, PublicSocialPreviewDataSchema, PublicSocialPreviewPage, PublicTerreiroAgendaPage, QUESTION_SOURCE_LABELS, QUICK_ONBOARDING_TERREIRO_STEPS, QUICK_TERREIRO_ONBOARDING_FIELDS_BY_STEP, QrAnalyticsEventNameSchema, QrLandingPage, QrLandingPagePropsSchema, QrScannerSurface$1 as QrScannerSurface, QrTrackingEventSchema, QrTrackingPayloadSchema, QrVariantSchema, QuestionAnswerCard, QuestionAnswerSchema, QuestionAnswersSheet, QuestionCard, QuestionComposer, QuestionDetailPage, QuestionSchema, QuestionSourceBadge, QuestionSourceSchema, QuestionsPage, QuickActionSchema$1 as QuickActionSchema, QuickActions, QuickActionsPropsSchema, QuickMediumOnboardingFormStateSchema, QuickPersonalInfoSchema, QuickPersonalInfoStep, QuickTerreiroOnboardingFormStateSchema, QuickTerreiroPersonalInfoSchema, QuickTerreiroStepValidationSchemas, QuotaBehaviorSchema, QuotaGuard, QuotaGuardPropsSchema, QuotaStatusSchema, QuotaSummaryCard, QuotaSummaryCardPropsSchema, RADIUS, RANKING_PERIOD_LABELS, RANKING_SCOPE_LABELS, REACTION_LABELS, REPORT_REASON_LABELS, RankingEntrySchema, RankingPeriodEnum, RankingResultSchema, RankingScopeEnum, ReasonDialog$1 as ReasonDialog, ReasonDialogPropsSchema, ReligionSchema, ReportDialog, ResetPasswordPage, BasicInfoStepSchema as RitualBathBasicInfoStepSchema, RitualBathDetailPage$1 as RitualBathDetailPage, RitualBathDetailPagePropsSchema, RitualBathDetailSchema, RitualBathFilterSchema, RitualBathFormValuesSchema, RitualBathIngredientSchema$2 as RitualBathIngredientSchema, IngredientsStepSchema as RitualBathIngredientsStepSchema, RitualBathItemSchema, BathCategorySchema$1 as RitualBathListCategorySchema, RitualBathListPage, RitualBathOccurrenceSchema, RitualBathOnboardingPage, RitualBathOriginSchema, OriginStepSchema as RitualBathOriginStepSchema, RitualBathScheduleFormSchema, RitualBathSchedulePage, RitualBathSchedulePagePropsSchema, RitualBathScheduleSummarySchema, RitualBathStatusSchema, RitualBathStepSchema$2 as RitualBathStepSchema, RitualBathStepTypeSchema, StepsStepSchema as RitualBathStepsStepSchema, RitualCard, RoleFormPage, RoleFormValuesSchema, RoleInfoSchema, RoleManagementPage, RoleSchema, SKELETON_SIZES, SOCIAL_BIO_MAX_LENGTH, SOCIAL_DISPLAY_NAME_MAX_LENGTH, SOCIAL_HOME_BOTTOM_NAV_CLEARANCE, SOCIAL_HOME_BOTTOM_NAV_FLOAT_MB, SOCIAL_HOME_BOTTOM_NAV_HEIGHT, SOCIAL_HOME_HEADER_HEIGHT, SOCIAL_ONBOARDING_INTRO_STEPS, SOCIAL_ONBOARDING_STEP_LABELS, SOCIAL_ONBOARDING_STEP_ORDER, SOCIAL_TRADITION_MAX_LENGTH, SOCIAL_USERNAME_MAX_LENGTH, STATUS_COLORS, STATUS_LABELS, STEP_ORDER, STEP_TYPE_ICONS, STEP_TYPE_LABELS, ScheduleDateTimeFields$1 as ScheduleDateTimeFields, SelectField$2 as SelectField, ShareDrawerPropsSchema, SharePlatformSchema, ShareSheet, SharedExpensesCard, SigninPage, SignupPage, SimilarExperienceCard, SimilarPage, SimilarPeopleCard, SimilarPersonSchema, SingleContactSchema, SocialAccountDrawer, SocialAuthorSchema, SocialConnectionsPage, SocialConversationPage, SocialConversationPeerSchema, SocialConversationRow, SocialConversationSchema, SocialCreateActionsSheet, SocialDeleteConfirmDialog, SocialDiscoverPage, SocialEditTextDialog, SocialEmptyState, SocialErrorState, SocialFeedItemSchema, SocialHomeBottomNav, SocialHomeCurrentUserSchema, SocialHomeHeader, SocialHomePage, SocialInboxPage, SocialMessageBubble, SocialMessageComposer, SocialMessageDeliveryStatusSchema, SocialMessageSchema, SocialNotificationsPage, SocialOnboardingIntro, SocialOnboardingPage, SocialOnboardingValuesSchema, SocialPrivacySettingsPage, SocialProfileFieldsSchema, SocialProfileSchema, SocialReadOnlyNotice, SocialReportReasonSchema, SocialSavedPage, SocialSkeleton, SocialUnreadIndicator, SocialUsernameSchema, SocialVerificationEarnedCelebration, SocialVerificationProgressSheet, SocialVisibilitySchema, SpiritualFormChatSummaryCard, SpiritualProfilePage, StreakInfoSchema, SubscriptionGuard, SubscriptionProvider, SubscriptionRequiredForMediumPage, SuggestionsCarousel, SupplyPlanBlockerSchema, SupplyPlanCostsSchema, SupplyPlanItemSchema, SupplyPlanMissionSchema, SupplyPlanPage, SupplyPlanPagePropsSchema, SupplyPlanReadinessSchema, SupplyPlanSchema, SupplyPlanSourceActivitySchema, SupplyPlanSourceEventSchema, SupplyPlanSummarySchema, SystemSettingsPage, TERREIRO_COMPLETION_MESSAGES, TERREIRO_ONBOARDING_FIELDS_BY_STEP, TERREIRO_SECTION_CONFIG, TERREIRO_SECTION_WEIGHTS, TOP_BAR_HEIGHTS, TYPOGRAPHY_SCALE, TerreiroFinancialInfoSchema, TerreiroOnboardingApiErrorSchema, TerreiroOnboardingFormStateSchema, TerreiroOnboardingValidationErrorsSchema, TerreiroPersonalInfoSchema, TerreiroPolicyPage, TerreiroPolicyPagePropsSchema, TerreiroProfileDataPage$1 as TerreiroProfileDataPage, TerreiroProfilePage, TerreiroReadonlyProfilePage, TerreiroRegistrationSchema, TerreiroRegistrationWithoutPasswordSchema, TerreiroSchema$2 as TerreiroSchema, TerreiroSearchPage, TerreiroSectionCard, TerreiroSectionCardPropsSchema, TerreiroStatusSchema, TerreiroStepValidationSchemas, TerreiroSubscriptionInfoSchema, ThemeButton, ThemeProvider, TicketVoucherPage, TicketingClaimFormChatSummaryCard, TraditionBadge, UnitCostMetaSchema, UpcomingPhasesSchema, UpgradePrompt, UsageBar, UsageBarPropsSchema, UsageProvider, UsageQuotaPage, UsageQuotaPagePropsSchema, UseInfiniteScrollReturnSchema, VISIBILITY_HELPERS, VISIBILITY_LABELS, ValidationErrorsSchema, VerificationBadge, WhatsAppShareButton, WhatsNewModal, authorDisplayName, brand, buildAcademyCertificatePreviewNode, buildItemReasonText, buildMergedInsumos$1 as buildMergedInsumos, buildMergedMediums$1 as buildMergedMediums, defaultDisplayProps, defaultInputProps, drawerSheetRadius, filterSupplyPlanMissions, formatRelativeTime, formatScheduleDate, formatSecondsAsMinutesLabel, formatCurrency$1 as formatTerreiroCurrency, formatPhone as formatTerreiroPhone, generateAcademyCertificatePdf, getBannerGradient, getCardBaseStyles, getContentMarginTop, getContentPaddingTop, getCustomBannerGradient, getDateString, getDefaultHomeWidgetOrder, getHomeWidgetsForProfile, getReorderableHomeWidgetsForProfile, getSocialBannerSx, getSocialUsernameError, getTopBarExpandedHeight, getTopBarHeight, getTopBarStackHeight, installPromptPropsSchema, isDefaultHomeWidgetOrder, isPasskeySupported, isValidEmail, isValidPassword, mapPasskeyError, mapRawMemberToActivityChatOption, mediumStatusLabelsPtBr, mergeHomeWidgetOrder, mergeHomeWidgetVisibility, mockCalendarActivities, mockCalendarEvents, mockCalendarRitualBaths, mockHomePageProps, mockLoadingHomePageProps, mockMediumHomePageProps, mockMoonData, mockPendingMediumHomePageProps, mockQuickActions, mockRituals, mockSupplyPlanEmpty, mockSupplyPlanSufficientWithDemand, mockSupplyPlanWithCosts, mockSupplyPlanWithoutCosts, mockTerreiros, mockUpcomingEvents, mockUser, moveHomeWidgetInOrder, onboardingIntroModalPropsSchema, onboardingIntroModeSchema, onboardingIntroProfileContextSchema, overlayZIndex, parseScheduleDate, radiusPx, reorderHomeWidgetOrder, resolveExperiencePostType, secondsToRoundedMinutes, startPasskeyAuthentication, startPasskeyRegistration, useAcademyModulePage, useAcademyPage, useAccessBlockedPage, useActivityOnboarding, useAddressSectionCard, useAffiliateProgramPage, useAttendanceCheckinEntryPage, useAttendanceInsightsPage, useAvatarWithBadge, useBadgesPage, useCellphoneInput, useCompletenessCard, useContactPage, useContentClearance, useCredentialsPage, useElementSize, useEventAISuggestionsPage, useFilterDrawer, useFinancialRegister, useFinancialTransparencyPage, useFormChatAssistant, useGamificationCard, useGamificationHelpPage, useHideOnScroll, useHomePage, useInfiniteScroll, useInstallPrompt, useInventoryListItemPage, useInventoryListPage, useInviteLandingPage, useJoinTerreiroPage, useLabeledBrazilianStateSelect, useLeaderboardPage, useMeasureSlot, useMeasuredLayoutContext, useMeasuredSlot, useMediumFinancialTransparencyPage, useMediumHubPage, useMemberListItem, useMonthlyFeePaymentsManagementPage, useMoonCard, useMyPermissionsPage, useNotFoundPage, useNotificationSettingsPage, useOnboardingIntroModal, useOnboardingMedium, useOnboardingPage, useOnboardingTerreiro, useOptionalMeasuredLayoutContext, useOptionalUsageContext, usePWAUpdatePromptUI, usePermissionSelector, usePlanManagementPage, useProfileCompletenessCard, useQrLandingPage, useQuotaGuard, useRitualBathDetailPage, useRitualBathListPage, useRitualBathOnboarding, useRoleFormPage, useRoleManagementPage, useSelectMediumsPage, useSpiritualProfilePage, useSubscription, useSubscriptionContext, useSubscriptionGuard, useSupplyPlanPage, useTerreiroPolicyPage, useTerreiroProfileDataPage, useTerreiroProfilePage$1 as useTerreiroProfilePage, useTerreiroSectionCard, useThemeProvider, useUpgradePrompt, useUsageContext, useUsageQuota, useUsageQuotaPage, useVerificationBadge, useWhatsNewModal, validateEmail$1 as validateEmail, validatePassword$1 as validatePassword, validatePhoneNumber, validateCurrency as validateTerreiroCurrency, validateDueDay as validateTerreiroDueDay, validatePassword as validateTerreiroPassword, validatePasswordConfirmation as validateTerreiroPasswordConfirmation, validatePhone as validateTerreiroPhone, whatsNewAnnouncementSchema, whatsNewModalPropsSchema, whatsNewSlideSchema };
|
|
194827
195617
|
//# sourceMappingURL=bundle.esm.js.map
|