UNPKG

@mikezimm/fps-library-v2

Version:

Library of reusable typescript/javascript functions, interfaces and constants

31 lines 1.75 kB
import * as React from 'react'; import { Toggle } from '@fluentui/react/lib/Toggle'; import { Stack } from '@fluentui/react/lib/Stack'; export function makeToggles(makeTheseToggles) { if (makeTheseToggles.toggles.length === 0) { return null; } else { let defStyles = makeTheseToggles.rootStyle ? { root: makeTheseToggles.rootStyle } : { root: { width: 160, } }; let toggleResult = makeTheseToggles.toggles.map(toggle => { // Basically, if you leave it as '', you will get the default: either 'On' or 'Off' // If you pass in '-', it will be blank // Else it will be the value let onText = toggle.onText != '' ? toggle.onText != '-' ? toggle.onText : '' : 'On'; // eslint-disable-line eqeqeq let offText = toggle.offText != '' ? toggle.offText != '-' ? toggle.offText : '' : 'Off'; // eslint-disable-line eqeqeq let thisToggle = React.createElement(Toggle, { label: toggle.label ? toggle.label : '', onText: onText, offText: offText, onChange: toggle._onChange, checked: toggle.checked, styles: toggle.styles ? toggle.styles : defStyles }); return thisToggle; }); if (toggleResult.length === 1) { return toggleResult[0]; } else { const stackButtonTokensBody = { childrenGap: makeTheseToggles.childGap }; return React.createElement(Stack, { padding: 0, horizontal: !makeTheseToggles.vertical, horizontalAlign: makeTheseToggles.hAlign, verticalAlign: makeTheseToggles.vAlign, tokens: stackButtonTokensBody }, " ", toggleResult); } } } //# sourceMappingURL=toggleFieldBuilder.js.map