UNPKG

@styleless-ui/react

Version:

Completely unstyled, headless and accessible React UI components.

1 lines 2.32 kB
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(e[u]=t[u]);return e},__assign.apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var u=Object.getOwnPropertyDescriptor(t,r);u&&!("get"in u?!t.__esModule:u.writable||u.configurable)||(u={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,u)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(n=Object.getOwnPropertySymbols(e);u<n.length;u++)t.indexOf(n[u])<0&&Object.prototype.propertyIsEnumerable.call(e,n[u])&&(r[n[u]]=e[n[u]])}return r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var jsx_runtime_1=require("react/jsx-runtime"),React=__importStar(require("react")),utils_1=require("../../utils"),context_1=__importDefault(require("../Item/context")),Menu_1=__importDefault(require("../Menu")),slots_1=require("../slots"),SubMenuBase=function(e,t){var r=e.children,n=e.className,u=e.id,i=__rest(e,["children","className","id"]),s=(0,utils_1.useDeterministicId)(u,"styleless-ui__sub-menu"),o=React.useContext(context_1.default),a=React.useRef(null),l=(0,utils_1.useForkedRefs)(t,a);return null==o||o.registerSubMenu(a,s),(0,jsx_runtime_1.jsx)(Menu_1.default,__assign({},i,{open:null==o?void 0:o.isSubMenuOpen(),id:s,ref:l,className:n,anchorElement:null==o?void 0:o.ref,"data-slot":slots_1.SubRoot,"data-submenu":!0},{children:r}))},SubMenu=(0,utils_1.componentWithForwardedRef)(SubMenuBase);exports.default=SubMenu;