UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 2.15 kB
import{jsx as e}from"react/jsx-runtime";import t,{useContext as r,useRef as n}from"react";import i from"../../../__internal__/utils/helpers/guid/index.js";import o from"./option.style.js";import l from"../__internal__/select-list/select-list.context.js";function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const s=t.forwardRef(((t,s)=>{var{text:u,children:a,disabled:p,onSelect:d,value:f,id:b,index:O,hidden:y,onClick:m,style:j}=t,g=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(t,["text","children","disabled","onSelect","value","id","index","hidden","onClick","style"]);const h=r(l);let v=h.currentOptionsListIndex===O;const x=n(b||i());return h.multiselectValues&&f&&(v=h.multiselectValues.includes(f)),e(o,(P=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){c(e,t,r[t])}))}return e}({id:x.current,ref:s,"aria-selected":v,"aria-disabled":p,isDisabled:p,onClick:function(){!p&&f&&(m?(null==d||d({}),m(f)):null==d||d({text:u,value:f,id:x.current}))},isHighlighted:h.currentOptionsListIndex===O,role:"option",hidden:y,style:j,isInteractive:!!f},g),w=null!=(w={fill:void 0,"data-component":"option",children:a||u})?w:{},Object.getOwnPropertyDescriptors?Object.defineProperties(P,Object.getOwnPropertyDescriptors(w)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(w)).forEach((function(e){Object.defineProperty(P,e,Object.getOwnPropertyDescriptor(w,e))})),P));var P,w}));s.displayName="Option";export{s as default};