{"version":3,"file":"Switch.mjs","names":[],"sources":["../../../src/base-ui/Switch/Switch.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { Loader2 } from 'lucide-react';\nimport { memo } from 'react';\n\nimport Icon from '@/Icon';\n\nimport { SwitchIcon, SwitchRoot, SwitchThumb } from './atoms';\nimport { styles } from './style';\nimport type { SwitchProps } from './type';\n\nconst Switch = memo<SwitchProps>(\n  ({\n    autoFocus,\n    checked,\n    checkedChildren,\n    className,\n    classNames,\n    defaultChecked,\n    defaultValue,\n    disabled,\n    id,\n    loading,\n    name,\n    onChange,\n    onClick,\n    ref,\n    rootClassName,\n    size = 'default',\n    style,\n    styles: customStyles,\n    tabIndex,\n    title,\n    unCheckedChildren,\n    value,\n  }) => {\n    const isDisabled = disabled || loading;\n    const resolvedChecked = value ?? checked;\n    const resolvedDefaultChecked = defaultValue ?? defaultChecked;\n\n    return (\n      <SwitchRoot\n        autoFocus={autoFocus}\n        checked={resolvedChecked}\n        className={cx(className, rootClassName, classNames?.root)}\n        defaultChecked={resolvedDefaultChecked}\n        disabled={isDisabled}\n        id={id}\n        name={name}\n        ref={ref}\n        size={size}\n        style={{ ...style, ...customStyles?.root }}\n        tabIndex={tabIndex}\n        title={title}\n        onCheckedChange={onChange}\n        onClick={onClick}\n      >\n        {checkedChildren && (\n          <SwitchIcon\n            className={classNames?.content}\n            position=\"left\"\n            size={size}\n            style={customStyles?.content}\n          >\n            {checkedChildren}\n          </SwitchIcon>\n        )}\n        {unCheckedChildren && (\n          <SwitchIcon\n            className={classNames?.content}\n            position=\"right\"\n            size={size}\n            style={customStyles?.content}\n          >\n            {unCheckedChildren}\n          </SwitchIcon>\n        )}\n        <SwitchThumb className={classNames?.thumb} size={size} style={customStyles?.thumb}>\n          {loading && (\n            <Icon\n              className={styles.loading}\n              icon={Loader2}\n              size={size === 'small' ? 8 : 12}\n              style={{ color: 'var(--lobe-color-primary)' }}\n            />\n          )}\n        </SwitchThumb>\n      </SwitchRoot>\n    );\n  },\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":";;;;;;;;;AAYA,MAAM,SAAS,MACZ,EACC,WACA,SACA,iBACA,WACA,YACA,gBACA,cACA,UACA,IACA,SACA,MACA,UACA,SACA,KACA,eACA,OAAO,WACP,OACA,QAAQ,cACR,UACA,OACA,mBACA,YACI;CACJ,MAAM,aAAa,YAAY;CAC/B,MAAM,kBAAkB,SAAS;CACjC,MAAM,yBAAyB,gBAAgB;AAE/C,QACE,qBAAC,YAAD;EACa;EACX,SAAS;EACT,WAAW,GAAG,WAAW,eAAe,YAAY,KAAK;EACzD,gBAAgB;EAChB,UAAU;EACN;EACE;EACD;EACC;EACN,OAAO;GAAE,GAAG;GAAO,GAAG,cAAc;GAAM;EAChC;EACH;EACP,iBAAiB;EACR;YAdX;GAgBG,mBACC,oBAAC,YAAD;IACE,WAAW,YAAY;IACvB,UAAS;IACH;IACN,OAAO,cAAc;cAEpB;IACU,CAAA;GAEd,qBACC,oBAAC,YAAD;IACE,WAAW,YAAY;IACvB,UAAS;IACH;IACN,OAAO,cAAc;cAEpB;IACU,CAAA;GAEf,oBAAC,aAAD;IAAa,WAAW,YAAY;IAAa;IAAM,OAAO,cAAc;cACzE,WACC,oBAAC,MAAD;KACE,WAAW,OAAO;KAClB,MAAM;KACN,MAAM,SAAS,UAAU,IAAI;KAC7B,OAAO,EAAE,OAAO,6BAA6B;KAC7C,CAAA;IAEQ,CAAA;GACH;;EAGlB;AAED,OAAO,cAAc"}