@pie-lib/render-ui 5.1.0-next.0 → 5.1.0-next.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/lib/assets/enableAudioAutoplayImage.js +2 -1
- package/lib/assets/enableAudioAutoplayImage.js.map +1 -1
- package/lib/collapsible/index.js +4 -1
- package/lib/collapsible/index.js.map +1 -1
- package/lib/color.js +5 -1
- package/lib/color.js.map +1 -1
- package/lib/feedback.js +10 -1
- package/lib/feedback.js.map +1 -1
- package/lib/has-media.js +2 -1
- package/lib/has-media.js.map +1 -1
- package/lib/has-text.js +3 -1
- package/lib/has-text.js.map +1 -1
- package/lib/html-and-math.js +3 -1
- package/lib/html-and-math.js.map +1 -1
- package/lib/index.js +8 -8
- package/lib/index.js.map +1 -1
- package/lib/input-container.js +2 -1
- package/lib/input-container.js.map +1 -1
- package/lib/preview-layout.js +3 -1
- package/lib/preview-layout.js.map +1 -1
- package/lib/preview-prompt.js +28 -2
- package/lib/preview-prompt.js.map +1 -1
- package/lib/purpose.js +4 -1
- package/lib/purpose.js.map +1 -1
- package/lib/readable.js +4 -1
- package/lib/readable.js.map +1 -1
- package/lib/response-indicators.js +9 -1
- package/lib/response-indicators.js.map +1 -1
- package/lib/ui-layout.js +13 -11
- package/lib/ui-layout.js.map +1 -1
- package/lib/withUndoReset.js +15 -3
- package/lib/withUndoReset.js.map +1 -1
- package/package.json +5 -5
- package/src/index.js +0 -2
- package/src/preview-prompt.jsx +6 -5
- package/src/ui-layout.jsx +6 -7
- package/lib/__tests__/color.test.js +0 -15
- package/lib/__tests__/has-media.test.js +0 -20
- package/lib/__tests__/has-text.test.js +0 -18
- package/lib/__tests__/html-and-math.test.js +0 -48
- package/lib/__tests__/preview-prompt.test.js +0 -57
- package/lib/__tests__/purpose.test.js +0 -40
- package/lib/__tests__/readable.test.js +0 -46
- package/lib/__tests__/response-indicators.test.js +0 -178
- package/lib/__tests__/ui-layout.test.js +0 -66
- package/lib/__tests__/withUndoReset.test.js +0 -239
- package/lib/append-css-rules.js +0 -61
- package/lib/append-css-rules.js.map +0 -1
- package/lib/collapsible/__tests__/index.test.js +0 -60
- package/src/append-css-rules.js +0 -51
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"append-css-rules.js","names":["_react","_interopRequireDefault","require","_propTypes","_isEmpty","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ExtraCSSRulesMixin","_React$Component","props","_this","_classCallCheck2","_defineProperty2","isEmpty","extraCSSRules","classesSheet","headElement","document","head","getElementsByTagName","parentElement","appendChild","_this$props","classes","innerHTML","concat","rules","createElement","_inherits2","_createClass2","key","value","componentDidMount","appendExtraStyles","React","Component","PropTypes","shape","names","arrayOf","string","_default","exports"],"sources":["../src/append-css-rules.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nclass ExtraCSSRulesMixin extends React.Component {\n static propTypes = {\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n };\n\n static defaultProps = {\n extraCSSRules: {},\n };\n\n constructor(props) {\n super(props);\n this.classesSheet = document.createElement('style');\n }\n\n componentDidMount() {\n this.appendExtraStyles();\n }\n\n appendExtraStyles = () => {\n if (isEmpty(this.props.extraCSSRules) || !this.classesSheet) {\n return;\n }\n\n const headElement = document.head || document.getElementsByTagName('head')[0];\n\n if (!headElement) {\n return;\n }\n\n if (!this.classesSheet.parentElement) {\n headElement.appendChild(this.classesSheet);\n }\n\n const { extraCSSRules, classes } = this.props;\n\n this.classesSheet.innerHTML = `\n .${classes.extraCSSRules} {\n ${extraCSSRules.rules}\n }\n `;\n };\n}\n\nexport default ExtraCSSRulesMixin;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAqC,SAAAG,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAE/Bc,kBAAkB,0BAAAC,gBAAA;EAYtB,SAAAD,mBAAYE,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,kBAAA;IACjBG,KAAA,GAAAlB,UAAA,OAAAe,kBAAA,GAAME,KAAK;IAAE,IAAAG,gBAAA,aAAAF,KAAA,uBAQK,YAAM;MACxB,IAAI,IAAAG,mBAAO,EAACH,KAAA,CAAKD,KAAK,CAACK,aAAa,CAAC,IAAI,CAACJ,KAAA,CAAKK,YAAY,EAAE;QAC3D;MACF;MAEA,IAAMC,WAAW,GAAGC,QAAQ,CAACC,IAAI,IAAID,QAAQ,CAACE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;MAE7E,IAAI,CAACH,WAAW,EAAE;QAChB;MACF;MAEA,IAAI,CAACN,KAAA,CAAKK,YAAY,CAACK,aAAa,EAAE;QACpCJ,WAAW,CAACK,WAAW,CAACX,KAAA,CAAKK,YAAY,CAAC;MAC5C;MAEA,IAAAO,WAAA,GAAmCZ,KAAA,CAAKD,KAAK;QAArCK,aAAa,GAAAQ,WAAA,CAAbR,aAAa;QAAES,OAAO,GAAAD,WAAA,CAAPC,OAAO;MAE9Bb,KAAA,CAAKK,YAAY,CAACS,SAAS,eAAAC,MAAA,CACtBF,OAAO,CAACT,aAAa,kBAAAW,MAAA,CACpBX,aAAa,CAACY,KAAK,oBAExB;IACH,CAAC;IA7BChB,KAAA,CAAKK,YAAY,GAAGE,QAAQ,CAACU,aAAa,CAAC,OAAO,CAAC;IAAC,OAAAjB,KAAA;EACtD;EAAC,IAAAkB,UAAA,aAAArB,kBAAA,EAAAC,gBAAA;EAAA,WAAAqB,aAAA,aAAAtB,kBAAA;IAAAuB,GAAA;IAAAC,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAC1B;EAAC;AAAA,EAnB8BC,iBAAK,CAACC,SAAS;AAAA,IAAAvB,gBAAA,aAA1CL,kBAAkB,eACH;EACjBO,aAAa,EAAEsB,qBAAS,CAACC,KAAK,CAAC;IAC7BC,KAAK,EAAEF,qBAAS,CAACG,OAAO,CAACH,qBAAS,CAACI,MAAM,CAAC;IAC1Cd,KAAK,EAAEU,qBAAS,CAACI;EACnB,CAAC;AACH,CAAC;AAAA,IAAA5B,gBAAA,aANGL,kBAAkB,kBAQA;EACpBO,aAAa,EAAE,CAAC;AAClB,CAAC;AAAA,IAAA2B,QAAA,GAAAC,OAAA,cAoCYnC,kBAAkB","ignoreList":[]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _index = require("../index");
|
|
10
|
-
describe('collapsible', function () {
|
|
11
|
-
describe('rendering', function () {
|
|
12
|
-
it('renders collapsible component', function () {
|
|
13
|
-
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.Collapsible, {
|
|
14
|
-
classes: {}
|
|
15
|
-
})),
|
|
16
|
-
container = _render.container;
|
|
17
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
18
|
-
});
|
|
19
|
-
it('renders with default collapsed state', function () {
|
|
20
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.Collapsible, {
|
|
21
|
-
classes: {},
|
|
22
|
-
labels: {
|
|
23
|
-
hidden: 'Show More',
|
|
24
|
-
visible: 'Show Less'
|
|
25
|
-
}
|
|
26
|
-
}));
|
|
27
|
-
// Should show "Show More" when collapsed
|
|
28
|
-
expect(_react2.screen.queryByText('Show More')).toBeInTheDocument();
|
|
29
|
-
});
|
|
30
|
-
it('renders children when expanded', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
31
|
-
var user, toggleButton;
|
|
32
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
33
|
-
while (1) switch (_context.prev = _context.next) {
|
|
34
|
-
case 0:
|
|
35
|
-
user = _userEvent["default"].setup();
|
|
36
|
-
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.Collapsible, {
|
|
37
|
-
classes: {}
|
|
38
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, "Test Content")));
|
|
39
|
-
|
|
40
|
-
// Initially collapsed, children not visible
|
|
41
|
-
expect(_react2.screen.queryByText('Test Content')).not.toBeInTheDocument();
|
|
42
|
-
|
|
43
|
-
// Click to expand
|
|
44
|
-
toggleButton = _react2.screen.getByText('Show');
|
|
45
|
-
_context.next = 1;
|
|
46
|
-
return user.click(toggleButton);
|
|
47
|
-
case 1:
|
|
48
|
-
_context.next = 2;
|
|
49
|
-
return _react2.screen.findByText('Test Content');
|
|
50
|
-
case 2:
|
|
51
|
-
expect(_react2.screen.getByText('Test Content')).toBeInTheDocument();
|
|
52
|
-
case 3:
|
|
53
|
-
case "end":
|
|
54
|
-
return _context.stop();
|
|
55
|
-
}
|
|
56
|
-
}, _callee);
|
|
57
|
-
})));
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2luZGV4IiwiZGVzY3JpYmUiLCJpdCIsIl9yZW5kZXIiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiQ29sbGFwc2libGUiLCJjbGFzc2VzIiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwibGFiZWxzIiwiaGlkZGVuIiwidmlzaWJsZSIsInNjcmVlbiIsInF1ZXJ5QnlUZXh0IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ1c2VyIiwidG9nZ2xlQnV0dG9uIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ1c2VyRXZlbnQiLCJzZXR1cCIsIm5vdCIsImdldEJ5VGV4dCIsImNsaWNrIiwiZmluZEJ5VGV4dCIsInN0b3AiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29sbGFwc2libGUvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHVzZXJFdmVudCBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnQnO1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICcuLi9pbmRleCc7XG5cbmRlc2NyaWJlKCdjb2xsYXBzaWJsZScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyBjb2xsYXBzaWJsZSBjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxDb2xsYXBzaWJsZSBjbGFzc2VzPXt7fX0gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IGNvbGxhcHNlZCBzdGF0ZScsICgpID0+IHtcbiAgICAgIHJlbmRlcig8Q29sbGFwc2libGUgY2xhc3Nlcz17e319IGxhYmVscz17eyBoaWRkZW46ICdTaG93IE1vcmUnLCB2aXNpYmxlOiAnU2hvdyBMZXNzJyB9fSAvPik7XG4gICAgICAvLyBTaG91bGQgc2hvdyBcIlNob3cgTW9yZVwiIHdoZW4gY29sbGFwc2VkXG4gICAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXh0KCdTaG93IE1vcmUnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGNoaWxkcmVuIHdoZW4gZXhwYW5kZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB1c2VyID0gdXNlckV2ZW50LnNldHVwKCk7XG4gICAgICByZW5kZXIoXG4gICAgICAgIDxDb2xsYXBzaWJsZSBjbGFzc2VzPXt7fX0+XG4gICAgICAgICAgPGRpdj5UZXN0IENvbnRlbnQ8L2Rpdj5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT4sXG4gICAgICApO1xuXG4gICAgICAvLyBJbml0aWFsbHkgY29sbGFwc2VkLCBjaGlsZHJlbiBub3QgdmlzaWJsZVxuICAgICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnVGVzdCBDb250ZW50JykpLm5vdC50b0JlSW5UaGVEb2N1bWVudCgpO1xuXG4gICAgICAvLyBDbGljayB0byBleHBhbmRcbiAgICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbiA9IHNjcmVlbi5nZXRCeVRleHQoJ1Nob3cnKTtcbiAgICAgIGF3YWl0IHVzZXIuY2xpY2sodG9nZ2xlQnV0dG9uKTtcblxuICAgICAgLy8gV2FpdCBmb3IgZXhwYW5zaW9uIGFuaW1hdGlvbiBhbmQgY2hlY2sgY2hpbGRyZW4gYXJlIHZpc2libGVcbiAgICAgIGF3YWl0IHNjcmVlbi5maW5kQnlUZXh0KCdUZXN0IENvbnRlbnQnKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdUZXN0IENvbnRlbnQnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFFQUksUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0VBQzVCQSxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDMUJDLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxZQUFNO01BQ3hDLElBQUFDLE9BQUEsR0FBc0IsSUFBQUMsY0FBTSxlQUFDVCxNQUFBLFlBQUFVLGFBQUEsQ0FBQ0wsTUFBQSxDQUFBTSxXQUFXO1VBQUNDLE9BQU8sRUFBRSxDQUFDO1FBQUUsQ0FBRSxDQUFDLENBQUM7UUFBbERDLFNBQVMsR0FBQUwsT0FBQSxDQUFUSyxTQUFTO01BQ2pCQyxNQUFNLENBQUNELFNBQVMsQ0FBQ0UsVUFBVSxDQUFDLENBQUNDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0lBRUZULEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxZQUFNO01BQy9DLElBQUFFLGNBQU0sZUFBQ1QsTUFBQSxZQUFBVSxhQUFBLENBQUNMLE1BQUEsQ0FBQU0sV0FBVztRQUFDQyxPQUFPLEVBQUUsQ0FBQyxDQUFFO1FBQUNLLE1BQU0sRUFBRTtVQUFFQyxNQUFNLEVBQUUsV0FBVztVQUFFQyxPQUFPLEVBQUU7UUFBWTtNQUFFLENBQUUsQ0FBQyxDQUFDO01BQzNGO01BQ0FMLE1BQU0sQ0FBQ00sY0FBTSxDQUFDQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQ0wsaUJBQWlCLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUM7SUFFRlQsRUFBRSxDQUFDLGdDQUFnQyxtQkFBQWUsa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7TUFBQSxJQUFBQyxJQUFBLEVBQUFDLFlBQUE7TUFBQSxPQUFBSixZQUFBLFlBQUFLLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFDN0JMLElBQUksR0FBR00scUJBQVMsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBQXhCLGNBQU0sZUFDSlQsTUFBQSxZQUFBVSxhQUFBLENBQUNMLE1BQUEsQ0FBQU0sV0FBVztjQUFDQyxPQUFPLEVBQUUsQ0FBQztZQUFFLGdCQUN2QlosTUFBQSxZQUFBVSxhQUFBLGNBQUssY0FBaUIsQ0FDWCxDQUNmLENBQUM7O1lBRUQ7WUFDQUksTUFBTSxDQUFDTSxjQUFNLENBQUNDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDYSxHQUFHLENBQUNsQixpQkFBaUIsQ0FBQyxDQUFDOztZQUVsRTtZQUNNVyxZQUFZLEdBQUdQLGNBQU0sQ0FBQ2UsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUFBTixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUN2Q0wsSUFBSSxDQUFDVSxLQUFLLENBQUNULFlBQVksQ0FBQztVQUFBO1lBQUFFLFFBQUEsQ0FBQUUsSUFBQTtZQUFBLE9BR3hCWCxjQUFNLENBQUNpQixVQUFVLENBQUMsY0FBYyxDQUFDO1VBQUE7WUFDdkN2QixNQUFNLENBQUNNLGNBQU0sQ0FBQ2UsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUNuQixpQkFBaUIsQ0FBQyxDQUFDO1VBQUM7VUFBQTtZQUFBLE9BQUFhLFFBQUEsQ0FBQVMsSUFBQTtRQUFBO01BQUEsR0FBQWIsT0FBQTtJQUFBLENBQzlELEdBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/src/append-css-rules.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
|
-
|
|
5
|
-
class ExtraCSSRulesMixin extends React.Component {
|
|
6
|
-
static propTypes = {
|
|
7
|
-
extraCSSRules: PropTypes.shape({
|
|
8
|
-
names: PropTypes.arrayOf(PropTypes.string),
|
|
9
|
-
rules: PropTypes.string,
|
|
10
|
-
}),
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
static defaultProps = {
|
|
14
|
-
extraCSSRules: {},
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
constructor(props) {
|
|
18
|
-
super(props);
|
|
19
|
-
this.classesSheet = document.createElement('style');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
componentDidMount() {
|
|
23
|
-
this.appendExtraStyles();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
appendExtraStyles = () => {
|
|
27
|
-
if (isEmpty(this.props.extraCSSRules) || !this.classesSheet) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const headElement = document.head || document.getElementsByTagName('head')[0];
|
|
32
|
-
|
|
33
|
-
if (!headElement) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (!this.classesSheet.parentElement) {
|
|
38
|
-
headElement.appendChild(this.classesSheet);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const { extraCSSRules, classes } = this.props;
|
|
42
|
-
|
|
43
|
-
this.classesSheet.innerHTML = `
|
|
44
|
-
.${classes.extraCSSRules} {
|
|
45
|
-
${extraCSSRules.rules}
|
|
46
|
-
}
|
|
47
|
-
`;
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export default ExtraCSSRulesMixin;
|