UNPKG

carbon-react

Version:

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

2 lines (1 loc) 2.03 kB
import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import"react";import{Loader as o}from"../../loader/loader.component.js";import{HiddenContent as i,StyledSwitchSlider as n}from"./switch-slider.style.js";import a from"./switch-slider-panel.style.js";import{ValidationIcon as s}from"../../../__internal__/validations/validation-icon.component.js";import c from"../../../hooks/__internal__/useLocale/useLocale.js";function l(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){l(e,r,t[r])}))}return e}function p(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}const f=({checked:l,disabled:f,loading:u,size:b,error:m,warning:O,info:g,useValidationIcon:y,isDarkBackground:j})=>{const h=c(),w=h.switch.on(),k=h.switch.off(),P=w.length>k.length?w.toUpperCase():k.toUpperCase(),v=l?w:k,_={isLoading:u,checked:l,disabled:f,size:b,error:m,warning:O,info:g,isDarkBackground:j},D={isInsideButton:!0,isActive:l,size:b},z=e(a,p(d({"data-role":"slider-panel"},{isLoading:u,size:b,type:l?"on":"off",disabled:f,isDarkBackground:j}),{"aria-live":"polite",children:u?e(o,d({"data-role":"switch-slider-loader"},D)):v}));return r(t,{children:[e(i,{size:b,"aria-hidden":!0,children:P}),r(n,p(d({"data-component":"slider","data-role":"slider"},_),{children:[z,y&&e(s,{error:m,warning:O,info:g,size:b,tooltipFlipOverrides:["top","bottom"]})]}))]})};export{f as default};