@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 2.87 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/form-toggle/index.tsx"],
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const noop = () => {};\nfunction UnforwardedFormToggle(props, ref) {\n const {\n className,\n checked,\n id,\n disabled,\n onChange = noop,\n onClick,\n ...additionalProps\n } = props;\n const wrapperClasses = clsx('components-form-toggle', className, {\n 'is-checked': checked,\n 'is-disabled': disabled\n });\n return /*#__PURE__*/_jsxs(\"span\", {\n className: wrapperClasses,\n children: [/*#__PURE__*/_jsx(\"input\", {\n className: \"components-form-toggle__input\",\n id: id,\n type: \"checkbox\",\n checked: checked,\n onChange: onChange,\n disabled: disabled,\n onClick: event => {\n // Compat code for Safari to ensure that the toggle is focused when clicked.\n event.currentTarget.focus();\n onClick?.(event);\n },\n ...additionalProps,\n ref: ref\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"components-form-toggle__track\"\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"components-form-toggle__thumb\"\n })]\n });\n}\n\n/**\n * FormToggle switches a single setting on or off.\n *\n * ```jsx\n * import { FormToggle } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyFormToggle = () => {\n * const [ isChecked, setChecked ] = useState( true );\n *\n * return (\n * <FormToggle\n * checked={ isChecked }\n * onChange={ () => setChecked( ( state ) => ! state ) }\n * />\n * );\n * };\n * ```\n */\nexport const FormToggle = forwardRef(UnforwardedFormToggle);\nFormToggle.displayName = 'FormToggle';\nexport default FormToggle;"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAIjB,qBAA2B;AAK3B,yBAA2C;AACpC,IAAM,OAAO,MAAM;AAAC;AAC3B,SAAS,sBAAsB,OAAO,KAAK;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,qBAAiB,YAAAA,SAAK,0BAA0B,WAAW;AAAA,IAC/D,cAAc;AAAA,IACd,eAAe;AAAA,EACjB,CAAC;AACD,SAAoB,uCAAAC,MAAM,QAAQ;AAAA,IAChC,WAAW;AAAA,IACX,UAAU,CAAc,uCAAAC,KAAK,SAAS;AAAA,MACpC,WAAW;AAAA,MACX;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,WAAS;AAEhB,cAAM,cAAc,MAAM;AAC1B,kBAAU,KAAK;AAAA,MACjB;AAAA,MACA,GAAG;AAAA,MACH;AAAA,IACF,CAAC,GAAgB,uCAAAA,KAAK,QAAQ;AAAA,MAC5B,WAAW;AAAA,IACb,CAAC,GAAgB,uCAAAA,KAAK,QAAQ;AAAA,MAC5B,WAAW;AAAA,IACb,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AAqBO,IAAM,iBAAa,2BAAW,qBAAqB;AAC1D,WAAW,cAAc;AACzB,IAAO,sBAAQ;",
"names": ["clsx", "_jsxs", "_jsx"]
}