@styleless-ui/react
Version:
Completely unstyled, headless and accessible React UI components.
1 lines • 1.55 kB
JavaScript
;var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var r,t=1,l=arguments.length;t<l;t++)for(var s in r=arguments[t])Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s]);return e},__assign.apply(this,arguments)},__rest=this&&this.__rest||function(e,r){var t={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&r.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(l=Object.getOwnPropertySymbols(e);s<l.length;s++)r.indexOf(l[s])<0&&Object.prototype.propertyIsEnumerable.call(e,l[s])&&(t[l[s]]=e[l[s]])}return t};Object.defineProperty(exports,"__esModule",{value:!0});var jsx_runtime_1=require("react/jsx-runtime"),utils_1=require("../../utils"),slots_1=require("../slots"),getLabelInfo=function(e){var r={};if("screenReaderLabel"in e)r.srOnlyLabel=e.screenReaderLabel;else{if(!("labelledBy"in e))throw new Error(["[StylelessUI][Menu.Items]: Invalid `label` property.","The `label` property must be in shape of `{ screenReaderLabel: string; } | { labelledBy: string; }`"].join("\n"));r.labelledBy=e.labelledBy}return r},MenuItemsBase=function(e,r){var t=e.children,l=e.className,s=e.label,n=__rest(e,["children","className","label"]),a=getLabelInfo(s);return(0,jsx_runtime_1.jsx)("div",__assign({},n,{ref:r,className:l,role:"menu",tabIndex:-1,"data-slot":slots_1.ItemsRoot,"aria-label":a.srOnlyLabel,"aria-labelledby":a.labelledBy},{children:t}))},MenuItems=(0,utils_1.componentWithForwardedRef)(MenuItemsBase);exports.default=MenuItems;