@styleless-ui/react
Version:
Completely unstyled, headless and accessible React UI components.
1 lines • 1.33 kB
JavaScript
var e=this&&this.__assign||function(){return e=Object.assign||function(e){for(var r,l=1,t=arguments.length;l<t;l++)for(var a in r=arguments[l])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e},e.apply(this,arguments)},r=this&&this.__rest||function(e,r){var l={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.indexOf(t)<0&&(l[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(t=Object.getOwnPropertySymbols(e);a<t.length;a++)r.indexOf(t[a])<0&&Object.prototype.propertyIsEnumerable.call(e,t[a])&&(l[t[a]]=e[t[a]])}return l};import{jsx as l}from"react/jsx-runtime";import{componentWithForwardedRef as t}from"../../utils";import{ItemsRoot as a}from"../slots";var n=t((function(t,n){var s=t.children,o=t.className,i=t.label,b=r(t,["children","className","label"]),c=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}(i);return l("div",e({},b,{ref:n,className:o,role:"menu",tabIndex:-1,"data-slot":a,"aria-label":c.srOnlyLabel,"aria-labelledby":c.labelledBy},{children:s}))}));export default n;