@talend/react-forms
Version:
React forms library based on json schema form.
48 lines (47 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TextModeArrayTemplate;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _TextModeArrayTemplateModule = _interopRequireDefault(require("./TextModeArrayTemplate.module.scss"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function renderListItem(val, index, renderItem) {
const valueIsObject = typeof val === 'object';
const classNames = valueIsObject ? _TextModeArrayTemplateModule.default.block : undefined;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
className: classNames,
children: valueIsObject ? renderItem(index) : val
}, index);
}
function TextModeArrayTemplate(props) {
const {
id,
renderItem,
schema,
value
} = props;
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: _TextModeArrayTemplateModule.default['tf-array-text-mode'],
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("dt", {
className: "tf-title-text-mode",
id: id,
children: schema.title
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("dd", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ol", {
"aria-labelledby": id,
children: value.map((val, index) => renderListItem(val, index, renderItem))
})
})]
});
}
if (process.env.NODE_ENV !== 'production') {
TextModeArrayTemplate.propTypes = {
id: _propTypes.default.string,
renderItem: _propTypes.default.func,
schema: _propTypes.default.object.isRequired,
value: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string])).isRequired
};
}
//# sourceMappingURL=TextModeArrayTemplate.component.js.map