analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
89 lines (75 loc) • 3.67 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
var _chunkZHWRUIVEjs = require('./chunk-ZHWRUIVE.js');
var _chunkBVUPM6EYjs = require('./chunk-BVUPM6EY.js');
var _chunk76VXVNA2js = require('./chunk-76VXVNA2.js');
var _chunkTCLRDUMFjs = require('./chunk-TCLRDUMF.js');
// src/components/CalendarCard/CalendarCard.tsx
var _CalendarBlank = require('@phosphor-icons/react/dist/csr/CalendarBlank');
var _react = require('react');
var _jsxruntime = require('react/jsx-runtime');
var CalendarCard = ({
content,
isOpen,
onOpenChange,
title = "Calend\xE1rio",
className
}) => {
const { isMobile } = _chunkZHWRUIVEjs.useMobile.call(void 0, );
const [internalOpen, setInternalOpen] = _react.useState.call(void 0, false);
const isControlled = isOpen !== void 0;
const effectiveOpen = isControlled ? isOpen : internalOpen;
const handleOpenChange = _react.useCallback.call(void 0,
(open) => {
if (!isControlled) {
setInternalOpen(open);
}
_optionalChain([onOpenChange, 'optionalCall', _ => _(open)]);
},
[isControlled, onOpenChange]
);
const iconColor = effectiveOpen ? "text-primary-950" : "text-primary";
const triggerIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CalendarBlank.CalendarBlankIcon, { size: 24, className: iconColor });
if (isMobile) {
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
_chunkBVUPM6EYjs.IconButton_default,
{
active: effectiveOpen,
onClick: () => handleOpenChange(!effectiveOpen),
icon: triggerIcon,
className
}
),
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
_chunkTCLRDUMFjs.Modal_default,
{
isOpen: effectiveOpen,
onClose: () => handleOpenChange(false),
title,
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: content })
}
)
] });
}
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk76VXVNA2js.DropdownMenu_default, { open: effectiveOpen, onOpenChange: handleOpenChange, children: [
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
_chunk76VXVNA2js.DropdownMenuTrigger,
{
className: `text-primary cursor-pointer ${_nullishCoalesce(className, () => ( ""))}`,
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBVUPM6EYjs.IconButton_default, { active: effectiveOpen, icon: triggerIcon })
}
),
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
_chunk76VXVNA2js.DropdownMenuContent,
{
className: "w-[320px] max-w-[calc(100vw-16px)] max-h-[80vh] overflow-y-auto",
align: "end",
side: "bottom",
children: content
}
)
] });
};
var CalendarCard_default = CalendarCard;
exports.CalendarCard = CalendarCard; exports.CalendarCard_default = CalendarCard_default;
//# sourceMappingURL=chunk-OGTKQFPY.js.map