@iqmo/browser
Version:
Browser Stlite
3 lines (2 loc) • 9.17 kB
JavaScript
import{c2 as K,c3 as q,r as f,c4 as J,ao as Q,c5 as Y,c6 as u,j as g,c7 as Z,b_ as ee,b$ as te,c8 as re,c0 as ne,bI as oe,c9 as ie,bW as ae,bE as C,bD as U,bH as ce}from"./index-0xtYjrTa.js";import{a as le}from"./useBasicWidgetState-0Cg3lNvA.js";var ue={secondary:"secondary"},A={default:"default"},se={default:"default"},x=Object.freeze({radio:"radio",checkbox:"checkbox"}),N=K("div",function(e){var t=e.$shape,r=e.$length,n=e.$theme,o=r===1?void 0:t!==A.default?"-".concat(n.sizing.scale100):"-0.5px";return{display:"flex",marginLeft:o,marginRight:o}});N.displayName="StyledRoot",N.displayName="StyledRoot";function G(e){"@babel/helpers - typeof";return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},G(e)}function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},z.apply(this,arguments)}function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?V(Object(r),!0).forEach(function(n){$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function pe(e,t){return he(e)||be(e,t)||ye(e,t)||de()}function de(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ye(e,t){if(e){if(typeof e=="string")return W(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return W(e,t)}}function W(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function be(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n=[],o=!0,a=!1,i,p;try{for(r=r.call(e);!(o=(i=r.next()).done)&&(n.push(i.value),!(t&&n.length===t));o=!0);}catch(b){a=!0,p=b}finally{try{!o&&r.return!=null&&r.return()}finally{if(a)throw p}}return n}}function he(e){if(Array.isArray(e))return e}function me(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ge(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ve(e,t,r){return t&&ge(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Oe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&B(e,t)}function B(e,t){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},B(e,t)}function Se(e){var t=Ee();return function(){var r=I(e),n;if(t){var o=I(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return we(this,n)}}function we(e,t){if(t&&(G(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return X(e)}function X(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function I(e){return I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},I(e)}function $(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e,t){return!Array.isArray(e)&&typeof e!="number"?!1:Array.isArray(e)?e.includes(t):e===t}var F=function(e){Oe(r,e);var t=Se(r);function r(){var n;me(this,r);for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return n=t.call.apply(t,[this].concat(a)),$(X(n),"childRefs",{}),n}return ve(r,[{key:"render",value:function(){var n=this,o=this.props,a=o.overrides,i=a===void 0?{}:a,p=o.mode,b=p===void 0?x.checkbox:p,l=o.children,h=o.selected,E=o.disabled,d=o.onClick,S=o.kind,y=o.shape,j=o.size,v=q(i.Root,N),P=pe(v,2),L=P[0],_=P[1],R=this.props["aria-label"]||this.props.ariaLabel,s=b===x.radio,w=f.Children.count(l);return f.createElement(J.Consumer,null,function(H){return f.createElement(L,z({"aria-label":R||H.buttongroup.ariaLabel,"data-baseweb":"button-group",role:s?"radiogroup":"group",$shape:y,$length:l.length},_),f.Children.map(l,function(m,k){if(!f.isValidElement(m))return null;var D=m.props.isSelected?m.props.isSelected:je(h,k);return s&&(n.childRefs[k]=f.createRef()),f.cloneElement(m,{disabled:E||m.props.disabled,isSelected:D,ref:s?n.childRefs[k]:void 0,tabIndex:!s||D||s&&(!h||h===-1)&&k===0?0:-1,onKeyDown:function(c){if(s){var O=Number(h)?Number(h):0;if(c.key==="ArrowUp"||c.key==="ArrowLeft"){c.preventDefault&&c.preventDefault();var M=O-1<0?w-1:O-1;d&&d(c,M),n.childRefs[M].current&&n.childRefs[M].current.focus()}if(c.key==="ArrowDown"||c.key==="ArrowRight"){c.preventDefault&&c.preventDefault();var T=O+1>w-1?0:O+1;d&&d(c,T),n.childRefs[T].current&&n.childRefs[T].current.focus()}}},kind:S,onClick:function(c){E||(m.props.onClick&&m.props.onClick(c),d&&d(c,k))},shape:y,size:j,overrides:fe({BaseButton:{style:function(c){var O=c.$theme;return l.length===1?{}:y!==A.default?{marginLeft:O.sizing.scale100,marginRight:O.sizing.scale100}:{marginLeft:"0.5px",marginRight:"0.5px"}},props:{"aria-checked":D,role:s?"radio":"checkbox"}}},m.props.overrides)})}))})}}]),r}(f.Component);$(F,"defaultProps",{disabled:!1,onClick:function(){},shape:A.default,size:se.default,kind:ue.secondary});function Le(e,t){return t.includes(e)?t.filter(r=>r!==e):[...t,e]}function Re(e,t,r){return e==u.ClickMode.MULTI_SELECT?Le(t,r??[]):r?.includes(t)?[]:[t]}function ke(e){return e.length===0?-1:e[0]}function Ce(e,t,r,n){t.setIntArrayValue(e,r.value,{fromUi:r.fromUi},n)}function Pe(e,t,r){const n=r===u.Style.PILLS?C.PILLS:r===u.Style.BORDERLESS?C.BORDERLESS_ICON:C.SEGMENTED_CONTROL,o=r===u.Style.BORDERLESS?U.XSMALL:U.MEDIUM,a=n===C.PILLS||n===C.SEGMENTED_CONTROL,i=r===u.Style.BORDERLESS?"lg":"base";return{element:g.jsx(ce,{icon:t,label:e,iconSize:i,useSmallerFont:a}),kind:n,size:o}}function xe(e,t,r,n){return r.indexOf(n)>-1?!0:t!==u.ClickMode.SINGLE_SELECT||e!==u.SelectionVisualization.ALL_UP_TO_SELECTED?!1:r.length>0&&n<r[0]}function Ie(e,t){return e&&(t=`${t}Active`),t}function _e(e,t,r){const n={flexWrap:"wrap",maxWidth:"100%",margin:"0 0"},o=r?"100%":"auto",a=r?{}:{content:"''",flex:1e4};switch(e){case u.Style.BORDERLESS:return{...n,columnGap:t.threeXS,rowGap:t.threeXS};case u.Style.PILLS:return{...n,columnGap:t.twoXS,rowGap:t.twoXS,width:o};case u.Style.SEGMENTED_CONTROL:return{...n,columnGap:t.none,rowGap:t.twoXS,"::after":a,width:o};default:return n}}function De(e,t,r,n,o,a,i){const p=xe(r,n,o,t);let b=e.content,l=e.contentIcon;return p&&(b=e.selectedContent?e.selectedContent:b,l=e.selectedContentIcon?e.selectedContentIcon:l),f.forwardRef(function(h,E){const{element:d,kind:S,size:y}=Pe(b??"",l??void 0,a),j=Ie(!!(p&&!e.selectedContent&&!e.selectedContentIcon),S);return g.jsx(ae,{...h,size:y,kind:j,containerWidth:i,children:d})})}function Me(e,t){return e.getIntArrayValue(t)}function Te(e){return e.default??null}function Ae(e){return e.value??null}function Ne(e){const{disabled:t,element:r,fragmentId:n,widgetMgr:o,widthConfig:a}=e,{clickMode:i,options:p,selectionVisualization:b,style:l,label:h,labelVisibility:E,help:d}=r,S=Q(),[y,j]=le({getStateFromWidgetMgr:Me,getDefaultStateFromProto:Te,getCurrStateFromProto:Ae,updateWidgetMgrState:Ce,element:r,widgetMgr:o,fragmentId:n}),v=Y(a),P=(R,s)=>{const w=Re(i,s,y);j({value:w,fromUi:!0})};let L;i===u.ClickMode.SINGLE_SELECT?L=x.radio:i===u.ClickMode.MULTI_SELECT&&(L=x.checkbox);const _=f.useMemo(()=>p.map((R,s)=>{const w=De(R,s,b,i,y,l,v);return g.jsx(w,{},`${R.content}-${s}`)}),[i,p,b,l,y,v]);return g.jsxs(Z,{className:"stButtonGroup","data-testid":"stButtonGroup",containerWidth:v,children:[g.jsx(ee,{label:h,disabled:t,labelVisibility:te(E?.value??ie.LabelVisibilityOptions.COLLAPSED),children:d&&g.jsx(re,{children:g.jsx(ne,{content:d,placement:oe.TOP})})}),g.jsx(F,{disabled:t,mode:L,onClick:P,selected:i===u.ClickMode.MULTI_SELECT?y:ke(y),overrides:{Root:{style:f.useCallback(()=>_e(l,S.spacing,v),[l,S.spacing,v])}},children:_})]})}const Ge=f.memo(Ne);export{Ge as default};