matrix-react-sdk
Version:
SDK for matrix.org using React
66 lines (63 loc) • 6.42 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SettingsSection = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireDefault(require("react"));
var _Heading = _interopRequireDefault(require("../../typography/Heading"));
const _excluded = ["className", "heading", "children"];
/*
Copyright 2024 New Vector Ltd.
Copyright 2022, 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
function renderHeading(heading) {
switch (typeof heading) {
case "string":
return /*#__PURE__*/_react.default.createElement(_Heading.default, {
as: "h2",
size: "3"
}, heading);
case "undefined":
return undefined;
default:
return heading;
}
}
/**
* A section of settings content
* A SettingsTab may contain one or more SettingsSections
* Eg:
* ```
* <SettingsTab>
* <SettingsSection heading="General">
* <SettingsSubsection heading="Profile">
* // profile settings form
* <SettingsSubsection>
* <SettingsSubsection heading="Account">
* // account settings
* <SettingsSubsection>
* </SettingsSection>
* </SettingsTab>
* ```
*/
const SettingsSection = _ref => {
let {
className,
heading,
children
} = _ref,
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
className: (0, _classnames.default)("mx_SettingsSection", className)
}), renderHeading(heading), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_SettingsSection_subSections"
}, children));
};
exports.SettingsSection = SettingsSection;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0hlYWRpbmciLCJfZXhjbHVkZWQiLCJyZW5kZXJIZWFkaW5nIiwiaGVhZGluZyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiYXMiLCJzaXplIiwidW5kZWZpbmVkIiwiU2V0dGluZ3NTZWN0aW9uIiwiX3JlZiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwicmVzdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJfZXh0ZW5kczIiLCJjbGFzc25hbWVzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9TZXR0aW5nc1NlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyLCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgUmVhY3QsIHsgSFRNTEF0dHJpYnV0ZXMgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IEhlYWRpbmcgZnJvbSBcIi4uLy4uL3R5cG9ncmFwaHkvSGVhZGluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzU2VjdGlvblByb3BzIGV4dGVuZHMgSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+IHtcbiAgICBoZWFkaW5nPzogc3RyaW5nIHwgUmVhY3QuUmVhY3ROb2RlO1xuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5mdW5jdGlvbiByZW5kZXJIZWFkaW5nKGhlYWRpbmc6IHN0cmluZyB8IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZCk6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0eXBlb2YgaGVhZGluZykge1xuICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxIZWFkaW5nIGFzPVwiaDJcIiBzaXplPVwiM1wiPlxuICAgICAgICAgICAgICAgICAgICB7aGVhZGluZ31cbiAgICAgICAgICAgICAgICA8L0hlYWRpbmc+XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGhlYWRpbmc7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgc2VjdGlvbiBvZiBzZXR0aW5ncyBjb250ZW50XG4gKiBBIFNldHRpbmdzVGFiIG1heSBjb250YWluIG9uZSBvciBtb3JlIFNldHRpbmdzU2VjdGlvbnNcbiAqIEVnOlxuICogYGBgXG4gKiA8U2V0dGluZ3NUYWI+XG4gKiAgICAgIDxTZXR0aW5nc1NlY3Rpb24gaGVhZGluZz1cIkdlbmVyYWxcIj5cbiAqICAgICAgICAgICA8U2V0dGluZ3NTdWJzZWN0aW9uIGhlYWRpbmc9XCJQcm9maWxlXCI+XG4gKiAgICAgICAgICAgICAgLy8gcHJvZmlsZSBzZXR0aW5ncyBmb3JtXG4gKiAgICAgICAgICA8U2V0dGluZ3NTdWJzZWN0aW9uPlxuICogICAgICAgICAgPFNldHRpbmdzU3Vic2VjdGlvbiBoZWFkaW5nPVwiQWNjb3VudFwiPlxuICogICAgICAgICAgICAgIC8vIGFjY291bnQgc2V0dGluZ3NcbiAqICAgICAgICAgIDxTZXR0aW5nc1N1YnNlY3Rpb24+XG4gKiAgICAgIDwvU2V0dGluZ3NTZWN0aW9uPlxuICogPC9TZXR0aW5nc1RhYj5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgU2V0dGluZ3NTZWN0aW9uOiBSZWFjdC5GQzxTZXR0aW5nc1NlY3Rpb25Qcm9wcz4gPSAoeyBjbGFzc05hbWUsIGhlYWRpbmcsIGNoaWxkcmVuLCAuLi5yZXN0IH0pID0+IChcbiAgICA8ZGl2IHsuLi5yZXN0fSBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXCJteF9TZXR0aW5nc1NlY3Rpb25cIiwgY2xhc3NOYW1lKX0+XG4gICAgICAgIHtyZW5kZXJIZWFkaW5nKGhlYWRpbmcpfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1NldHRpbmdzU2VjdGlvbl9zdWJTZWN0aW9uc1wiPntjaGlsZHJlbn08L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUErQyxNQUFBRyxTQUFBO0FBWC9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUEsU0FBU0MsYUFBYUEsQ0FBQ0MsT0FBNkMsRUFBK0I7RUFDL0YsUUFBUSxPQUFPQSxPQUFPO0lBQ2xCLEtBQUssUUFBUTtNQUNULG9CQUNJSixNQUFBLENBQUFLLE9BQUEsQ0FBQUMsYUFBQSxDQUFDTCxRQUFBLENBQUFJLE9BQU87UUFBQ0UsRUFBRSxFQUFDLElBQUk7UUFBQ0MsSUFBSSxFQUFDO01BQUcsR0FDcEJKLE9BQ0ksQ0FBQztJQUVsQixLQUFLLFdBQVc7TUFDWixPQUFPSyxTQUFTO0lBQ3BCO01BQ0ksT0FBT0wsT0FBTztFQUN0QjtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNTSxlQUErQyxHQUFHQyxJQUFBO0VBQUEsSUFBQztNQUFFQyxTQUFTO01BQUVSLE9BQU87TUFBRVM7SUFBa0IsQ0FBQyxHQUFBRixJQUFBO0lBQU5HLElBQUksT0FBQUMseUJBQUEsQ0FBQVYsT0FBQSxFQUFBTSxJQUFBLEVBQUFULFNBQUE7RUFBQSxvQkFDbkdGLE1BQUEsQ0FBQUssT0FBQSxDQUFBQyxhQUFBLFlBQUFVLFNBQUEsQ0FBQVgsT0FBQSxNQUFTUyxJQUFJO0lBQUVGLFNBQVMsRUFBRSxJQUFBSyxtQkFBVSxFQUFDLG9CQUFvQixFQUFFTCxTQUFTO0VBQUUsSUFDakVULGFBQWEsQ0FBQ0MsT0FBTyxDQUFDLGVBQ3ZCSixNQUFBLENBQUFLLE9BQUEsQ0FBQUMsYUFBQTtJQUFLTSxTQUFTLEVBQUM7RUFBZ0MsR0FBRUMsUUFBYyxDQUM5RCxDQUFDO0FBQUEsQ0FDVDtBQUFDSyxPQUFBLENBQUFSLGVBQUEsR0FBQUEsZUFBQSIsImlnbm9yZUxpc3QiOltdfQ==