gsintegrations 0.0.487 → 0.0.489
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 +573 -386
- package/dist/bundle.cjs.js.map +2 -2
- package/dist/bundle.esm.js +571 -387
- package/dist/bundle.esm.js.map +2 -2
- package/dist/index.d.ts +55 -26
- package/dist/types/components/molecules/FinanceMobilePeriodBar/FinanceMobilePeriodBar.d.ts +13 -0
- package/dist/types/components/molecules/FinanceMobilePeriodBar/index.d.ts +2 -0
- package/dist/types/components/molecules/index.d.ts +1 -0
- package/dist/types/components/shared/CompactListRow/CompactListRow.d.ts +19 -0
- package/dist/types/components/shared/CompactListRow/index.d.ts +3 -0
- package/dist/types/components/shared/index.d.ts +2 -0
- package/dist/types/pages/ActivityListPage/ActivityListPage.types.d.ts +3 -3
- package/dist/types/pages/EventsPage/EventsPage.types.d.ts +4 -4
- package/dist/types/pages/FinancialAccountsList/FinancialAccountsList.d.ts +3 -3
- package/dist/types/pages/FinancialAccountsList/FinancialAccountsList.types.d.ts +6 -6
- package/dist/types/pages/IncomeListPage/IncomeListPage.d.ts +4 -4
- package/dist/types/pages/IncomeListPage/IncomeListPage.types.d.ts +8 -8
- package/dist/types/pages/OutcomeListPage/OutcomeListPage.d.ts +4 -4
- package/dist/types/pages/OutcomeListPage/OutcomeListPage.types.d.ts +8 -8
- package/dist/types/theme/spacing.d.ts +17 -0
- package/package.json +1 -1
package/dist/bundle.esm.js
CHANGED
|
@@ -58373,6 +58373,14 @@ const LIST_CARD_CONTENT_ROOT_SX = {
|
|
|
58373
58373
|
};
|
|
58374
58374
|
/** Scroll clearance above FAB / fixed bottom actions on list pages. */
|
|
58375
58375
|
const LIST_CONTENT_BOTTOM_PADDING = { xs: 11, sm: 10 };
|
|
58376
|
+
/** Fixed create button, clear of the home indicator. Hidden from `sm` up. */
|
|
58377
|
+
const LIST_FAB_BOTTOM = "calc(16px + env(safe-area-inset-bottom, 0px))";
|
|
58378
|
+
const LIST_FAB_POSITION_SX = {
|
|
58379
|
+
position: "fixed",
|
|
58380
|
+
display: { xs: "flex", sm: "none" },
|
|
58381
|
+
bottom: { xs: LIST_FAB_BOTTOM, sm: 24 },
|
|
58382
|
+
right: { xs: 16, sm: 24 },
|
|
58383
|
+
};
|
|
58376
58384
|
/** Vertical gap between form fields / sections. */
|
|
58377
58385
|
const SECTION_GAP = { xs: 2, sm: 3 };
|
|
58378
58386
|
/** Grid gap for card grids and form layouts. */
|
|
@@ -59284,6 +59292,10 @@ var TrendingUp$1 = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
|
59284
59292
|
d: "m16 6 2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"
|
|
59285
59293
|
}), 'TrendingUp');
|
|
59286
59294
|
|
|
59295
|
+
var UndoIcon = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
59296
|
+
d: "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8"
|
|
59297
|
+
}), 'Undo');
|
|
59298
|
+
|
|
59287
59299
|
var UpgradeIcon = createSvgIcon( /*#__PURE__*/jsx$1("path", {
|
|
59288
59300
|
d: "M16 18v2H8v-2zM11 7.99V16h2V7.99h3L12 4 8 7.99z"
|
|
59289
59301
|
}), 'Upgrade');
|
|
@@ -90513,6 +90525,145 @@ const AttendanceCheckinCta = ({ contextLabel, isSubmitting = false, onOpen, }) =
|
|
|
90513
90525
|
};
|
|
90514
90526
|
var AttendanceCheckinCta$1 = React__default.memo(AttendanceCheckinCta);
|
|
90515
90527
|
|
|
90528
|
+
const DATE_ONLY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
|
|
90529
|
+
const UTC_MIDNIGHT_ISO_PATTERN = /^(\d{4}-\d{2}-\d{2})T00:00:00(?:\.\d{1,3})?Z$/;
|
|
90530
|
+
const isDateOnlyString = (value) => typeof value === "string" && DATE_ONLY_PATTERN.test(value);
|
|
90531
|
+
const parseDateOnlyToLocalDate = (dateOnly) => {
|
|
90532
|
+
if (!isDateOnlyString(dateOnly)) {
|
|
90533
|
+
throw new Error(`Invalid date-only value: "${dateOnly}". Expected format YYYY-MM-DD`);
|
|
90534
|
+
}
|
|
90535
|
+
const [year, month, day] = dateOnly.split("-").map(Number);
|
|
90536
|
+
return new Date(year, month - 1, day);
|
|
90537
|
+
};
|
|
90538
|
+
const parseUtcMidnightIsoToLocalDate = (value) => {
|
|
90539
|
+
const match = value.match(UTC_MIDNIGHT_ISO_PATTERN);
|
|
90540
|
+
if (!match) {
|
|
90541
|
+
return null;
|
|
90542
|
+
}
|
|
90543
|
+
return parseDateOnlyToLocalDate(match[1]);
|
|
90544
|
+
};
|
|
90545
|
+
const normalizeDateInputToLocalDate = (value) => {
|
|
90546
|
+
if (value instanceof Date) {
|
|
90547
|
+
return value;
|
|
90548
|
+
}
|
|
90549
|
+
if (isDateOnlyString(value)) {
|
|
90550
|
+
return parseDateOnlyToLocalDate(value);
|
|
90551
|
+
}
|
|
90552
|
+
const parsedUtcMidnight = parseUtcMidnightIsoToLocalDate(value);
|
|
90553
|
+
if (parsedUtcMidnight) {
|
|
90554
|
+
return parsedUtcMidnight;
|
|
90555
|
+
}
|
|
90556
|
+
const parsed = new Date(value);
|
|
90557
|
+
return parsed;
|
|
90558
|
+
};
|
|
90559
|
+
const toValidDateOrNull = (value) => {
|
|
90560
|
+
if (!value) {
|
|
90561
|
+
return null;
|
|
90562
|
+
}
|
|
90563
|
+
const parsed = normalizeDateInputToLocalDate(value);
|
|
90564
|
+
return Number.isNaN(parsed.getTime()) ? null : parsed;
|
|
90565
|
+
};
|
|
90566
|
+
const formatDateInputToDateOnly = (value) => {
|
|
90567
|
+
if (typeof value === "string" && isDateOnlyString(value)) {
|
|
90568
|
+
return value;
|
|
90569
|
+
}
|
|
90570
|
+
const date = normalizeDateInputToLocalDate(value);
|
|
90571
|
+
if (Number.isNaN(date.getTime())) {
|
|
90572
|
+
throw new Error(`Invalid date input: "${value}"`);
|
|
90573
|
+
}
|
|
90574
|
+
const year = date.getFullYear();
|
|
90575
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
90576
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
90577
|
+
return `${year}-${month}-${day}`;
|
|
90578
|
+
};
|
|
90579
|
+
const formatDateForDisplay = (value, locale = "pt-BR", options = {
|
|
90580
|
+
day: "2-digit",
|
|
90581
|
+
month: "long",
|
|
90582
|
+
year: "numeric",
|
|
90583
|
+
}) => {
|
|
90584
|
+
const date = value instanceof Date
|
|
90585
|
+
? value
|
|
90586
|
+
: normalizeDateInputToLocalDate(value);
|
|
90587
|
+
if (isNaN(date.getTime())) {
|
|
90588
|
+
return String(value);
|
|
90589
|
+
}
|
|
90590
|
+
return date.toLocaleDateString(locale, options);
|
|
90591
|
+
};
|
|
90592
|
+
|
|
90593
|
+
const compactListDateParts = (value) => {
|
|
90594
|
+
const date = toValidDateOrNull(value);
|
|
90595
|
+
if (!date)
|
|
90596
|
+
return null;
|
|
90597
|
+
const month = date
|
|
90598
|
+
.toLocaleDateString("pt-BR", { month: "short" })
|
|
90599
|
+
.replace(".", "");
|
|
90600
|
+
return {
|
|
90601
|
+
day: String(date.getDate()).padStart(2, "0"),
|
|
90602
|
+
month,
|
|
90603
|
+
};
|
|
90604
|
+
};
|
|
90605
|
+
const CompactListDateBlock = ({ day, month, }) => (React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
90606
|
+
width: 44,
|
|
90607
|
+
flexShrink: 0,
|
|
90608
|
+
textAlign: "center",
|
|
90609
|
+
lineHeight: 1.1,
|
|
90610
|
+
} },
|
|
90611
|
+
React__default.createElement(Typography$1, { component: "span", sx: { display: "block", fontWeight: 700, fontSize: "1rem" } }, day),
|
|
90612
|
+
React__default.createElement(Typography$1, { component: "span", sx: {
|
|
90613
|
+
display: "block",
|
|
90614
|
+
fontSize: "0.7rem",
|
|
90615
|
+
textTransform: "lowercase",
|
|
90616
|
+
color: "text.secondary",
|
|
90617
|
+
} }, month)));
|
|
90618
|
+
const CompactListRow = ({ title, meta, leading, trailing, onClick, isLast = false, ariaLabel, testId, }) => {
|
|
90619
|
+
const interactive = Boolean(onClick);
|
|
90620
|
+
return (React__default.createElement(Box$1, { "data-testid": testId, role: interactive ? "button" : undefined, tabIndex: interactive ? 0 : undefined, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : (interactive ? title : undefined), onClick: onClick, onKeyDown: (event) => {
|
|
90621
|
+
if (!onClick)
|
|
90622
|
+
return;
|
|
90623
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
90624
|
+
event.preventDefault();
|
|
90625
|
+
onClick();
|
|
90626
|
+
}
|
|
90627
|
+
}, sx: {
|
|
90628
|
+
display: "flex",
|
|
90629
|
+
alignItems: "center",
|
|
90630
|
+
gap: 1.5,
|
|
90631
|
+
width: "100%",
|
|
90632
|
+
textAlign: "left",
|
|
90633
|
+
py: 1.25,
|
|
90634
|
+
px: 1.5,
|
|
90635
|
+
minHeight: 64,
|
|
90636
|
+
cursor: interactive ? "pointer" : "default",
|
|
90637
|
+
border: 0,
|
|
90638
|
+
borderBottom: isLast ? "none" : 1,
|
|
90639
|
+
borderColor: "divider",
|
|
90640
|
+
bgcolor: "transparent",
|
|
90641
|
+
"&:focus-visible": {
|
|
90642
|
+
outline: (theme) => `2px solid ${theme.palette.primary.main}`,
|
|
90643
|
+
outlineOffset: -2,
|
|
90644
|
+
},
|
|
90645
|
+
} },
|
|
90646
|
+
leading,
|
|
90647
|
+
React__default.createElement(Box$1, { sx: { flex: 1, minWidth: 0 } },
|
|
90648
|
+
React__default.createElement(Typography$1, { component: "span", title: title, sx: {
|
|
90649
|
+
display: "-webkit-box",
|
|
90650
|
+
WebkitLineClamp: 2,
|
|
90651
|
+
WebkitBoxOrient: "vertical",
|
|
90652
|
+
overflow: "hidden",
|
|
90653
|
+
fontWeight: 600,
|
|
90654
|
+
fontSize: "0.95rem",
|
|
90655
|
+
lineHeight: 1.3,
|
|
90656
|
+
} }, title),
|
|
90657
|
+
meta ? (React__default.createElement(Typography$1, { component: "span", variant: "body2", color: "text.secondary", sx: {
|
|
90658
|
+
display: "block",
|
|
90659
|
+
mt: 0.25,
|
|
90660
|
+
overflow: "hidden",
|
|
90661
|
+
textOverflow: "ellipsis",
|
|
90662
|
+
whiteSpace: "nowrap",
|
|
90663
|
+
} }, meta)) : null),
|
|
90664
|
+
trailing ? (React__default.createElement(Box$1, { onClick: (event) => event.stopPropagation(), onKeyDown: (event) => event.stopPropagation(), sx: { flexShrink: 0, display: "flex", alignItems: "center" } }, trailing)) : null));
|
|
90665
|
+
};
|
|
90666
|
+
|
|
90516
90667
|
/**
|
|
90517
90668
|
* @module constants
|
|
90518
90669
|
* @summary Useful constants
|
|
@@ -116392,6 +116543,210 @@ const FinanceMetricCard$1 = memo(({ title, value, month, year, periodLabel, colo
|
|
|
116392
116543
|
});
|
|
116393
116544
|
FinanceMetricCard$1.displayName = "FinanceMetricCard";
|
|
116394
116545
|
|
|
116546
|
+
const GenericDrawer = ({ open, onClose, onOpen, anchor = "bottom", zIndex, fullHeight = false, disableEnforceFocus = false, "aria-label": ariaLabel, children, }) => {
|
|
116547
|
+
const theme = useTheme$1();
|
|
116548
|
+
const isVerticalAnchor = anchor === "bottom" || anchor === "top";
|
|
116549
|
+
const isSideAnchor = anchor === "left" || anchor === "right";
|
|
116550
|
+
const showHandle = anchor === "bottom";
|
|
116551
|
+
const verticalMaxHeight = fullHeight ? "100dvh" : "70dvh";
|
|
116552
|
+
return (React__default.createElement(SwipeableDrawer$1, { anchor: anchor, open: open, onClose: onClose, onOpen: onOpen !== null && onOpen !== void 0 ? onOpen : (() => {
|
|
116553
|
+
/* no-op */
|
|
116554
|
+
}), disableEnforceFocus: disableEnforceFocus, "aria-label": ariaLabel, PaperProps: {
|
|
116555
|
+
role: ariaLabel ? "dialog" : undefined,
|
|
116556
|
+
"aria-label": ariaLabel,
|
|
116557
|
+
"aria-modal": ariaLabel ? true : undefined,
|
|
116558
|
+
sx: Object.assign(Object.assign({ display: "flex", flexDirection: "column", borderRadius: drawerSheetRadius(anchor, theme), backgroundColor: theme.palette.mode === "dark"
|
|
116559
|
+
? "rgba(0,0,0,0.95)"
|
|
116560
|
+
: "rgba(255,255,255,0.95)", backdropFilter: "blur(20px)", border: `1px solid ${theme.palette.divider}`, width: "100%", maxWidth: `${theme.breakpoints.values.md}px`, marginX: "auto", left: isVerticalAnchor ? 0 : undefined, right: isVerticalAnchor ? 0 : undefined }, (isVerticalAnchor
|
|
116561
|
+
? Object.assign({ maxHeight: verticalMaxHeight }, (fullHeight ? { height: "100dvh" } : {})) : { maxHeight: "100dvh" })), (isSideAnchor
|
|
116562
|
+
? {
|
|
116563
|
+
top: 0,
|
|
116564
|
+
bottom: 0,
|
|
116565
|
+
["@media (min-width:600px)"]: {
|
|
116566
|
+
top: 0,
|
|
116567
|
+
bottom: 0,
|
|
116568
|
+
height: "min(90dvh, 900px)",
|
|
116569
|
+
marginY: "auto",
|
|
116570
|
+
},
|
|
116571
|
+
}
|
|
116572
|
+
: {})),
|
|
116573
|
+
}, sx: Object.assign({}, (zIndex !== undefined ? { zIndex } : {})) },
|
|
116574
|
+
showHandle && (React__default.createElement(Box$1, { component: "button", type: "button", "aria-label": "Fechar", "data-testid": "generic-drawer-handle", onClick: onClose, sx: {
|
|
116575
|
+
display: "flex",
|
|
116576
|
+
alignItems: "center",
|
|
116577
|
+
justifyContent: "center",
|
|
116578
|
+
flexShrink: 0,
|
|
116579
|
+
width: "100%",
|
|
116580
|
+
minHeight: 44,
|
|
116581
|
+
pt: 1,
|
|
116582
|
+
pb: 0.5,
|
|
116583
|
+
px: 2,
|
|
116584
|
+
border: "none",
|
|
116585
|
+
background: "transparent",
|
|
116586
|
+
cursor: "pointer",
|
|
116587
|
+
WebkitTapHighlightColor: "transparent",
|
|
116588
|
+
"&:focus-visible": {
|
|
116589
|
+
outline: `2px solid ${theme.palette.primary.main}`,
|
|
116590
|
+
outlineOffset: -2,
|
|
116591
|
+
},
|
|
116592
|
+
} },
|
|
116593
|
+
React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
116594
|
+
width: 36,
|
|
116595
|
+
height: 4,
|
|
116596
|
+
borderRadius: RADIUS.pill,
|
|
116597
|
+
bgcolor: alpha(theme.palette.text.primary, 0.28),
|
|
116598
|
+
} }))),
|
|
116599
|
+
children));
|
|
116600
|
+
};
|
|
116601
|
+
|
|
116602
|
+
const COMPETENCE_MONTH_REGEX = /^(\d{4})-(0[1-9]|1[0-2])$/;
|
|
116603
|
+
const isValidCompetenceMonth = (value) => typeof value === "string" && COMPETENCE_MONTH_REGEX.test(value);
|
|
116604
|
+
const parseCompetenceMonth = (value) => {
|
|
116605
|
+
if (!isValidCompetenceMonth(value)) {
|
|
116606
|
+
return null;
|
|
116607
|
+
}
|
|
116608
|
+
const [yearText, monthText] = value.split("-");
|
|
116609
|
+
const year = Number(yearText);
|
|
116610
|
+
const month = Number(monthText);
|
|
116611
|
+
return new Date(year, month - 1, 1);
|
|
116612
|
+
};
|
|
116613
|
+
const toCompetenceMonth = (date) => {
|
|
116614
|
+
if (!date || Number.isNaN(date.getTime())) {
|
|
116615
|
+
return "";
|
|
116616
|
+
}
|
|
116617
|
+
const year = date.getFullYear();
|
|
116618
|
+
const month = `${date.getMonth() + 1}`.padStart(2, "0");
|
|
116619
|
+
return `${year}-${month}`;
|
|
116620
|
+
};
|
|
116621
|
+
const formatCompetenceMonthPtBr = (value, options) => {
|
|
116622
|
+
var _a, _b;
|
|
116623
|
+
if (!value)
|
|
116624
|
+
return "-";
|
|
116625
|
+
const date = parseCompetenceMonth(value);
|
|
116626
|
+
if (!date)
|
|
116627
|
+
return value;
|
|
116628
|
+
const monthFormat = (_a = options === null || options === void 0 ? void 0 : options.monthFormat) !== null && _a !== void 0 ? _a : "long";
|
|
116629
|
+
const capitalize = (_b = options === null || options === void 0 ? void 0 : options.capitalize) !== null && _b !== void 0 ? _b : true;
|
|
116630
|
+
const formatted = date.toLocaleDateString("pt-BR", {
|
|
116631
|
+
month: monthFormat,
|
|
116632
|
+
year: "numeric",
|
|
116633
|
+
});
|
|
116634
|
+
if (!capitalize || formatted.length === 0) {
|
|
116635
|
+
return formatted;
|
|
116636
|
+
}
|
|
116637
|
+
return formatted.charAt(0).toUpperCase() + formatted.slice(1);
|
|
116638
|
+
};
|
|
116639
|
+
|
|
116640
|
+
const useLabeledMonthPicker = (props) => {
|
|
116641
|
+
const { value, onChange, minMonth, maxMonth, disabled } = props;
|
|
116642
|
+
const parsedValue = useMemo(() => parseCompetenceMonth(value), [value]);
|
|
116643
|
+
const parsedMinMonth = useMemo(() => parseCompetenceMonth(minMonth), [minMonth]);
|
|
116644
|
+
const parsedMaxMonth = useMemo(() => parseCompetenceMonth(maxMonth), [maxMonth]);
|
|
116645
|
+
const isOutOfRange = useMemo(() => {
|
|
116646
|
+
if (!parsedValue)
|
|
116647
|
+
return false;
|
|
116648
|
+
if (parsedMinMonth && parsedValue < parsedMinMonth)
|
|
116649
|
+
return true;
|
|
116650
|
+
if (parsedMaxMonth && parsedValue > parsedMaxMonth)
|
|
116651
|
+
return true;
|
|
116652
|
+
return false;
|
|
116653
|
+
}, [parsedValue, parsedMinMonth, parsedMaxMonth]);
|
|
116654
|
+
const hasInvalidValue = useMemo(() => value.length > 0 && !isValidCompetenceMonth(value), [value]);
|
|
116655
|
+
const handleMonthChange = useCallback((nextDate) => {
|
|
116656
|
+
if (disabled)
|
|
116657
|
+
return;
|
|
116658
|
+
onChange(toCompetenceMonth(nextDate));
|
|
116659
|
+
}, [disabled, onChange]);
|
|
116660
|
+
const data = useMemo(() => ({
|
|
116661
|
+
parsedValue,
|
|
116662
|
+
parsedMinMonth,
|
|
116663
|
+
parsedMaxMonth,
|
|
116664
|
+
isOutOfRange,
|
|
116665
|
+
hasInvalidValue,
|
|
116666
|
+
}), [
|
|
116667
|
+
parsedValue,
|
|
116668
|
+
parsedMinMonth,
|
|
116669
|
+
parsedMaxMonth,
|
|
116670
|
+
isOutOfRange,
|
|
116671
|
+
hasInvalidValue,
|
|
116672
|
+
]);
|
|
116673
|
+
const fns = useMemo(() => ({
|
|
116674
|
+
handleMonthChange,
|
|
116675
|
+
}), [handleMonthChange]);
|
|
116676
|
+
return { data, fns };
|
|
116677
|
+
};
|
|
116678
|
+
|
|
116679
|
+
const LabeledMonthPicker = (props) => {
|
|
116680
|
+
var _a, _b;
|
|
116681
|
+
const { label, error, helperText, disabled, required, "data-testid": dataTestId, } = props;
|
|
116682
|
+
const { data, fns } = useLabeledMonthPicker(props);
|
|
116683
|
+
return (React__default.createElement(LocalizationProvider, { dateAdapter: AdapterDateFns, adapterLocale: ptBR },
|
|
116684
|
+
React__default.createElement(Box$1, null,
|
|
116685
|
+
React__default.createElement(DatePicker, { value: data.parsedValue, onChange: fns.handleMonthChange, views: ["year", "month"], openTo: "month", minDate: (_a = data.parsedMinMonth) !== null && _a !== void 0 ? _a : undefined, maxDate: (_b = data.parsedMaxMonth) !== null && _b !== void 0 ? _b : undefined, disabled: disabled, format: "MMMM 'de' yyyy", slotProps: {
|
|
116686
|
+
textField: {
|
|
116687
|
+
label,
|
|
116688
|
+
required,
|
|
116689
|
+
fullWidth: true,
|
|
116690
|
+
error: !!error || data.isOutOfRange || data.hasInvalidValue,
|
|
116691
|
+
helperText: error ||
|
|
116692
|
+
(data.hasInvalidValue
|
|
116693
|
+
? "Mês de referência inválido."
|
|
116694
|
+
: data.isOutOfRange
|
|
116695
|
+
? "Mês de referência fora do intervalo permitido"
|
|
116696
|
+
: helperText),
|
|
116697
|
+
InputProps: {
|
|
116698
|
+
readOnly: true,
|
|
116699
|
+
},
|
|
116700
|
+
InputLabelProps: {
|
|
116701
|
+
shrink: true,
|
|
116702
|
+
},
|
|
116703
|
+
inputProps: {
|
|
116704
|
+
"data-testid": dataTestId,
|
|
116705
|
+
},
|
|
116706
|
+
},
|
|
116707
|
+
} }))));
|
|
116708
|
+
};
|
|
116709
|
+
|
|
116710
|
+
const LabeledMonthPickerPropsSchema = objectType({
|
|
116711
|
+
label: stringType(),
|
|
116712
|
+
value: stringType(),
|
|
116713
|
+
onChange: functionType(tupleType([stringType()]), voidType()),
|
|
116714
|
+
error: stringType().optional(),
|
|
116715
|
+
helperText: stringType().optional(),
|
|
116716
|
+
disabled: booleanType().optional(),
|
|
116717
|
+
required: booleanType().optional(),
|
|
116718
|
+
minMonth: stringType().optional(),
|
|
116719
|
+
maxMonth: stringType().optional(),
|
|
116720
|
+
"data-testid": stringType().optional(),
|
|
116721
|
+
});
|
|
116722
|
+
|
|
116723
|
+
const FinanceMobilePeriodBar = ({ periodLabel, amountLabel, periodInputValue, periodInputMin, periodInputMax, onPeriodInputChange, onResetToCurrentPeriod, testIdPrefix, }) => {
|
|
116724
|
+
const [open, setOpen] = useState(false);
|
|
116725
|
+
const summary = `${periodLabel || "-"} · ${amountLabel}`;
|
|
116726
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
116727
|
+
React__default.createElement(Button$1, { fullWidth: true, variant: "text", color: "inherit", onClick: () => setOpen(true), "aria-label": `Alterar competência, ${summary}`, "data-testid": `${testIdPrefix}-period-summary`, sx: {
|
|
116728
|
+
justifyContent: "flex-start",
|
|
116729
|
+
minHeight: 44,
|
|
116730
|
+
px: 1.5,
|
|
116731
|
+
py: 1,
|
|
116732
|
+
mb: 1,
|
|
116733
|
+
textTransform: "none",
|
|
116734
|
+
bgcolor: "background.paper",
|
|
116735
|
+
border: 1,
|
|
116736
|
+
borderColor: "divider",
|
|
116737
|
+
borderRadius: 1,
|
|
116738
|
+
} },
|
|
116739
|
+
React__default.createElement(Typography$1, { component: "span", fontWeight: 600, noWrap: true }, summary)),
|
|
116740
|
+
React__default.createElement(GenericDrawer, { anchor: "bottom", open: open, onClose: () => setOpen(false), "aria-label": "Compet\u00EAncia" },
|
|
116741
|
+
React__default.createElement(Stack$1, { spacing: 2, sx: { px: 2, pt: 1, pb: 3 } },
|
|
116742
|
+
React__default.createElement(Typography$1, { fontWeight: 700 }, "Compet\u00EAncia"),
|
|
116743
|
+
React__default.createElement(LabeledMonthPicker, { label: "Selecionar m\u00EAs", value: periodInputValue || "", onChange: (value) => onPeriodInputChange === null || onPeriodInputChange === void 0 ? void 0 : onPeriodInputChange(value), minMonth: periodInputMin || "2000-01", maxMonth: periodInputMax || "2100-12", "data-testid": `${testIdPrefix}-period-input` }),
|
|
116744
|
+
React__default.createElement(Button$1, { variant: "text", onClick: () => {
|
|
116745
|
+
onResetToCurrentPeriod === null || onResetToCurrentPeriod === void 0 ? void 0 : onResetToCurrentPeriod();
|
|
116746
|
+
setOpen(false);
|
|
116747
|
+
}, "data-testid": `${testIdPrefix}-period-current-month-button`, sx: { alignSelf: "flex-start", minHeight: 44 } }, "M\u00EAs atual")))));
|
|
116748
|
+
};
|
|
116749
|
+
|
|
116395
116750
|
const DEFAULT_MIN = 0;
|
|
116396
116751
|
const DEFAULT_MAX = 120;
|
|
116397
116752
|
const formatMinuteValue = (value, fallbackValue) => String(value !== null && value !== void 0 ? value : fallbackValue);
|
|
@@ -116474,20 +116829,35 @@ const InfoSectionCard = ({ icon, title, count, action, children, }) => (React__d
|
|
|
116474
116829
|
|
|
116475
116830
|
const PageHeaderStatusTabs = ({ tabs, selectedTab, onTabChange, }) => {
|
|
116476
116831
|
const theme = useTheme$1();
|
|
116477
|
-
|
|
116832
|
+
const selectedRef = useRef(null);
|
|
116833
|
+
useEffect(() => {
|
|
116834
|
+
var _a, _b;
|
|
116835
|
+
(_b = (_a = selectedRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
116836
|
+
inline: "nearest",
|
|
116837
|
+
block: "nearest",
|
|
116838
|
+
});
|
|
116839
|
+
}, [selectedTab]);
|
|
116840
|
+
return (React__default.createElement(Box$1, { role: "tablist", sx: {
|
|
116841
|
+
display: "flex",
|
|
116842
|
+
flexWrap: "nowrap",
|
|
116843
|
+
gap: 0.75,
|
|
116844
|
+
width: "100%",
|
|
116845
|
+
overflowX: "auto",
|
|
116846
|
+
WebkitOverflowScrolling: "touch",
|
|
116847
|
+
scrollbarWidth: "none",
|
|
116848
|
+
"&::-webkit-scrollbar": { display: "none" },
|
|
116849
|
+
} }, tabs.map((tab) => {
|
|
116478
116850
|
const isSelected = selectedTab === tab.value;
|
|
116479
|
-
return (React__default.createElement(
|
|
116480
|
-
|
|
116481
|
-
|
|
116482
|
-
|
|
116483
|
-
|
|
116484
|
-
|
|
116485
|
-
|
|
116486
|
-
|
|
116487
|
-
|
|
116488
|
-
|
|
116489
|
-
backgroundColor: theme.palette.background.paper,
|
|
116490
|
-
})) }));
|
|
116851
|
+
return (React__default.createElement(Box$1, { key: tab.value, ref: isSelected ? selectedRef : undefined, sx: { flexShrink: 0 } },
|
|
116852
|
+
React__default.createElement(Chip$1, { component: "button", type: "button", role: "tab", "aria-selected": isSelected, tabIndex: isSelected ? 0 : -1, "data-testid": tab.testId, label: tab.label, onClick: () => onTabChange(tab.value), color: isSelected ? "primary" : "default", variant: isSelected ? "filled" : "outlined", sx: Object.assign({ height: 44, minHeight: 44, borderRadius: RADIUS.default, fontWeight: isSelected ? 600 : 500, fontSize: { xs: "0.8rem", sm: "0.875rem" }, "& .MuiChip-label": {
|
|
116853
|
+
whiteSpace: "nowrap",
|
|
116854
|
+
px: 1.25,
|
|
116855
|
+
} }, (isSelected
|
|
116856
|
+
? {}
|
|
116857
|
+
: {
|
|
116858
|
+
borderColor: theme.palette.divider,
|
|
116859
|
+
backgroundColor: theme.palette.background.paper,
|
|
116860
|
+
})) })));
|
|
116491
116861
|
})));
|
|
116492
116862
|
};
|
|
116493
116863
|
const PageHeader$2 = ({ title, onBack, onAdd, addLabel = "Adicionar", showAddButton = true, hideAddButtonOnMobile = false, tabs, selectedTab, onTabChange, startAdornment, endAction, }) => {
|
|
@@ -117662,62 +118032,6 @@ const overlayZIndex = {
|
|
|
117662
118032
|
nestedMenu: (theme) => theme.zIndex.modal + 3,
|
|
117663
118033
|
};
|
|
117664
118034
|
|
|
117665
|
-
const GenericDrawer = ({ open, onClose, onOpen, anchor = "bottom", zIndex, fullHeight = false, disableEnforceFocus = false, "aria-label": ariaLabel, children, }) => {
|
|
117666
|
-
const theme = useTheme$1();
|
|
117667
|
-
const isVerticalAnchor = anchor === "bottom" || anchor === "top";
|
|
117668
|
-
const isSideAnchor = anchor === "left" || anchor === "right";
|
|
117669
|
-
const showHandle = anchor === "bottom";
|
|
117670
|
-
const verticalMaxHeight = fullHeight ? "100dvh" : "70dvh";
|
|
117671
|
-
return (React__default.createElement(SwipeableDrawer$1, { anchor: anchor, open: open, onClose: onClose, onOpen: onOpen !== null && onOpen !== void 0 ? onOpen : (() => {
|
|
117672
|
-
/* no-op */
|
|
117673
|
-
}), disableEnforceFocus: disableEnforceFocus, "aria-label": ariaLabel, PaperProps: {
|
|
117674
|
-
role: ariaLabel ? "dialog" : undefined,
|
|
117675
|
-
"aria-label": ariaLabel,
|
|
117676
|
-
"aria-modal": ariaLabel ? true : undefined,
|
|
117677
|
-
sx: Object.assign(Object.assign({ display: "flex", flexDirection: "column", borderRadius: drawerSheetRadius(anchor, theme), backgroundColor: theme.palette.mode === "dark"
|
|
117678
|
-
? "rgba(0,0,0,0.95)"
|
|
117679
|
-
: "rgba(255,255,255,0.95)", backdropFilter: "blur(20px)", border: `1px solid ${theme.palette.divider}`, width: "100%", maxWidth: `${theme.breakpoints.values.md}px`, marginX: "auto", left: isVerticalAnchor ? 0 : undefined, right: isVerticalAnchor ? 0 : undefined }, (isVerticalAnchor
|
|
117680
|
-
? Object.assign({ maxHeight: verticalMaxHeight }, (fullHeight ? { height: "100dvh" } : {})) : { maxHeight: "100dvh" })), (isSideAnchor
|
|
117681
|
-
? {
|
|
117682
|
-
top: 0,
|
|
117683
|
-
bottom: 0,
|
|
117684
|
-
["@media (min-width:600px)"]: {
|
|
117685
|
-
top: 0,
|
|
117686
|
-
bottom: 0,
|
|
117687
|
-
height: "min(90dvh, 900px)",
|
|
117688
|
-
marginY: "auto",
|
|
117689
|
-
},
|
|
117690
|
-
}
|
|
117691
|
-
: {})),
|
|
117692
|
-
}, sx: Object.assign({}, (zIndex !== undefined ? { zIndex } : {})) },
|
|
117693
|
-
showHandle && (React__default.createElement(Box$1, { component: "button", type: "button", "aria-label": "Fechar", "data-testid": "generic-drawer-handle", onClick: onClose, sx: {
|
|
117694
|
-
display: "flex",
|
|
117695
|
-
alignItems: "center",
|
|
117696
|
-
justifyContent: "center",
|
|
117697
|
-
flexShrink: 0,
|
|
117698
|
-
width: "100%",
|
|
117699
|
-
minHeight: 44,
|
|
117700
|
-
pt: 1,
|
|
117701
|
-
pb: 0.5,
|
|
117702
|
-
px: 2,
|
|
117703
|
-
border: "none",
|
|
117704
|
-
background: "transparent",
|
|
117705
|
-
cursor: "pointer",
|
|
117706
|
-
WebkitTapHighlightColor: "transparent",
|
|
117707
|
-
"&:focus-visible": {
|
|
117708
|
-
outline: `2px solid ${theme.palette.primary.main}`,
|
|
117709
|
-
outlineOffset: -2,
|
|
117710
|
-
},
|
|
117711
|
-
} },
|
|
117712
|
-
React__default.createElement(Box$1, { "aria-hidden": true, sx: {
|
|
117713
|
-
width: 36,
|
|
117714
|
-
height: 4,
|
|
117715
|
-
borderRadius: RADIUS.pill,
|
|
117716
|
-
bgcolor: alpha(theme.palette.text.primary, 0.28),
|
|
117717
|
-
} }))),
|
|
117718
|
-
children));
|
|
117719
|
-
};
|
|
117720
|
-
|
|
117721
118035
|
const cloneFilters = (value) => {
|
|
117722
118036
|
return JSON.parse(JSON.stringify(value));
|
|
117723
118037
|
};
|
|
@@ -117946,127 +118260,6 @@ const LabeledBrazilianStateSelect = (props) => {
|
|
|
117946
118260
|
React__default.createElement(FormHelperText$1, null, error || helperText)));
|
|
117947
118261
|
};
|
|
117948
118262
|
|
|
117949
|
-
const COMPETENCE_MONTH_REGEX = /^(\d{4})-(0[1-9]|1[0-2])$/;
|
|
117950
|
-
const isValidCompetenceMonth = (value) => typeof value === "string" && COMPETENCE_MONTH_REGEX.test(value);
|
|
117951
|
-
const parseCompetenceMonth = (value) => {
|
|
117952
|
-
if (!isValidCompetenceMonth(value)) {
|
|
117953
|
-
return null;
|
|
117954
|
-
}
|
|
117955
|
-
const [yearText, monthText] = value.split("-");
|
|
117956
|
-
const year = Number(yearText);
|
|
117957
|
-
const month = Number(monthText);
|
|
117958
|
-
return new Date(year, month - 1, 1);
|
|
117959
|
-
};
|
|
117960
|
-
const toCompetenceMonth = (date) => {
|
|
117961
|
-
if (!date || Number.isNaN(date.getTime())) {
|
|
117962
|
-
return "";
|
|
117963
|
-
}
|
|
117964
|
-
const year = date.getFullYear();
|
|
117965
|
-
const month = `${date.getMonth() + 1}`.padStart(2, "0");
|
|
117966
|
-
return `${year}-${month}`;
|
|
117967
|
-
};
|
|
117968
|
-
const formatCompetenceMonthPtBr = (value, options) => {
|
|
117969
|
-
var _a, _b;
|
|
117970
|
-
if (!value)
|
|
117971
|
-
return "-";
|
|
117972
|
-
const date = parseCompetenceMonth(value);
|
|
117973
|
-
if (!date)
|
|
117974
|
-
return value;
|
|
117975
|
-
const monthFormat = (_a = options === null || options === void 0 ? void 0 : options.monthFormat) !== null && _a !== void 0 ? _a : "long";
|
|
117976
|
-
const capitalize = (_b = options === null || options === void 0 ? void 0 : options.capitalize) !== null && _b !== void 0 ? _b : true;
|
|
117977
|
-
const formatted = date.toLocaleDateString("pt-BR", {
|
|
117978
|
-
month: monthFormat,
|
|
117979
|
-
year: "numeric",
|
|
117980
|
-
});
|
|
117981
|
-
if (!capitalize || formatted.length === 0) {
|
|
117982
|
-
return formatted;
|
|
117983
|
-
}
|
|
117984
|
-
return formatted.charAt(0).toUpperCase() + formatted.slice(1);
|
|
117985
|
-
};
|
|
117986
|
-
|
|
117987
|
-
const useLabeledMonthPicker = (props) => {
|
|
117988
|
-
const { value, onChange, minMonth, maxMonth, disabled } = props;
|
|
117989
|
-
const parsedValue = useMemo(() => parseCompetenceMonth(value), [value]);
|
|
117990
|
-
const parsedMinMonth = useMemo(() => parseCompetenceMonth(minMonth), [minMonth]);
|
|
117991
|
-
const parsedMaxMonth = useMemo(() => parseCompetenceMonth(maxMonth), [maxMonth]);
|
|
117992
|
-
const isOutOfRange = useMemo(() => {
|
|
117993
|
-
if (!parsedValue)
|
|
117994
|
-
return false;
|
|
117995
|
-
if (parsedMinMonth && parsedValue < parsedMinMonth)
|
|
117996
|
-
return true;
|
|
117997
|
-
if (parsedMaxMonth && parsedValue > parsedMaxMonth)
|
|
117998
|
-
return true;
|
|
117999
|
-
return false;
|
|
118000
|
-
}, [parsedValue, parsedMinMonth, parsedMaxMonth]);
|
|
118001
|
-
const hasInvalidValue = useMemo(() => value.length > 0 && !isValidCompetenceMonth(value), [value]);
|
|
118002
|
-
const handleMonthChange = useCallback((nextDate) => {
|
|
118003
|
-
if (disabled)
|
|
118004
|
-
return;
|
|
118005
|
-
onChange(toCompetenceMonth(nextDate));
|
|
118006
|
-
}, [disabled, onChange]);
|
|
118007
|
-
const data = useMemo(() => ({
|
|
118008
|
-
parsedValue,
|
|
118009
|
-
parsedMinMonth,
|
|
118010
|
-
parsedMaxMonth,
|
|
118011
|
-
isOutOfRange,
|
|
118012
|
-
hasInvalidValue,
|
|
118013
|
-
}), [
|
|
118014
|
-
parsedValue,
|
|
118015
|
-
parsedMinMonth,
|
|
118016
|
-
parsedMaxMonth,
|
|
118017
|
-
isOutOfRange,
|
|
118018
|
-
hasInvalidValue,
|
|
118019
|
-
]);
|
|
118020
|
-
const fns = useMemo(() => ({
|
|
118021
|
-
handleMonthChange,
|
|
118022
|
-
}), [handleMonthChange]);
|
|
118023
|
-
return { data, fns };
|
|
118024
|
-
};
|
|
118025
|
-
|
|
118026
|
-
const LabeledMonthPicker = (props) => {
|
|
118027
|
-
var _a, _b;
|
|
118028
|
-
const { label, error, helperText, disabled, required, "data-testid": dataTestId, } = props;
|
|
118029
|
-
const { data, fns } = useLabeledMonthPicker(props);
|
|
118030
|
-
return (React__default.createElement(LocalizationProvider, { dateAdapter: AdapterDateFns, adapterLocale: ptBR },
|
|
118031
|
-
React__default.createElement(Box$1, null,
|
|
118032
|
-
React__default.createElement(DatePicker, { value: data.parsedValue, onChange: fns.handleMonthChange, views: ["year", "month"], openTo: "month", minDate: (_a = data.parsedMinMonth) !== null && _a !== void 0 ? _a : undefined, maxDate: (_b = data.parsedMaxMonth) !== null && _b !== void 0 ? _b : undefined, disabled: disabled, format: "MMMM 'de' yyyy", slotProps: {
|
|
118033
|
-
textField: {
|
|
118034
|
-
label,
|
|
118035
|
-
required,
|
|
118036
|
-
fullWidth: true,
|
|
118037
|
-
error: !!error || data.isOutOfRange || data.hasInvalidValue,
|
|
118038
|
-
helperText: error ||
|
|
118039
|
-
(data.hasInvalidValue
|
|
118040
|
-
? "Mês de referência inválido."
|
|
118041
|
-
: data.isOutOfRange
|
|
118042
|
-
? "Mês de referência fora do intervalo permitido"
|
|
118043
|
-
: helperText),
|
|
118044
|
-
InputProps: {
|
|
118045
|
-
readOnly: true,
|
|
118046
|
-
},
|
|
118047
|
-
InputLabelProps: {
|
|
118048
|
-
shrink: true,
|
|
118049
|
-
},
|
|
118050
|
-
inputProps: {
|
|
118051
|
-
"data-testid": dataTestId,
|
|
118052
|
-
},
|
|
118053
|
-
},
|
|
118054
|
-
} }))));
|
|
118055
|
-
};
|
|
118056
|
-
|
|
118057
|
-
const LabeledMonthPickerPropsSchema = objectType({
|
|
118058
|
-
label: stringType(),
|
|
118059
|
-
value: stringType(),
|
|
118060
|
-
onChange: functionType(tupleType([stringType()]), voidType()),
|
|
118061
|
-
error: stringType().optional(),
|
|
118062
|
-
helperText: stringType().optional(),
|
|
118063
|
-
disabled: booleanType().optional(),
|
|
118064
|
-
required: booleanType().optional(),
|
|
118065
|
-
minMonth: stringType().optional(),
|
|
118066
|
-
maxMonth: stringType().optional(),
|
|
118067
|
-
"data-testid": stringType().optional(),
|
|
118068
|
-
});
|
|
118069
|
-
|
|
118070
118263
|
const LabeledFieldHeaderPropsSchema = objectType({
|
|
118071
118264
|
label: stringType(),
|
|
118072
118265
|
required: booleanType().optional(),
|
|
@@ -129809,71 +130002,6 @@ const QuestionAnswersSheet = ({ open, answers = [], answerCount, isLoading = fal
|
|
|
129809
130002
|
onSubmitAnswer ? (React__default.createElement(SocialMessageComposer, { variant: "drawer", value: draft, onChange: setDraft, onSend: (message) => void handleSend(message), placeholder: "Escreva uma resposta\u2026", disabled: composerDisabled, isSending: isSubmitting })) : null)));
|
|
129810
130003
|
};
|
|
129811
130004
|
|
|
129812
|
-
const DATE_ONLY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
|
|
129813
|
-
const UTC_MIDNIGHT_ISO_PATTERN = /^(\d{4}-\d{2}-\d{2})T00:00:00(?:\.\d{1,3})?Z$/;
|
|
129814
|
-
const isDateOnlyString = (value) => typeof value === "string" && DATE_ONLY_PATTERN.test(value);
|
|
129815
|
-
const parseDateOnlyToLocalDate = (dateOnly) => {
|
|
129816
|
-
if (!isDateOnlyString(dateOnly)) {
|
|
129817
|
-
throw new Error(`Invalid date-only value: "${dateOnly}". Expected format YYYY-MM-DD`);
|
|
129818
|
-
}
|
|
129819
|
-
const [year, month, day] = dateOnly.split("-").map(Number);
|
|
129820
|
-
return new Date(year, month - 1, day);
|
|
129821
|
-
};
|
|
129822
|
-
const parseUtcMidnightIsoToLocalDate = (value) => {
|
|
129823
|
-
const match = value.match(UTC_MIDNIGHT_ISO_PATTERN);
|
|
129824
|
-
if (!match) {
|
|
129825
|
-
return null;
|
|
129826
|
-
}
|
|
129827
|
-
return parseDateOnlyToLocalDate(match[1]);
|
|
129828
|
-
};
|
|
129829
|
-
const normalizeDateInputToLocalDate = (value) => {
|
|
129830
|
-
if (value instanceof Date) {
|
|
129831
|
-
return value;
|
|
129832
|
-
}
|
|
129833
|
-
if (isDateOnlyString(value)) {
|
|
129834
|
-
return parseDateOnlyToLocalDate(value);
|
|
129835
|
-
}
|
|
129836
|
-
const parsedUtcMidnight = parseUtcMidnightIsoToLocalDate(value);
|
|
129837
|
-
if (parsedUtcMidnight) {
|
|
129838
|
-
return parsedUtcMidnight;
|
|
129839
|
-
}
|
|
129840
|
-
const parsed = new Date(value);
|
|
129841
|
-
return parsed;
|
|
129842
|
-
};
|
|
129843
|
-
const toValidDateOrNull = (value) => {
|
|
129844
|
-
if (!value) {
|
|
129845
|
-
return null;
|
|
129846
|
-
}
|
|
129847
|
-
const parsed = normalizeDateInputToLocalDate(value);
|
|
129848
|
-
return Number.isNaN(parsed.getTime()) ? null : parsed;
|
|
129849
|
-
};
|
|
129850
|
-
const formatDateInputToDateOnly = (value) => {
|
|
129851
|
-
if (typeof value === "string" && isDateOnlyString(value)) {
|
|
129852
|
-
return value;
|
|
129853
|
-
}
|
|
129854
|
-
const date = normalizeDateInputToLocalDate(value);
|
|
129855
|
-
if (Number.isNaN(date.getTime())) {
|
|
129856
|
-
throw new Error(`Invalid date input: "${value}"`);
|
|
129857
|
-
}
|
|
129858
|
-
const year = date.getFullYear();
|
|
129859
|
-
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
129860
|
-
const day = String(date.getDate()).padStart(2, "0");
|
|
129861
|
-
return `${year}-${month}-${day}`;
|
|
129862
|
-
};
|
|
129863
|
-
const formatDateForDisplay = (value, locale = "pt-BR", options = {
|
|
129864
|
-
day: "2-digit",
|
|
129865
|
-
month: "long",
|
|
129866
|
-
year: "numeric",
|
|
129867
|
-
}) => {
|
|
129868
|
-
const date = value instanceof Date
|
|
129869
|
-
? value
|
|
129870
|
-
: normalizeDateInputToLocalDate(value);
|
|
129871
|
-
if (isNaN(date.getTime())) {
|
|
129872
|
-
return String(value);
|
|
129873
|
-
}
|
|
129874
|
-
return date.toLocaleDateString(locale, options);
|
|
129875
|
-
};
|
|
129876
|
-
|
|
129877
130005
|
const AVATAR_SIZE$1 = 84;
|
|
129878
130006
|
const overlayIconSx = {
|
|
129879
130007
|
color: "common.white",
|
|
@@ -135104,9 +135232,30 @@ const ActivityCard = ({ activity, isLast, isPersonalProfile = false, onSelect, o
|
|
|
135104
135232
|
return (React__default.createElement(Avatar$1, { key: idx, src: (_a = item.imageUrl) !== null && _a !== void 0 ? _a : undefined, alt: item.name }, ((_c = (_b = item.name) === null || _b === void 0 ? void 0 : _b.charAt(0)) !== null && _c !== void 0 ? _c : "").toUpperCase()));
|
|
135105
135233
|
})))))));
|
|
135106
135234
|
};
|
|
135235
|
+
const ActivityCompactRow = ({ activity, isLast, isPersonalProfile = false, onSelect, onEdit }) => {
|
|
135236
|
+
var _a;
|
|
135237
|
+
const occurrence = (_a = activity.occurrences) === null || _a === void 0 ? void 0 : _a[0];
|
|
135238
|
+
const dateParts = compactListDateParts(occurrence === null || occurrence === void 0 ? void 0 : occurrence.date);
|
|
135239
|
+
const dateTime = formatActivityDateTime(activity);
|
|
135240
|
+
const configuredCheckinWindow = getConfiguredCheckinWindow$1(activity);
|
|
135241
|
+
const meta = [
|
|
135242
|
+
dateTime.time,
|
|
135243
|
+
configuredCheckinWindow && !isPersonalProfile
|
|
135244
|
+
? `Check-in ${configuredCheckinWindow}`
|
|
135245
|
+
: null,
|
|
135246
|
+
activity.members && activity.members.count > 0
|
|
135247
|
+
? `${activity.members.count} médiuns`
|
|
135248
|
+
: null,
|
|
135249
|
+
]
|
|
135250
|
+
.filter(Boolean)
|
|
135251
|
+
.join(" · ");
|
|
135252
|
+
return (React__default.createElement(CompactListRow, { title: activity.title, meta: meta, isLast: isLast, onClick: () => onSelect(activity.id), leading: dateParts ? (React__default.createElement(CompactListDateBlock, { day: dateParts.day, month: dateParts.month })) : (React__default.createElement(CalendarToday, { fontSize: "small", color: "action" })), trailing: onEdit ? (React__default.createElement(IconButton$1, { "aria-label": `Editar ${activity.title}`, onClick: () => onEdit(activity.id), sx: { width: 44, height: 44 } },
|
|
135253
|
+
React__default.createElement(ArrowForwardIos, { sx: { width: 16 } }))) : undefined }));
|
|
135254
|
+
};
|
|
135107
135255
|
const ActivityListPage = (props) => {
|
|
135108
135256
|
var _a;
|
|
135109
135257
|
const theme = useTheme$1();
|
|
135258
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
|
135110
135259
|
const { data, fns } = useActivityListPage(props);
|
|
135111
135260
|
const canCreate = props.canCreate || props.isAdmin;
|
|
135112
135261
|
const periodInputValue = (_a = props.periodInputValue) !== null && _a !== void 0 ? _a : `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, "0")}`;
|
|
@@ -135155,7 +135304,9 @@ const ActivityListPage = (props) => {
|
|
|
135155
135304
|
backgroundColor: theme.palette.background.default,
|
|
135156
135305
|
position: "relative",
|
|
135157
135306
|
} },
|
|
135158
|
-
React__default.createElement(PageHeader$2, { title: "Atividades", onBack: fns.handleClose, onAdd: fns.handleActivityAdd, addLabel: "Adicionar", showAddButton: canCreate,
|
|
135307
|
+
React__default.createElement(PageHeader$2, { title: "Atividades", onBack: fns.handleClose, onAdd: fns.handleActivityAdd, addLabel: "Adicionar", showAddButton: canCreate, hideAddButtonOnMobile: true, endAction: props.canExportParticipationReport &&
|
|
135308
|
+
props.onExportParticipationReport ? (React__default.createElement(IconButton$1, { "aria-label": "Exportar Participa\u00E7\u00E3o", onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "activities-export-participation-icon", sx: { display: { xs: "inline-flex", sm: "none" }, width: 44, height: 44 } },
|
|
135309
|
+
React__default.createElement(Download, null))) : undefined, tabs: tabs.map((status) => ({
|
|
135159
135310
|
value: status,
|
|
135160
135311
|
label: data.getStatusLabel(status),
|
|
135161
135312
|
})), selectedTab: safeSelectedTab, onTabChange: (value) => fns.handleTabChange(value) }),
|
|
@@ -135171,7 +135322,7 @@ const ActivityListPage = (props) => {
|
|
|
135171
135322
|
React__default.createElement(Box$1, { sx: { width: { xs: "100%", sm: 260 } } },
|
|
135172
135323
|
React__default.createElement(LabeledMonthPicker, { label: "Per\u00EDodo", value: periodInputValue, onChange: (nextValue) => { var _a; return (_a = props.onPeriodInputChange) === null || _a === void 0 ? void 0 : _a.call(props, nextValue); }, "data-testid": "activities-period-input" })),
|
|
135173
135324
|
props.canExportParticipationReport &&
|
|
135174
|
-
props.onExportParticipationReport && (React__default.createElement(Button$1, { variant: "outlined", startIcon: React__default.createElement(Download, null), onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "activities-export-participation-button" }, props.isExportingParticipationReport
|
|
135325
|
+
props.onExportParticipationReport && (React__default.createElement(Button$1, { variant: "outlined", startIcon: React__default.createElement(Download, null), onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "activities-export-participation-button", sx: { display: { xs: "none", sm: "inline-flex" } } }, props.isExportingParticipationReport
|
|
135175
135326
|
? "Exportando..."
|
|
135176
135327
|
: "Exportar Participação"))),
|
|
135177
135328
|
React__default.createElement(Box$1, { sx: Object.assign({ flex: 1, pb: LIST_CONTENT_BOTTOM_PADDING }, LIST_CARD_CONTENT_ROOT_SX) }, data.activities.length === 0 ? (React__default.createElement(Box$1, { sx: {
|
|
@@ -135188,18 +135339,17 @@ const ActivityListPage = (props) => {
|
|
|
135188
135339
|
canCreate && (React__default.createElement(React__default.Fragment, null,
|
|
135189
135340
|
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mb: SECTION_GAP } }, "Toque no bot\u00E3o + para criar uma nova atividade"),
|
|
135190
135341
|
React__default.createElement(QuotaGuard, { feature: "activities", behavior: "disable" },
|
|
135191
|
-
React__default.createElement(Button$1, { variant: "contained", startIcon: React__default.createElement(Add$1, null), onClick: fns.handleActivityAdd }, "Criar atividade")))))) : (React__default.createElement(
|
|
135342
|
+
React__default.createElement(Button$1, { variant: "contained", startIcon: React__default.createElement(Add$1, null), onClick: fns.handleActivityAdd }, "Criar atividade")))))) : (isMobile ? (React__default.createElement(Box$1, { sx: {
|
|
135343
|
+
bgcolor: "background.paper",
|
|
135344
|
+
borderRadius: RADIUS.default,
|
|
135345
|
+
overflow: "hidden",
|
|
135346
|
+
} }, data.activities.map((activity, index) => (React__default.createElement(ActivityCompactRow, { key: activity.id, activity: activity, isLast: index === data.activities.length - 1, isPersonalProfile: props.isPersonalProfile, onSelect: fns.handleActivitySelect, onEdit: props.onActivityEdit ? fns.handleActivityEdit : undefined }))))) : (React__default.createElement(Stack$1, { spacing: LIST_GAP }, data.activities.map((activity, index) => (React__default.createElement(ActivityCard, { key: activity.id, activity: activity, isLast: index === data.activities.length - 1, isPersonalProfile: props.isPersonalProfile, onSelect: fns.handleActivitySelect, onEdit: fns.handleActivityEdit, theme: theme, getStatusLabel: data.getStatusLabel }))))))),
|
|
135192
135347
|
React__default.createElement(Menu$2, { anchorEl: filterAnchorEl, open: Boolean(filterAnchorEl), onClose: handleFilterClose },
|
|
135193
135348
|
React__default.createElement(MenuItem$1, { onClick: () => handleTemplateFilter(null) }, "Todas as atividades"),
|
|
135194
135349
|
React__default.createElement(MenuItem$1, { onClick: () => handleTemplateFilter(true) }, "Apenas modelos"),
|
|
135195
135350
|
React__default.createElement(MenuItem$1, { onClick: () => handleTemplateFilter(false) }, "Apenas atividades")),
|
|
135196
|
-
canCreate && !props.hideAddFab && (React__default.createElement(QuotaGuard, { feature: "activities", behavior: "hide" },
|
|
135197
|
-
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar", onClick: fns.handleActivityAdd, sx: {
|
|
135198
|
-
position: "fixed",
|
|
135199
|
-
bottom: { xs: 16, sm: 24 },
|
|
135200
|
-
right: { xs: 16, sm: 24 },
|
|
135201
|
-
zIndex: theme.zIndex.speedDial,
|
|
135202
|
-
} },
|
|
135351
|
+
canCreate && !props.hideAddFab && data.activities.length > 0 && (React__default.createElement(QuotaGuard, { feature: "activities", behavior: "hide" },
|
|
135352
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar", onClick: fns.handleActivityAdd, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.speedDial }) },
|
|
135203
135353
|
React__default.createElement(Add$1, null)))))));
|
|
135204
135354
|
};
|
|
135205
135355
|
|
|
@@ -142252,6 +142402,8 @@ const TicketVoucherPage = ({ isLoading, errorMessage, code, eventTitle, terreiro
|
|
|
142252
142402
|
|
|
142253
142403
|
const EventTicketingManagementPage = ({ eventName, shareUrl, terreiroShareUrl, published = false, publicTitle = "", maxTicketsPerEmail = 2, batches = [], holders = [], isSaving, saveError, checkInMessage, onSave, onExportCsv, onCheckIn, useChat = false, chat, canCheckIn = false, isCheckingIn = false, parseTicketQr, }) => {
|
|
142254
142404
|
var _a;
|
|
142405
|
+
const theme = useTheme$1();
|
|
142406
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
|
142255
142407
|
const [title, setTitle] = useState(publicTitle);
|
|
142256
142408
|
const [isPublished, setIsPublished] = useState(published);
|
|
142257
142409
|
const [emailLimit, setEmailLimit] = useState(maxTicketsPerEmail);
|
|
@@ -142326,17 +142478,24 @@ const EventTicketingManagementPage = ({ eventName, shareUrl, terreiroShareUrl, p
|
|
|
142326
142478
|
React__default.createElement(CardContent$1, null,
|
|
142327
142479
|
React__default.createElement(Stack$1, { spacing: 2 },
|
|
142328
142480
|
React__default.createElement(Typography$1, { variant: "h6" }, "Check-in na porta"),
|
|
142329
|
-
React__default.createElement(Stack$1, { direction: "row", spacing: 1 },
|
|
142481
|
+
React__default.createElement(Stack$1, { direction: isMobile ? "column" : "row", spacing: 1, alignItems: isMobile ? "stretch" : "center" },
|
|
142330
142482
|
React__default.createElement(TextField$1, { label: "Codigo do ingresso", value: checkInCode, onChange: (event) => setCheckInCode(event.target.value), inputProps: { "data-testid": "ticketing-checkin-code" } }),
|
|
142331
142483
|
React__default.createElement(Button$1, { variant: "contained", onClick: () => onCheckIn === null || onCheckIn === void 0 ? void 0 : onCheckIn(checkInCode), "data-testid": "ticketing-checkin-submit" }, "Validar"),
|
|
142332
142484
|
canCheckIn ? (React__default.createElement(Button$1, { variant: "outlined", onClick: () => setIsScannerOpen(true), "data-testid": "ticketing-checkin-scan" }, "Escanear QR")) : null),
|
|
142333
142485
|
checkInMessage ? React__default.createElement(Alert$1, { severity: "success" }, checkInMessage) : null))),
|
|
142334
142486
|
React__default.createElement(Card$1, null,
|
|
142335
142487
|
React__default.createElement(CardContent$1, null,
|
|
142336
|
-
React__default.createElement(Stack$1, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { mb: 2 } },
|
|
142488
|
+
React__default.createElement(Stack$1, { direction: isMobile ? "column" : "row", justifyContent: "space-between", alignItems: isMobile ? "flex-start" : "center", spacing: 1, sx: { mb: 2 } },
|
|
142337
142489
|
React__default.createElement(Typography$1, { variant: "h6" }, "Titulares"),
|
|
142338
142490
|
React__default.createElement(Button$1, { onClick: onExportCsv, "data-testid": "ticketing-export-csv" }, "Exportar CSV")),
|
|
142339
|
-
React__default.createElement(
|
|
142491
|
+
isMobile ? (React__default.createElement(Stack$1, { divider: React__default.createElement(Box$1, { sx: { borderBottom: 1, borderColor: "divider" } }) }, holders.map((holder) => (React__default.createElement(Box$1, { key: holder.code, sx: { py: 1.25 } },
|
|
142492
|
+
React__default.createElement(Typography$1, { fontWeight: 600 }, holder.holderName),
|
|
142493
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" },
|
|
142494
|
+
holder.status,
|
|
142495
|
+
holder.holderEmail ? ` · ${holder.holderEmail}` : ""),
|
|
142496
|
+
React__default.createElement(Typography$1, { variant: "caption", color: "text.secondary" },
|
|
142497
|
+
holder.code,
|
|
142498
|
+
holder.batchName ? ` · ${holder.batchName}` : "")))))) : (React__default.createElement(Table$1, { size: "small" },
|
|
142340
142499
|
React__default.createElement(TableHead$1, null,
|
|
142341
142500
|
React__default.createElement(TableRow$1, null,
|
|
142342
142501
|
React__default.createElement(TableCell$1, null, "Codigo"),
|
|
@@ -142349,7 +142508,7 @@ const EventTicketingManagementPage = ({ eventName, shareUrl, terreiroShareUrl, p
|
|
|
142349
142508
|
React__default.createElement(TableCell$1, null, holder.holderName),
|
|
142350
142509
|
React__default.createElement(TableCell$1, null, holder.holderEmail),
|
|
142351
142510
|
React__default.createElement(TableCell$1, null, holder.batchName),
|
|
142352
|
-
React__default.createElement(TableCell$1, null, holder.status)))))))),
|
|
142511
|
+
React__default.createElement(TableCell$1, null, holder.status))))))))),
|
|
142353
142512
|
React__default.createElement(Dialog$1, { open: isScannerOpen, onClose: () => setIsScannerOpen(false), fullWidth: true, maxWidth: "sm" },
|
|
142354
142513
|
React__default.createElement(DialogTitle$1, null, "Escanear ingresso"),
|
|
142355
142514
|
React__default.createElement(DialogContent$1, { dividers: true },
|
|
@@ -143222,9 +143381,25 @@ const EventCard = ({ event, isLast, onSelect, onEdit, getEventTypeLabel, theme }
|
|
|
143222
143381
|
event.insumos.count,
|
|
143223
143382
|
")"))))));
|
|
143224
143383
|
};
|
|
143384
|
+
const EventCompactRow = ({ event, isLast, onSelect, onEdit, getEventTypeLabel }) => {
|
|
143385
|
+
var _a, _b;
|
|
143386
|
+
const occurrence = (_b = (_a = event.occurrences) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b[0];
|
|
143387
|
+
const dateParts = compactListDateParts(occurrence === null || occurrence === void 0 ? void 0 : occurrence.date);
|
|
143388
|
+
const dateTime = formatEventDateTime(event);
|
|
143389
|
+
const rawTitle = event.title || event.name || "Sem título";
|
|
143390
|
+
const meta = [
|
|
143391
|
+
dateTime.time,
|
|
143392
|
+
event.type ? getEventTypeLabel(event.type) : null,
|
|
143393
|
+
]
|
|
143394
|
+
.filter(Boolean)
|
|
143395
|
+
.join(" · ");
|
|
143396
|
+
return (React__default.createElement(CompactListRow, { title: rawTitle, meta: meta, isLast: isLast, onClick: () => onSelect(event.id), leading: dateParts ? (React__default.createElement(CompactListDateBlock, { day: dateParts.day, month: dateParts.month })) : (React__default.createElement(CalendarToday, { fontSize: "small", color: "action" })), trailing: onEdit ? (React__default.createElement(IconButton$1, { "aria-label": `Editar ${rawTitle}`, onClick: () => onEdit(event.id), sx: { width: 44, height: 44 } },
|
|
143397
|
+
React__default.createElement(ArrowForwardIos, { sx: { width: 16 } }))) : undefined }));
|
|
143398
|
+
};
|
|
143225
143399
|
const EventsPage = (props) => {
|
|
143226
143400
|
var _a;
|
|
143227
143401
|
const theme = useTheme$1();
|
|
143402
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
|
143228
143403
|
const { data, fns } = useEventsPage(props);
|
|
143229
143404
|
const periodInputValue = (_a = props.periodInputValue) !== null && _a !== void 0 ? _a : `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, "0")}`;
|
|
143230
143405
|
// Memoized tab list for maintainability
|
|
@@ -143273,7 +143448,13 @@ const EventsPage = (props) => {
|
|
|
143273
143448
|
backgroundColor: theme.palette.background.default,
|
|
143274
143449
|
position: "relative",
|
|
143275
143450
|
} },
|
|
143276
|
-
React__default.createElement(PageHeader$2, { title: "Eventos", onBack: fns.handleBack, onAdd: fns.handleAddEvent, addLabel: "Adicionar", showAddButton: props.isAdmin,
|
|
143451
|
+
React__default.createElement(PageHeader$2, { title: "Eventos", onBack: fns.handleBack, onAdd: fns.handleAddEvent, addLabel: "Adicionar", showAddButton: props.isAdmin, hideAddButtonOnMobile: true, endAction: props.canExportParticipationReport &&
|
|
143452
|
+
props.onExportParticipationReport ? (React__default.createElement(IconButton$1, { "aria-label": "Exportar Participa\u00E7\u00E3o", onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "events-export-participation-icon", sx: {
|
|
143453
|
+
display: { xs: "inline-flex", sm: "none" },
|
|
143454
|
+
width: 44,
|
|
143455
|
+
height: 44,
|
|
143456
|
+
} },
|
|
143457
|
+
React__default.createElement(Download, null))) : undefined, tabs: tabs.map((status) => ({
|
|
143277
143458
|
value: status,
|
|
143278
143459
|
label: data.getStatusLabel(status),
|
|
143279
143460
|
})), selectedTab: safeSelectedTab, onTabChange: (value) => fns.handleTabChange(value) }),
|
|
@@ -143289,7 +143470,7 @@ const EventsPage = (props) => {
|
|
|
143289
143470
|
React__default.createElement(Box$1, { sx: { width: { xs: "100%", sm: 260 } } },
|
|
143290
143471
|
React__default.createElement(LabeledMonthPicker, { label: "Per\u00EDodo", value: periodInputValue, onChange: (nextValue) => { var _a; return (_a = props.onPeriodInputChange) === null || _a === void 0 ? void 0 : _a.call(props, nextValue); }, "data-testid": "events-period-input" })),
|
|
143291
143472
|
props.canExportParticipationReport &&
|
|
143292
|
-
props.onExportParticipationReport && (React__default.createElement(Button$1, { variant: "outlined", startIcon: React__default.createElement(Download, null), onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "events-export-participation-button" }, props.isExportingParticipationReport
|
|
143473
|
+
props.onExportParticipationReport && (React__default.createElement(Button$1, { variant: "outlined", startIcon: React__default.createElement(Download, null), onClick: props.onExportParticipationReport, disabled: props.isExportingParticipationReport, "data-testid": "events-export-participation-button", sx: { display: { xs: "none", sm: "inline-flex" } } }, props.isExportingParticipationReport
|
|
143293
143474
|
? "Exportando..."
|
|
143294
143475
|
: "Exportar Participação"))),
|
|
143295
143476
|
React__default.createElement(Box$1, { sx: Object.assign({ flex: 1, pb: LIST_CONTENT_BOTTOM_PADDING }, LIST_CARD_CONTENT_ROOT_SX) }, data.events.length === 0 ? (React__default.createElement(Box$1, { sx: {
|
|
@@ -143306,14 +143487,13 @@ const EventsPage = (props) => {
|
|
|
143306
143487
|
props.isAdmin && (React__default.createElement(React__default.Fragment, null,
|
|
143307
143488
|
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { mb: SECTION_GAP } }, "Toque no bot\u00E3o + para criar um novo evento"),
|
|
143308
143489
|
React__default.createElement(QuotaGuard, { feature: "events", behavior: "disable" },
|
|
143309
|
-
React__default.createElement(Button$1, { variant: "contained", startIcon: React__default.createElement(Add$1, null), onClick: fns.handleAddEvent }, "Criar evento")))))) : (React__default.createElement(
|
|
143310
|
-
|
|
143311
|
-
|
|
143312
|
-
|
|
143313
|
-
|
|
143314
|
-
|
|
143315
|
-
|
|
143316
|
-
} },
|
|
143490
|
+
React__default.createElement(Button$1, { variant: "contained", startIcon: React__default.createElement(Add$1, null), onClick: fns.handleAddEvent }, "Criar evento")))))) : (isMobile ? (React__default.createElement(Box$1, { sx: {
|
|
143491
|
+
bgcolor: "background.paper",
|
|
143492
|
+
borderRadius: RADIUS.default,
|
|
143493
|
+
overflow: "hidden",
|
|
143494
|
+
} }, data.events.map((event, index) => (React__default.createElement(EventCompactRow, { key: event.id, event: event, isLast: index === data.events.length - 1, onSelect: fns.handleEventSelect, onEdit: props.onEventEdit ? fns.handleEventEdit : undefined, getEventTypeLabel: data.getEventTypeLabel }))))) : (React__default.createElement(Stack$1, { spacing: LIST_GAP }, data.events.map((event, index) => (React__default.createElement(EventCard, { key: event.id, event: event, isLast: index === data.events.length - 1, onSelect: fns.handleEventSelect, onEdit: fns.handleEventEdit, getEventTypeLabel: data.getEventTypeLabel, getStatusLabel: data.getStatusLabel, theme: theme }))))))),
|
|
143495
|
+
props.isAdmin && !props.hideAddFab && data.events.length > 0 && (React__default.createElement(QuotaGuard, { feature: "events", behavior: "hide" },
|
|
143496
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar evento", onClick: fns.handleAddEvent, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.speedDial }) },
|
|
143317
143497
|
React__default.createElement(Add$1, null)))))));
|
|
143318
143498
|
};
|
|
143319
143499
|
|
|
@@ -144362,9 +144542,9 @@ const FinancialAccountsList = (props) => {
|
|
|
144362
144542
|
minHeight: "100vh",
|
|
144363
144543
|
backgroundColor: theme.palette.background.default,
|
|
144364
144544
|
position: "relative",
|
|
144365
|
-
pb:
|
|
144545
|
+
pb: 0,
|
|
144366
144546
|
} },
|
|
144367
|
-
React__default.createElement(PageHeader$2, { title: "Financeiro", onBack: props.onBack, onAdd: props.onAddAccount, addLabel: "Adicionar", showAddButton: true }),
|
|
144547
|
+
React__default.createElement(PageHeader$2, { title: "Financeiro", onBack: props.onBack, onAdd: props.onAddAccount, addLabel: "Adicionar", showAddButton: true, hideAddButtonOnMobile: true }),
|
|
144368
144548
|
React__default.createElement(Container$1, { maxWidth: "md", sx: PAGE_LIST_CONTAINER_SPACING },
|
|
144369
144549
|
showPeriodFilter && (React__default.createElement(Stack$1, { direction: { xs: "column", sm: "row" }, spacing: SECTION_GAP, alignItems: { xs: "flex-start", sm: "center" }, justifyContent: "space-between", sx: { pb: LIST_CONTROLS_MARGIN_BOTTOM } },
|
|
144370
144550
|
React__default.createElement(Stack$1, { spacing: 0.5 },
|
|
@@ -144406,12 +144586,7 @@ const FinancialAccountsList = (props) => {
|
|
|
144406
144586
|
} },
|
|
144407
144587
|
isEmpty && (React__default.createElement(EmptyState$2, { onAddAccount: props.onAddAccount, theme: theme })),
|
|
144408
144588
|
!isEmpty && accountsList)),
|
|
144409
|
-
isMobile && (React__default.createElement(Fab$1, { "data-testid": "financial-account-fab-add", color: "primary", "aria-label": "Adicionar Conta", onClick: props.onAddAccount, sx: {
|
|
144410
|
-
position: "fixed",
|
|
144411
|
-
bottom: 16,
|
|
144412
|
-
right: 16,
|
|
144413
|
-
zIndex: theme.zIndex.fab,
|
|
144414
|
-
} },
|
|
144589
|
+
isMobile && !isEmpty && (React__default.createElement(Fab$1, { "data-testid": "financial-account-fab-add", color: "primary", "aria-label": "Adicionar Conta", onClick: props.onAddAccount, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.fab }) },
|
|
144415
144590
|
React__default.createElement(Add$1, null))))));
|
|
144416
144591
|
};
|
|
144417
144592
|
var FinancialAccountsList$1 = React__default.memo(FinancialAccountsList);
|
|
@@ -146053,11 +146228,11 @@ const IncomeListItem = React__default.memo(function IncomeListItem({ item, idx,
|
|
|
146053
146228
|
React__default.createElement(ListItemSecondaryAction$1, null,
|
|
146054
146229
|
React__default.createElement(Stack$1, { spacing: 1, alignItems: "flex-end" },
|
|
146055
146230
|
React__default.createElement(Typography$1, { variant: "subtitle1", sx: { fontWeight: 600 } }, formattedAmount),
|
|
146056
|
-
canConfirmTransactions && item.id && onToggleSettlementStatus ? (React__default.createElement(
|
|
146231
|
+
canConfirmTransactions && item.id && onToggleSettlementStatus ? (React__default.createElement(IconButton$1, { "aria-label": settlementActionLabel, disabled: Boolean(isUpdatingSettlementStatus), onClick: (event) => {
|
|
146057
146232
|
event.stopPropagation();
|
|
146058
146233
|
item.id &&
|
|
146059
146234
|
onToggleSettlementStatus(item.id, nextSettlementStatus);
|
|
146060
|
-
} },
|
|
146235
|
+
}, sx: { width: 44, height: 44 } }, settlementStatus === "PROJECTED" ? React__default.createElement(Check$1, null) : React__default.createElement(UndoIcon, null))) : null))),
|
|
146061
146236
|
!isLastItem && React__default.createElement(Divider$1, { component: "li", variant: "inset" })));
|
|
146062
146237
|
});
|
|
146063
146238
|
const IncomeListPage = ({ onBack, onAdd, onSelect, periodLabel, periodInputValue, periodInputMin, periodInputMax, showPeriodFilter, onPeriodInputChange, onResetToCurrentPeriod, canConfirmTransactions, isUpdatingSettlementStatus, onToggleSettlementStatus, data, }) => {
|
|
@@ -146094,14 +146269,18 @@ const IncomeListPage = ({ onBack, onAdd, onSelect, periodLabel, periodInputValue
|
|
|
146094
146269
|
*
|
|
146095
146270
|
* These numbers are numeric pixel values used for paddingTop on the scrollable container.
|
|
146096
146271
|
*/
|
|
146097
|
-
const headerHeight =
|
|
146272
|
+
const headerHeight = 80;
|
|
146098
146273
|
const shouldShowPeriodFilter = showPeriodFilter !== null && showPeriodFilter !== void 0 ? showPeriodFilter : Boolean(periodLabel ||
|
|
146099
146274
|
periodInputValue ||
|
|
146100
146275
|
onPeriodInputChange ||
|
|
146101
146276
|
onResetToCurrentPeriod);
|
|
146102
|
-
const filterHeight = shouldShowPeriodFilter ?
|
|
146103
|
-
const cardHeight =
|
|
146104
|
-
const contentOffset = filterHeight + cardHeight + 16;
|
|
146277
|
+
const filterHeight = shouldShowPeriodFilter ? 72 : 0;
|
|
146278
|
+
const cardHeight = 96;
|
|
146279
|
+
const contentOffset = isMobile ? 0 : filterHeight + cardHeight + 16;
|
|
146280
|
+
const amountLabel = totalAmountNumber.toLocaleString("pt-BR", {
|
|
146281
|
+
style: "currency",
|
|
146282
|
+
currency: "BRL",
|
|
146283
|
+
});
|
|
146105
146284
|
const incomes = useMemo(() => (Array.isArray(dataSource.incomes) ? dataSource.incomes : []), [dataSource.incomes]);
|
|
146106
146285
|
return (React__default.createElement(Box$1, { sx: {
|
|
146107
146286
|
display: "flex",
|
|
@@ -146111,8 +146290,10 @@ const IncomeListPage = ({ onBack, onAdd, onSelect, periodLabel, periodInputValue
|
|
|
146111
146290
|
position: "relative",
|
|
146112
146291
|
//pb: isMobile ? 2 : 0,
|
|
146113
146292
|
} },
|
|
146114
|
-
React__default.createElement(PageHeader$2, { title: "Entradas", onBack: onBack, onAdd: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), addLabel: "Adicionar", showAddButton: true }),
|
|
146115
|
-
React__default.createElement(
|
|
146293
|
+
React__default.createElement(PageHeader$2, { title: "Entradas", onBack: onBack, onAdd: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), addLabel: "Adicionar", showAddButton: true, hideAddButtonOnMobile: true }),
|
|
146294
|
+
isMobile && shouldShowPeriodFilter ? (React__default.createElement(Container$1, { maxWidth: "md", sx: { px: PAGE_LIST_CONTAINER_SPACING.px, pt: 1 } },
|
|
146295
|
+
React__default.createElement(FinanceMobilePeriodBar, { periodLabel: periodLabel || metricPeriodLabel, amountLabel: amountLabel, periodInputValue: periodInputValue, periodInputMin: periodInputMin, periodInputMax: periodInputMax, onPeriodInputChange: onPeriodInputChange, onResetToCurrentPeriod: onResetToCurrentPeriod, testIdPrefix: "income" }))) : null,
|
|
146296
|
+
!isMobile && (React__default.createElement(Box$1, { component: "section", "aria-hidden": true, sx: {
|
|
146116
146297
|
position: "fixed",
|
|
146117
146298
|
left: 0,
|
|
146118
146299
|
right: 0,
|
|
@@ -146149,10 +146330,10 @@ const IncomeListPage = ({ onBack, onAdd, onSelect, periodLabel, periodInputValue
|
|
|
146149
146330
|
style: "currency",
|
|
146150
146331
|
currency: "BRL",
|
|
146151
146332
|
})
|
|
146152
|
-
: `R$: ${amount}` })))),
|
|
146333
|
+
: `R$: ${amount}` }))))),
|
|
146153
146334
|
React__default.createElement(Container$1, { maxWidth: "md", sx: Object.assign(Object.assign({}, PAGE_LIST_CONTAINER_SPACING), {
|
|
146154
146335
|
// push content below the fixed header + card
|
|
146155
|
-
paddingTop: `${contentOffset}px`,
|
|
146336
|
+
paddingTop: isMobile ? undefined : `${contentOffset}px`, pb: LIST_CONTENT_BOTTOM_PADDING,
|
|
146156
146337
|
// ensure content can scroll beneath fixed card
|
|
146157
146338
|
position: "relative", zIndex: 0 }) },
|
|
146158
146339
|
incomes.length === 0 ? (React__default.createElement(Box$1, { sx: {
|
|
@@ -146176,13 +146357,8 @@ const IncomeListPage = ({ onBack, onAdd, onSelect, periodLabel, periodInputValue
|
|
|
146176
146357
|
var _a, _b;
|
|
146177
146358
|
return (React__default.createElement(IncomeListItem, { key: `${(_a = inc.date) !== null && _a !== void 0 ? _a : ""}-${idx}-${(_b = inc.amount) !== null && _b !== void 0 ? _b : ""}`, item: inc, idx: idx, isLastItem: idx === incomes.length - 1, formatCurrency: formatCurrency, formatDate: formatDate, getAccountName: getAccountName, onSelect: onSelect, canConfirmTransactions: canConfirmTransactions, isUpdatingSettlementStatus: isUpdatingSettlementStatus, onToggleSettlementStatus: onToggleSettlementStatus }));
|
|
146178
146359
|
}))),
|
|
146179
|
-
isMobile && (React__default.createElement(QuotaGuard, { feature: "incomes", behavior: "hide" },
|
|
146180
|
-
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar Entrada", title: "Adicionar Entrada", onClick: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), sx: {
|
|
146181
|
-
position: "fixed",
|
|
146182
|
-
bottom: 16,
|
|
146183
|
-
right: 16,
|
|
146184
|
-
zIndex: theme.zIndex.fab,
|
|
146185
|
-
} },
|
|
146360
|
+
isMobile && incomes.length > 0 && (React__default.createElement(QuotaGuard, { feature: "incomes", behavior: "hide" },
|
|
146361
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar Entrada", title: "Adicionar Entrada", onClick: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.fab }) },
|
|
146186
146362
|
React__default.createElement(Add$1, null)))))));
|
|
146187
146363
|
};
|
|
146188
146364
|
var IncomeListPage$1 = React__default.memo(IncomeListPage);
|
|
@@ -146677,12 +146853,12 @@ const OutcomeListItem = React__default.memo(function OutcomeListItem({ item, idx
|
|
|
146677
146853
|
React__default.createElement(ListItemSecondaryAction$1, null,
|
|
146678
146854
|
React__default.createElement(Stack$1, { spacing: 1, alignItems: "flex-end" },
|
|
146679
146855
|
React__default.createElement(Typography$1, { variant: "subtitle1", sx: { fontWeight: 600 } }, formattedAmount),
|
|
146680
|
-
canConfirmTransactions && item.id && onToggleSettlementStatus ? (React__default.createElement(
|
|
146856
|
+
canConfirmTransactions && item.id && onToggleSettlementStatus ? (React__default.createElement(IconButton$1, { "aria-label": settlementActionLabel, disabled: Boolean(isUpdatingSettlementStatus), onClick: (event) => {
|
|
146681
146857
|
event.stopPropagation();
|
|
146682
146858
|
if (!item.id)
|
|
146683
146859
|
return;
|
|
146684
146860
|
onToggleSettlementStatus(item.id, nextSettlementStatus);
|
|
146685
|
-
} },
|
|
146861
|
+
}, sx: { width: 44, height: 44 } }, settlementStatus === "PROJECTED" ? React__default.createElement(Check$1, null) : React__default.createElement(UndoIcon, null))) : null))),
|
|
146686
146862
|
!isLastItem && React__default.createElement(Divider$1, { component: "li" })));
|
|
146687
146863
|
});
|
|
146688
146864
|
const OutcomeListPage = ({ onSelect, onBack, onAdd, periodLabel, periodInputValue, periodInputMin, periodInputMax, showPeriodFilter, onPeriodInputChange, onResetToCurrentPeriod, canConfirmTransactions, isUpdatingSettlementStatus, onToggleSettlementStatus, data, }) => {
|
|
@@ -146705,14 +146881,18 @@ const OutcomeListPage = ({ onSelect, onBack, onAdd, periodLabel, periodInputValu
|
|
|
146705
146881
|
*
|
|
146706
146882
|
* These numbers are numeric pixel values used for paddingTop on the scrollable container.
|
|
146707
146883
|
*/
|
|
146708
|
-
const headerHeight =
|
|
146884
|
+
const headerHeight = 64;
|
|
146709
146885
|
const shouldShowPeriodFilter = showPeriodFilter !== null && showPeriodFilter !== void 0 ? showPeriodFilter : Boolean(periodLabel ||
|
|
146710
146886
|
periodInputValue ||
|
|
146711
146887
|
onPeriodInputChange ||
|
|
146712
146888
|
onResetToCurrentPeriod);
|
|
146713
|
-
const filterHeight = shouldShowPeriodFilter ?
|
|
146714
|
-
const cardHeight =
|
|
146715
|
-
const contentOffset = filterHeight + cardHeight + 16;
|
|
146889
|
+
const filterHeight = shouldShowPeriodFilter ? 72 : 0;
|
|
146890
|
+
const cardHeight = 96;
|
|
146891
|
+
const contentOffset = isMobile ? 0 : filterHeight + cardHeight + 16;
|
|
146892
|
+
const amountLabel = totalAmount.toLocaleString("pt-BR", {
|
|
146893
|
+
style: "currency",
|
|
146894
|
+
currency: "BRL",
|
|
146895
|
+
});
|
|
146716
146896
|
const outcomes = useMemo(() => (Array.isArray(dataSource.outcomes) ? dataSource.outcomes : []), [dataSource.outcomes]);
|
|
146717
146897
|
return (React__default.createElement(Box$1, { sx: {
|
|
146718
146898
|
display: "flex",
|
|
@@ -146720,10 +146900,12 @@ const OutcomeListPage = ({ onSelect, onBack, onAdd, periodLabel, periodInputValu
|
|
|
146720
146900
|
minHeight: "100vh",
|
|
146721
146901
|
backgroundColor: theme.palette.background.default,
|
|
146722
146902
|
position: "relative",
|
|
146723
|
-
pb:
|
|
146903
|
+
pb: 0,
|
|
146724
146904
|
} },
|
|
146725
|
-
React__default.createElement(PageHeader$2, { title: "Sa\u00EDdas", onBack: onBack, onAdd: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), addLabel: "Adicionar", showAddButton: true }),
|
|
146726
|
-
React__default.createElement(
|
|
146905
|
+
React__default.createElement(PageHeader$2, { title: "Sa\u00EDdas", onBack: onBack, onAdd: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), addLabel: "Adicionar", showAddButton: true, hideAddButtonOnMobile: true }),
|
|
146906
|
+
isMobile && shouldShowPeriodFilter ? (React__default.createElement(Container$1, { maxWidth: "md", sx: { px: PAGE_LIST_CONTAINER_SPACING.px, pt: 1 } },
|
|
146907
|
+
React__default.createElement(FinanceMobilePeriodBar, { periodLabel: periodLabel || "-", amountLabel: amountLabel, periodInputValue: periodInputValue, periodInputMin: periodInputMin, periodInputMax: periodInputMax, onPeriodInputChange: onPeriodInputChange, onResetToCurrentPeriod: onResetToCurrentPeriod, testIdPrefix: "outcome" }))) : null,
|
|
146908
|
+
!isMobile && (React__default.createElement(Box$1, { component: "section", "aria-hidden": true, sx: {
|
|
146727
146909
|
position: "fixed",
|
|
146728
146910
|
left: 0,
|
|
146729
146911
|
right: 0,
|
|
@@ -146759,10 +146941,10 @@ const OutcomeListPage = ({ onSelect, onBack, onAdd, periodLabel, periodInputValu
|
|
|
146759
146941
|
style: "currency",
|
|
146760
146942
|
currency: "BRL",
|
|
146761
146943
|
})
|
|
146762
|
-
: `R$: ${amount}` })))),
|
|
146944
|
+
: `R$: ${amount}` }))))),
|
|
146763
146945
|
React__default.createElement(Container$1, { maxWidth: "md", sx: Object.assign(Object.assign({}, PAGE_LIST_CONTAINER_SPACING), {
|
|
146764
146946
|
// push content below the fixed header + card
|
|
146765
|
-
paddingTop: `${contentOffset}px`,
|
|
146947
|
+
paddingTop: isMobile ? undefined : `${contentOffset}px`, pb: LIST_CONTENT_BOTTOM_PADDING,
|
|
146766
146948
|
// ensure content can scroll beneath fixed card
|
|
146767
146949
|
position: "relative", zIndex: 0 }) },
|
|
146768
146950
|
outcomes.length === 0 ? (React__default.createElement(Box$1, { sx: {
|
|
@@ -146786,13 +146968,8 @@ const OutcomeListPage = ({ onSelect, onBack, onAdd, periodLabel, periodInputValu
|
|
|
146786
146968
|
var _a, _b;
|
|
146787
146969
|
return (React__default.createElement(OutcomeListItem, { key: `${(_a = out.date) !== null && _a !== void 0 ? _a : ""}-${idx}-${(_b = out.amount) !== null && _b !== void 0 ? _b : ""}`, item: out, idx: idx, isLastItem: idx === outcomes.length - 1, formatCurrency: formatCurrency, formatDate: formatDate, getAccountName: getAccountName, onSelect: onSelect, canConfirmTransactions: canConfirmTransactions, isUpdatingSettlementStatus: isUpdatingSettlementStatus, onToggleSettlementStatus: onToggleSettlementStatus }));
|
|
146788
146970
|
}))),
|
|
146789
|
-
isMobile && (React__default.createElement(QuotaGuard, { feature: "outcomes", behavior: "hide" },
|
|
146790
|
-
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar Sa\u00EDda", title: "Adicionar Sa\u00EDda", onClick: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), sx: {
|
|
146791
|
-
position: "fixed",
|
|
146792
|
-
bottom: 16,
|
|
146793
|
-
right: 16,
|
|
146794
|
-
zIndex: theme.zIndex.fab,
|
|
146795
|
-
} },
|
|
146971
|
+
isMobile && outcomes.length > 0 && (React__default.createElement(QuotaGuard, { feature: "outcomes", behavior: "hide" },
|
|
146972
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar Sa\u00EDda", title: "Adicionar Sa\u00EDda", onClick: onAdd !== null && onAdd !== void 0 ? onAdd : (() => { }), sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.fab }) },
|
|
146796
146973
|
React__default.createElement(Add$1, null)))))));
|
|
146797
146974
|
};
|
|
146798
146975
|
var OutcomeListPage$1 = React__default.memo(OutcomeListPage);
|
|
@@ -156866,24 +157043,23 @@ const AttendanceInsightsMobileList = ({ mediums }) => {
|
|
|
156866
157043
|
return (React__default.createElement(Stack$1, { spacing: LIST_GAP }, mediums.map((medium) => {
|
|
156867
157044
|
var _a;
|
|
156868
157045
|
return (React__default.createElement(Paper$1, { key: medium.mediumId, variant: "outlined", sx: LIST_CARD_CONTENT_SX },
|
|
156869
|
-
React__default.createElement(Stack$1, { spacing: LIST_GAP },
|
|
156870
|
-
React__default.createElement(
|
|
156871
|
-
|
|
156872
|
-
React__default.createElement(Typography$1, { fontWeight: 600, noWrap: true }, medium.mediumName)
|
|
156873
|
-
|
|
156874
|
-
|
|
156875
|
-
|
|
156876
|
-
|
|
156877
|
-
|
|
156878
|
-
|
|
156879
|
-
|
|
156880
|
-
"
|
|
156881
|
-
medium.
|
|
156882
|
-
"
|
|
157046
|
+
React__default.createElement(Stack$1, { direction: "row", spacing: LIST_GAP, alignItems: "center" },
|
|
157047
|
+
React__default.createElement(Avatar$1, { src: (_a = medium.mediumAvatarUrl) !== null && _a !== void 0 ? _a : undefined, alt: medium.mediumName, sx: { width: 32, height: 32 } }, medium.mediumName.charAt(0).toUpperCase()),
|
|
157048
|
+
React__default.createElement(Stack$1, { sx: { minWidth: 0 } },
|
|
157049
|
+
React__default.createElement(Typography$1, { fontWeight: 600, noWrap: true }, medium.mediumName),
|
|
157050
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" },
|
|
157051
|
+
medium.invites,
|
|
157052
|
+
" conv. \u00B7 ",
|
|
157053
|
+
medium.confirmed,
|
|
157054
|
+
" conf."),
|
|
157055
|
+
React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary" },
|
|
157056
|
+
medium.present,
|
|
157057
|
+
" pres. \u00B7 ",
|
|
157058
|
+
medium.absent,
|
|
157059
|
+
" aus. \u00B7",
|
|
156883
157060
|
" ",
|
|
156884
157061
|
medium.presenceRate,
|
|
156885
|
-
"%
|
|
156886
|
-
medium.absenceGap)))));
|
|
157062
|
+
"%")))));
|
|
156887
157063
|
})));
|
|
156888
157064
|
};
|
|
156889
157065
|
|
|
@@ -158437,9 +158613,19 @@ const sortOptions = [
|
|
|
158437
158613
|
{ value: "createdAt_desc", label: "Mais recentes" },
|
|
158438
158614
|
{ value: "createdAt_asc", label: "Mais antigos" },
|
|
158439
158615
|
];
|
|
158616
|
+
const InventoryCompactRow = ({ item, isLast, onSelect }) => {
|
|
158617
|
+
var _a, _b, _c, _d;
|
|
158618
|
+
const statusLabel = (_a = statusMap[item.status]) === null || _a === void 0 ? void 0 : _a.label;
|
|
158619
|
+
const meta = [item.location, statusLabel].filter(Boolean).join(" · ");
|
|
158620
|
+
return (React__default.createElement(CompactListRow, { title: item.name, meta: meta || undefined, isLast: isLast, testId: `inventory-item-${item.id}`, onClick: () => onSelect(item.id), leading: React__default.createElement(Avatar$1, { src: (_b = item.imageUrl) !== null && _b !== void 0 ? _b : undefined, alt: "", sx: { width: 40, height: 40 } }, ((_d = (_c = item.name) === null || _c === void 0 ? void 0 : _c.charAt(0)) !== null && _d !== void 0 ? _d : "").toUpperCase()), trailing: React__default.createElement(Typography$1, { variant: "body2", fontWeight: 600, sx: { whiteSpace: "nowrap" } },
|
|
158621
|
+
item.quantity,
|
|
158622
|
+
" ",
|
|
158623
|
+
item.unit) }));
|
|
158624
|
+
};
|
|
158440
158625
|
// --- Main Inventory List Page ---
|
|
158441
158626
|
const InventoryListPage = (props) => {
|
|
158442
158627
|
const theme = useTheme$1();
|
|
158628
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
|
158443
158629
|
const { data, fns } = useInventoryListPage(props);
|
|
158444
158630
|
const drawerValue = {
|
|
158445
158631
|
status: data.selectedStatus,
|
|
@@ -158463,7 +158649,7 @@ const InventoryListPage = (props) => {
|
|
|
158463
158649
|
backgroundColor: theme.palette.background.default,
|
|
158464
158650
|
position: "relative",
|
|
158465
158651
|
}, "data-testid": "inventory-list-page", "data-cy": "inventory-list-page" },
|
|
158466
|
-
React__default.createElement(PageHeader$2, { title: "Invent\u00E1rio", onBack: fns.handleBack, showAddButton: data.canAdd, onAdd: data.canAdd ? fns.handleAddItem : undefined, addLabel: "Adicionar" }),
|
|
158652
|
+
React__default.createElement(PageHeader$2, { title: "Invent\u00E1rio", onBack: fns.handleBack, showAddButton: data.canAdd, hideAddButtonOnMobile: true, onAdd: data.canAdd ? fns.handleAddItem : undefined, addLabel: "Adicionar" }),
|
|
158467
158653
|
React__default.createElement(Container$1, { maxWidth: "md", sx: PAGE_LIST_CONTAINER_SPACING },
|
|
158468
158654
|
React__default.createElement(Box$1, { sx: {
|
|
158469
158655
|
display: "flex",
|
|
@@ -158505,8 +158691,11 @@ const InventoryListPage = (props) => {
|
|
|
158505
158691
|
pb: LIST_CONTENT_BOTTOM_PADDING,
|
|
158506
158692
|
}, "data-testid": "inventory-list-content", "data-cy": "inventory-list-content" }, data.items.length === 0 ? (React__default.createElement(InventoryEmptyState, { hasActiveFilters: data.hasActiveFilters, onClearFilters: data.hasActiveFilters ? fns.handleClearFilters : undefined, onAdd: data.canAdd && !data.hasActiveFilters
|
|
158507
158693
|
? fns.handleAddItem
|
|
158508
|
-
: undefined })) : (React__default.createElement(Fade$1, { in: true },
|
|
158509
|
-
|
|
158694
|
+
: undefined })) : (React__default.createElement(Fade$1, { in: true }, isMobile ? (React__default.createElement(Box$1, { sx: {
|
|
158695
|
+
bgcolor: "background.paper",
|
|
158696
|
+
borderRadius: RADIUS.default,
|
|
158697
|
+
overflow: "hidden",
|
|
158698
|
+
} }, data.items.map((item, index) => (React__default.createElement(InventoryCompactRow, { key: item.id, item: item, isLast: index === data.items.length - 1, onSelect: fns.handleItemSelect }))))) : (React__default.createElement(Stack$1, { spacing: LIST_GAP }, data.items.map((item, index) => (React__default.createElement(InventoryItemCard, { key: item.id, item: item, isLast: index === data.items.length - 1, onSelect: fns.handleItemSelect, onEdit: fns.handleItemEdit }))))))))),
|
|
158510
158699
|
React__default.createElement(FilterDrawer, { open: data.isFilterDrawerOpen, onClose: fns.handleCloseFilterDrawer, onOpen: fns.handleToggleFilterDrawer, value: drawerValue, emptyValue: {
|
|
158511
158700
|
status: "all",
|
|
158512
158701
|
createdAtSort: data.createdAtSort,
|
|
@@ -158520,7 +158709,9 @@ const InventoryListPage = (props) => {
|
|
|
158520
158709
|
React__default.createElement(FormControl$1, { fullWidth: true, size: "small" },
|
|
158521
158710
|
React__default.createElement(InputLabel$1, { id: "inventory-filter-sort-label" }, "Ordena\u00E7\u00E3o"),
|
|
158522
158711
|
React__default.createElement(Select$1, { labelId: "inventory-filter-sort-label", value: draft.createdAtSort, label: "Ordena\u00E7\u00E3o", onChange: (event) => setDraft(Object.assign(Object.assign({}, draft), { createdAtSort: event.target
|
|
158523
|
-
.value })), inputProps: { "data-testid": "inventory-created-at-sort" } }, sortOptions.map((option) => (React__default.createElement(MenuItem$1, { key: option.value, value: option.value }, option.label))))))))
|
|
158712
|
+
.value })), inputProps: { "data-testid": "inventory-created-at-sort" } }, sortOptions.map((option) => (React__default.createElement(MenuItem$1, { key: option.value, value: option.value }, option.label)))))))),
|
|
158713
|
+
data.canAdd && data.items.length > 0 && (React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar item", onClick: fns.handleAddItem, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.speedDial }) },
|
|
158714
|
+
React__default.createElement(Add$1, null)))));
|
|
158524
158715
|
};
|
|
158525
158716
|
|
|
158526
158717
|
const DetailSectionCard = ({ icon, title, children, theme, }) => {
|
|
@@ -161998,7 +162189,7 @@ objectType({
|
|
|
161998
162189
|
const STATUS_TAB_LABELS = {
|
|
161999
162190
|
ALL: "Todos",
|
|
162000
162191
|
ACTIVE: "Ativos",
|
|
162001
|
-
WAITING_APPROVAL: "Aguardando",
|
|
162192
|
+
WAITING_APPROVAL: "Aguardando aprovação",
|
|
162002
162193
|
INACTIVE: "Inativos",
|
|
162003
162194
|
OTHER: "Outros",
|
|
162004
162195
|
};
|
|
@@ -162338,7 +162529,6 @@ const MediumListItem = ({ medium, onSelect, theme }) => {
|
|
|
162338
162529
|
const MediumListPage = (props) => {
|
|
162339
162530
|
var _a;
|
|
162340
162531
|
const theme = useTheme$1();
|
|
162341
|
-
const isCompactScreen = useMediaQuery(theme.breakpoints.down("sm"));
|
|
162342
162532
|
const { data, fns } = useMediumListPage(props);
|
|
162343
162533
|
// Sort menu state
|
|
162344
162534
|
const [sortAnchorEl, setSortAnchorEl] = useState(null);
|
|
@@ -162355,17 +162545,12 @@ const MediumListPage = (props) => {
|
|
|
162355
162545
|
};
|
|
162356
162546
|
// Status tabs for PageHeader
|
|
162357
162547
|
const statusTabs = data.showStatusTabs
|
|
162358
|
-
? data.statusTabs.map((tab) => {
|
|
162359
|
-
|
|
162360
|
-
|
|
162361
|
-
|
|
162362
|
-
|
|
162363
|
-
|
|
162364
|
-
label: tab.value === "WAITING_APPROVAL" && tab.count > 0
|
|
162365
|
-
? `${compactLabel} (${tab.count})`
|
|
162366
|
-
: compactLabel,
|
|
162367
|
-
};
|
|
162368
|
-
})
|
|
162548
|
+
? data.statusTabs.map((tab) => ({
|
|
162549
|
+
value: tab.value,
|
|
162550
|
+
label: tab.value === "WAITING_APPROVAL" && tab.count > 0
|
|
162551
|
+
? `${tab.label} (${tab.count})`
|
|
162552
|
+
: tab.label,
|
|
162553
|
+
}))
|
|
162369
162554
|
: undefined;
|
|
162370
162555
|
// Guard clause for loading state - show skeleton
|
|
162371
162556
|
if (data.isLoading) {
|
|
@@ -162375,7 +162560,7 @@ const MediumListPage = (props) => {
|
|
|
162375
162560
|
minHeight: "100vh",
|
|
162376
162561
|
backgroundColor: theme.palette.background.default,
|
|
162377
162562
|
} },
|
|
162378
|
-
React__default.createElement(PageHeader$2, { title: "M\u00E9diuns", onBack: fns.handleBack, onAdd: fns.handleAddMedium, addLabel: "Adicionar", showAddButton: true }),
|
|
162563
|
+
React__default.createElement(PageHeader$2, { title: "M\u00E9diuns", onBack: fns.handleBack, onAdd: fns.handleAddMedium, addLabel: "Adicionar", showAddButton: true, hideAddButtonOnMobile: true }),
|
|
162379
162564
|
React__default.createElement(MediumListSkeleton, { count: 6 })));
|
|
162380
162565
|
}
|
|
162381
162566
|
return (React__default.createElement(Box$1, { sx: {
|
|
@@ -162384,12 +162569,12 @@ const MediumListPage = (props) => {
|
|
|
162384
162569
|
minHeight: "100vh",
|
|
162385
162570
|
backgroundColor: theme.palette.background.default,
|
|
162386
162571
|
} },
|
|
162387
|
-
React__default.createElement(PageHeader$2, { title: "M\u00E9diuns", onBack: fns.handleBack, onAdd: fns.handleAddMedium, addLabel: "Adicionar", showAddButton: true, tabs: statusTabs, selectedTab: data.selectedStatusTab, onTabChange: (value) => fns.handleStatusTabChange(value) }),
|
|
162572
|
+
React__default.createElement(PageHeader$2, { title: "M\u00E9diuns", onBack: fns.handleBack, onAdd: fns.handleAddMedium, addLabel: "Adicionar", showAddButton: true, hideAddButtonOnMobile: true, tabs: statusTabs, selectedTab: data.selectedStatusTab, onTabChange: (value) => fns.handleStatusTabChange(value) }),
|
|
162388
162573
|
React__default.createElement(Container$1, { maxWidth: "md", sx: PAGE_LIST_CONTAINER_SPACING },
|
|
162389
162574
|
data.showSearch && (React__default.createElement(Box$1, { sx: {
|
|
162390
162575
|
display: "flex",
|
|
162391
|
-
flexDirection:
|
|
162392
|
-
alignItems: "
|
|
162576
|
+
flexDirection: "row",
|
|
162577
|
+
alignItems: "center",
|
|
162393
162578
|
gap: 1,
|
|
162394
162579
|
mb: 2,
|
|
162395
162580
|
} },
|
|
@@ -162402,7 +162587,7 @@ const MediumListPage = (props) => {
|
|
|
162402
162587
|
"aria-label": "Buscar médium",
|
|
162403
162588
|
sx: {
|
|
162404
162589
|
borderRadius: RADIUS.default,
|
|
162405
|
-
minHeight:
|
|
162590
|
+
minHeight: 44,
|
|
162406
162591
|
backgroundColor: theme.palette.background.paper,
|
|
162407
162592
|
"& .MuiInputBase-input": {
|
|
162408
162593
|
fontSize: { xs: "0.9rem", sm: "1rem" },
|
|
@@ -162413,9 +162598,9 @@ const MediumListPage = (props) => {
|
|
|
162413
162598
|
},
|
|
162414
162599
|
} }),
|
|
162415
162600
|
data.showSort && (React__default.createElement(IconButton$1, { onClick: handleSortMenuOpen, sx: {
|
|
162416
|
-
|
|
162417
|
-
width:
|
|
162418
|
-
height:
|
|
162601
|
+
flexShrink: 0,
|
|
162602
|
+
width: 44,
|
|
162603
|
+
height: 44,
|
|
162419
162604
|
backgroundColor: theme.palette.background.paper,
|
|
162420
162605
|
borderRadius: RADIUS.default,
|
|
162421
162606
|
border: `1px solid ${theme.palette.divider}`,
|
|
@@ -162490,19 +162675,9 @@ const MediumListPage = (props) => {
|
|
|
162490
162675
|
vertical: "top",
|
|
162491
162676
|
horizontal: "right",
|
|
162492
162677
|
} }, data.sortOptions.map((option) => (React__default.createElement(MenuItem$1, { key: option.value, onClick: () => handleSortSelect(option.value), selected: option.value === data.sortOption }, option.label)))),
|
|
162493
|
-
React__default.createElement(QuotaGuard, { feature: "mediums", behavior: "hide" },
|
|
162494
|
-
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar", onClick: fns.handleAddMedium, sx: {
|
|
162495
|
-
|
|
162496
|
-
position: "fixed",
|
|
162497
|
-
bottom: {
|
|
162498
|
-
xs: "calc(16px + env(safe-area-inset-bottom, 0px))",
|
|
162499
|
-
sm: 24,
|
|
162500
|
-
md: 32,
|
|
162501
|
-
},
|
|
162502
|
-
right: { xs: 16, sm: 24, md: 32 },
|
|
162503
|
-
boxShadow: 6,
|
|
162504
|
-
} },
|
|
162505
|
-
React__default.createElement(BarcodeIcon, null))))));
|
|
162678
|
+
data.filteredMediums.length > 0 && (React__default.createElement(QuotaGuard, { feature: "mediums", behavior: "hide" },
|
|
162679
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Adicionar", onClick: fns.handleAddMedium, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.speedDial }) },
|
|
162680
|
+
React__default.createElement(BarcodeIcon, null)))))));
|
|
162506
162681
|
};
|
|
162507
162682
|
|
|
162508
162683
|
const sanitizeBirthDate = (date) => {
|
|
@@ -173784,9 +173959,19 @@ const transformToRitual = (bath, originLabel, statusLabel) => {
|
|
|
173784
173959
|
scheduledCount: (_d = bath.scheduledCount) !== null && _d !== void 0 ? _d : 0,
|
|
173785
173960
|
};
|
|
173786
173961
|
};
|
|
173962
|
+
const RitualBathCompactRow = ({ bath, isLast, originLabel, statusLabel, onSelect, onSchedule }) => {
|
|
173963
|
+
var _a, _b;
|
|
173964
|
+
const meta = [(_a = bath.category) === null || _a === void 0 ? void 0 : _a.name, originLabel, statusLabel]
|
|
173965
|
+
.filter(Boolean)
|
|
173966
|
+
.join(" · ");
|
|
173967
|
+
return (React__default.createElement(CompactListRow, { title: bath.title, meta: meta, isLast: isLast, onClick: () => onSelect(bath.id), leading: React__default.createElement(Avatar$1, { src: (_b = bath.imageUrl) !== null && _b !== void 0 ? _b : undefined, alt: "", sx: { width: 40, height: 40 } },
|
|
173968
|
+
React__default.createElement(Spa, { fontSize: "small" })), trailing: onSchedule ? (React__default.createElement(IconButton$1, { "aria-label": `Agendar ${bath.title}`, onClick: () => onSchedule(bath.id), sx: { width: 44, height: 44 } },
|
|
173969
|
+
React__default.createElement(CalendarMonth$1, null))) : undefined }));
|
|
173970
|
+
};
|
|
173787
173971
|
const RitualBathListPage = (props) => {
|
|
173788
173972
|
var _a, _b, _c;
|
|
173789
173973
|
const theme = useTheme$1();
|
|
173974
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
|
173790
173975
|
const { data, fns } = useRitualBathListPage(props);
|
|
173791
173976
|
const showOriginFilter = data.activeTab === "all" && !data.isTerreiro;
|
|
173792
173977
|
const drawerValue = Object.assign(Object.assign({}, (data.filters.categoryId !== undefined
|
|
@@ -173816,7 +174001,7 @@ const RitualBathListPage = (props) => {
|
|
|
173816
174001
|
backgroundColor: theme.palette.background.default,
|
|
173817
174002
|
position: "relative",
|
|
173818
174003
|
} },
|
|
173819
|
-
React__default.createElement(PageHeader$2, { title: "Banhos Rituais", onBack: fns.handleBack, onAdd: fns.handleBathCreate, addLabel: "Adicionar", showAddButton: data.isAdmin, tabs: tabs, selectedTab: data.activeTab, onTabChange: (value) => fns.handleTabChange(value) }),
|
|
174004
|
+
React__default.createElement(PageHeader$2, { title: "Banhos Rituais", onBack: fns.handleBack, onAdd: fns.handleBathCreate, addLabel: "Adicionar", showAddButton: data.isAdmin, hideAddButtonOnMobile: true, tabs: tabs, selectedTab: data.activeTab, onTabChange: (value) => fns.handleTabChange(value) }),
|
|
173820
174005
|
React__default.createElement(Container$1, { maxWidth: "md", sx: Object.assign(Object.assign({}, PAGE_LIST_CONTAINER_SPACING), { flex: 1 }) },
|
|
173821
174006
|
React__default.createElement(Box$1, { sx: {
|
|
173822
174007
|
display: "flex",
|
|
@@ -173885,8 +174070,12 @@ const RitualBathListPage = (props) => {
|
|
|
173885
174070
|
data.hasActiveFilters ? (React__default.createElement(Button$1, { variant: "outlined", onClick: fns.handleClearFilters, startIcon: React__default.createElement(Clear$1, null) }, "Limpar filtros")) : (data.isAdmin && (React__default.createElement(Button$1, { variant: "contained", startIcon: React__default.createElement(Add$1, null), onClick: fns.handleBathCreate }, "Criar banho ritual"))))),
|
|
173886
174071
|
!data.isLoading && !data.error && data.ritualBaths.length > 0 && (React__default.createElement(Box$1, { sx: { pb: LIST_CONTENT_BOTTOM_PADDING } },
|
|
173887
174072
|
React__default.createElement(InfiniteScroll, { hasNextPage: data.hasNextPage, isFetchingNextPage: data.isFetchingNextPage, onLoadMore: fns.handleLoadMore, threshold: 200 },
|
|
173888
|
-
|
|
173889
|
-
|
|
174073
|
+
isMobile ? (React__default.createElement(Box$1, { sx: {
|
|
174074
|
+
bgcolor: "background.paper",
|
|
174075
|
+
borderRadius: RADIUS.default,
|
|
174076
|
+
overflow: "hidden",
|
|
174077
|
+
} }, data.ritualBaths.map((bath, index) => (React__default.createElement(RitualBathCompactRow, { key: bath.id, bath: bath, isLast: index === data.ritualBaths.length - 1, originLabel: fns.getOriginLabel(bath.origin), statusLabel: fns.getStatusLabel(bath.status), onSelect: fns.handleBathSelect, onSchedule: fns.handleScheduleBath }))))) : (React__default.createElement(Grid$1, { container: true, spacing: LIST_GAP }, data.ritualBaths.map((bath) => (React__default.createElement(Grid$1, { item: true, xs: 12, key: bath.id },
|
|
174078
|
+
React__default.createElement(RitualCard, { ritual: transformToRitual(bath, fns.getOriginLabel(bath.origin), fns.getStatusLabel(bath.status)), onClick: () => fns.handleBathSelect(bath.id), onSchedule: fns.handleScheduleBath })))))),
|
|
173890
174079
|
data.isFetchingNextPage && (React__default.createElement(Box$1, { sx: {
|
|
173891
174080
|
display: "flex",
|
|
173892
174081
|
justifyContent: "center",
|
|
@@ -173895,13 +174084,8 @@ const RitualBathListPage = (props) => {
|
|
|
173895
174084
|
} },
|
|
173896
174085
|
React__default.createElement(CircularProgress$1, { size: 28 }))),
|
|
173897
174086
|
!data.hasNextPage && data.ritualBaths.length > 0 && (React__default.createElement(Typography$1, { variant: "body2", color: "text.secondary", sx: { textAlign: "center", py: 2 } }, "Todos os banhos foram carregados")))))),
|
|
173898
|
-
data.isAdmin && (React__default.createElement(QuotaGuard, { feature: "baths", behavior: "hide" },
|
|
173899
|
-
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Criar banho ritual", onClick: fns.handleBathCreate, sx: {
|
|
173900
|
-
position: "fixed",
|
|
173901
|
-
bottom: { xs: 16, sm: 24 },
|
|
173902
|
-
right: { xs: 16, sm: 24 },
|
|
173903
|
-
zIndex: theme.zIndex.speedDial,
|
|
173904
|
-
} },
|
|
174087
|
+
data.isAdmin && data.ritualBaths.length > 0 && (React__default.createElement(QuotaGuard, { feature: "baths", behavior: "hide" },
|
|
174088
|
+
React__default.createElement(Fab$1, { color: "primary", "aria-label": "Criar banho ritual", onClick: fns.handleBathCreate, sx: Object.assign(Object.assign({}, LIST_FAB_POSITION_SX), { zIndex: theme.zIndex.speedDial }) },
|
|
173905
174089
|
React__default.createElement(Add$1, null)))),
|
|
173906
174090
|
React__default.createElement(FilterDrawer, { open: data.isFilterDrawerOpen, onClose: fns.handleCloseFilterDrawer, onOpen: fns.handleToggleFilterDrawer, value: drawerValue, emptyValue: {}, countActiveFilters: countRitualBathDrawerFilters, "data-testid": "ritual-bath-filter-drawer", onFilter: (filters) => {
|
|
173907
174091
|
fns.handleCategoryFilter(filters.categoryId);
|
|
@@ -195613,5 +195797,5 @@ var index_es = /*#__PURE__*/Object.freeze({
|
|
|
195613
195797
|
vectorsRatio: vectorsRatio
|
|
195614
195798
|
});
|
|
195615
195799
|
|
|
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 };
|
|
195800
|
+
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, CompactListDateBlock, CompactListRow, 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, compactListDateParts, 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 };
|
|
195617
195801
|
//# sourceMappingURL=bundle.esm.js.map
|