@cerberus-design/react
Version:
The Cerberus Design React component library.
130 lines (125 loc) • 3.84 kB
JavaScript
;
"use client";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/components/deprecated/NavMenuTrigger.tsx
var NavMenuTrigger_exports = {};
__export(NavMenuTrigger_exports, {
NavMenuTrigger: () => NavMenuTrigger
});
module.exports = __toCommonJS(NavMenuTrigger_exports);
var import_react2 = require("react");
var import_css2 = require("styled-system/css");
var import_recipes = require("styled-system/recipes");
// src/context/navMenu.tsx
var import_css = require("styled-system/css");
var import_react = require("react");
var import_jsx_runtime = require("react/jsx-runtime");
var NavMenuContext = (0, import_react.createContext)(null);
function useNavMenuContext() {
const context = (0, import_react.useContext)(NavMenuContext);
if (!context) {
throw new Error("useNavMenuContext must be used within a NavMenu.");
}
return context;
}
// src/components/show/show.tsx
var import_jsx_runtime2 = require("react/jsx-runtime");
function Show(props) {
const { when, children, fallback } = props;
if (when) {
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children });
}
if (fallback) {
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: fallback });
}
return null;
}
// src/components/deprecated/aria-helpers/nav-menu.aria.ts
function createNavTriggerProps(values) {
return {
["aria-controls"]: values.controls,
["aria-expanded"]: values.expanded ?? false
};
}
// src/components/deprecated/NavMenuTrigger.tsx
var import_jsx_runtime3 = require("react/jsx-runtime");
function NavMenuTrigger(props) {
const {
as,
palette,
usage,
shape,
controls,
expanded: propsExpanded,
onClick,
...nativeProps
} = props;
const { triggerRef, onToggle, expanded } = useNavMenuContext();
const ariaProps = createNavTriggerProps({
controls,
expanded: propsExpanded ?? expanded
});
const hasAs = Boolean(as);
const AsSub = as;
const handleClick = (0, import_react2.useCallback)(
(e) => {
if (onClick) return onClick(e);
onToggle();
},
[onClick, onToggle]
);
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
Show,
{
when: hasAs,
fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
"button",
{
...nativeProps,
...ariaProps,
className: (0, import_css2.cx)(
nativeProps.className,
(0, import_recipes.button)({
palette,
usage,
shape
})
),
onClick: handleClick,
ref: triggerRef,
children: props.children
}
),
children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
AsSub,
{
...nativeProps,
...ariaProps,
onClick: handleClick,
ref: triggerRef
}
)
}
);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
NavMenuTrigger
});
//# sourceMappingURL=NavMenuTrigger.cjs.map