@coko/client
Version:
Client side common code for coko apps
75 lines (68 loc) • 2.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.randomPick = exports.randomBool = exports.randomArray = exports.noop = exports.createData = exports.Filler = exports.Background = void 0;
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _faker = require("@faker-js/faker");
var _lodash = require("lodash");
var _templateObject, _templateObject2; // eslint-disable-next-line import/no-extraneous-dependencies
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
/**
* Wrap components around this to show what they will look like
* with the grey body background
*/
var Background = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n padding: 40px;\n"])), function (props) {
return props.theme.colorBody;
});
exports.Background = Background;
var StyledFiller = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n align-items: center;\n background: ", ";\n display: flex;\n flex-direction: column;\n height: 200px;\n justify-content: center;\n margin-bottom: 16px;\n padding: 48px;\n text-align: justify;\n\n > div {\n font-weight: bold;\n text-align: center;\n }\n"])), function (props) {
return props.theme.colorSecondary;
});
/**
* Just a block with some text in it
*/
var Filler = function Filler() {
return /*#__PURE__*/_react["default"].createElement(StyledFiller, null, /*#__PURE__*/_react["default"].createElement("div", null, "Filler"), /*#__PURE__*/_react["default"].createElement("span", null, _faker.faker.lorem.sentences(10)));
};
/**
* Picks a random item from any given array
*/
exports.Filler = Filler;
var randomPick = function randomPick(array) {
return array[Math.floor(Math.random() * array.length)];
};
/**
* Picks n values randomly from given array
*/
exports.randomPick = randomPick;
var randomArray = function randomArray(array, n) {
var res = [];
while (res.length < n) {
var v = randomPick(array);
if (!res.includes(v)) res.push(v);
}
return res;
};
/**
* Randomly picks true or false
*/
exports.randomArray = randomArray;
var randomBool = function randomBool() {
return randomPick([true, false]);
};
/**
* Creates an array of length n of whatever the callback returns
*/
exports.randomBool = randomBool;
var createData = function createData(n, callback) {
return (0, _lodash.range)(n).map(callback);
};
/**
* Just an empty function to use as a placeholder for required functions
*/
exports.createData = createData;
var noop = function noop() {};
exports.noop = noop;