@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
44 lines (43 loc) • 2.37 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Tabs = exports.TabPanel = exports.TabList = exports.Tab = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const clsx_1 = __importDefault(require("clsx"));
const react_tabs_1 = require("react-tabs");
const CustomTab = (_a) => {
var { children, hasErrors = false } = _a, props = __rest(_a, ["children", "hasErrors"]);
const linkClassName = (0, clsx_1.default)('nav-link', {
active: props.selected,
'is-invalid': hasErrors,
'tab-error': hasErrors,
});
return ((0, jsx_runtime_1.jsx)(react_tabs_1.Tab, Object.assign({ className: "nav-item", selectedClassName: "active" }, props, { children: (0, jsx_runtime_1.jsx)("a", Object.assign({ href: "#", onClick: e => e.preventDefault(), className: linkClassName }, { children: children })) })));
};
exports.Tab = CustomTab;
CustomTab.tabsRole = 'Tab';
const CustomTabList = props => ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "card-header" }, { children: (0, jsx_runtime_1.jsx)(react_tabs_1.TabList, Object.assign({ className: "nav nav-tabs card-header-tabs" }, props)) })));
exports.TabList = CustomTabList;
CustomTabList.tabsRole = 'TabList';
const CustomTabs = props => ((0, jsx_runtime_1.jsx)(react_tabs_1.Tabs, Object.assign({ className: "card" }, props)));
exports.Tabs = CustomTabs;
CustomTabs.tabsRole = 'Tabs';
const CustomTabPanel = props => {
const style = props.selected ? {} : { display: 'none' };
return ((0, jsx_runtime_1.jsx)(react_tabs_1.TabPanel, Object.assign({ className: "card-body tab-pane", selectedClassName: "active", style: style }, props)));
};
exports.TabPanel = CustomTabPanel;
CustomTabPanel.tabsRole = 'TabPanel';