@pie-lib/render-ui 6.1.0-next.2 → 6.1.1-next.0

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.
Files changed (105) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/assets/enableAudioAutoplayImage.d.ts +10 -0
  3. package/dist/assets/enableAudioAutoplayImage.js +4 -0
  4. package/dist/collapsible/index.d.ts +31 -0
  5. package/dist/collapsible/index.js +53 -0
  6. package/dist/color.d.ts +116 -0
  7. package/dist/color.js +120 -0
  8. package/dist/feedback.d.ts +20 -0
  9. package/dist/feedback.js +65 -0
  10. package/dist/has-media.d.ts +9 -0
  11. package/dist/has-media.js +10 -0
  12. package/dist/has-text.d.ts +9 -0
  13. package/dist/has-text.js +10 -0
  14. package/dist/html-and-math.d.ts +22 -0
  15. package/dist/html-and-math.js +25 -0
  16. package/dist/index.d.ts +26 -0
  17. package/dist/index.js +18 -0
  18. package/dist/inline-menu.d.ts +33 -0
  19. package/dist/inline-menu.js +29 -0
  20. package/dist/input-container.d.ts +23 -0
  21. package/dist/input-container.js +39 -0
  22. package/dist/preview-layout.d.ts +24 -0
  23. package/dist/preview-layout.js +37 -0
  24. package/dist/preview-prompt.d.ts +38 -0
  25. package/dist/preview-prompt.js +154 -0
  26. package/dist/purpose.d.ts +18 -0
  27. package/dist/purpose.js +11 -0
  28. package/dist/readable.d.ts +18 -0
  29. package/dist/readable.js +11 -0
  30. package/dist/response-indicators.d.ts +121 -0
  31. package/dist/response-indicators.js +62 -0
  32. package/{src/transform-headings.js → dist/transform-headings.d.ts} +9 -30
  33. package/dist/transform-headings.js +15 -0
  34. package/dist/ui-layout.d.ts +31 -0
  35. package/dist/ui-layout.js +55 -0
  36. package/dist/withUndoReset.d.ts +47 -0
  37. package/dist/withUndoReset.js +84 -0
  38. package/package.json +30 -20
  39. package/CHANGELOG.json +0 -1
  40. package/CHANGELOG.md +0 -1140
  41. package/LICENSE.md +0 -5
  42. package/lib/assets/enableAudioAutoplayImage.js +0 -8
  43. package/lib/assets/enableAudioAutoplayImage.js.map +0 -1
  44. package/lib/collapsible/index.js +0 -105
  45. package/lib/collapsible/index.js.map +0 -1
  46. package/lib/color.js +0 -231
  47. package/lib/color.js.map +0 -1
  48. package/lib/feedback.js +0 -112
  49. package/lib/feedback.js.map +0 -1
  50. package/lib/has-media.js +0 -22
  51. package/lib/has-media.js.map +0 -1
  52. package/lib/has-text.js +0 -22
  53. package/lib/has-text.js.map +0 -1
  54. package/lib/html-and-math.js +0 -54
  55. package/lib/html-and-math.js.map +0 -1
  56. package/lib/index.js +0 -113
  57. package/lib/index.js.map +0 -1
  58. package/lib/input-container.js +0 -59
  59. package/lib/input-container.js.map +0 -1
  60. package/lib/preview-layout.js +0 -65
  61. package/lib/preview-layout.js.map +0 -1
  62. package/lib/preview-prompt.js +0 -299
  63. package/lib/preview-prompt.js.map +0 -1
  64. package/lib/purpose.js +0 -22
  65. package/lib/purpose.js.map +0 -1
  66. package/lib/readable.js +0 -22
  67. package/lib/readable.js.map +0 -1
  68. package/lib/response-indicators.js +0 -102
  69. package/lib/response-indicators.js.map +0 -1
  70. package/lib/transform-headings.js +0 -53
  71. package/lib/transform-headings.js.map +0 -1
  72. package/lib/ui-layout.js +0 -125
  73. package/lib/ui-layout.js.map +0 -1
  74. package/lib/withUndoReset.js +0 -135
  75. package/lib/withUndoReset.js.map +0 -1
  76. package/src/__tests__/color.test.js +0 -259
  77. package/src/__tests__/feedback.test.jsx +0 -279
  78. package/src/__tests__/has-media.test.js +0 -19
  79. package/src/__tests__/has-text.test.js +0 -20
  80. package/src/__tests__/html-and-math.test.js +0 -36
  81. package/src/__tests__/input-container.test.jsx +0 -328
  82. package/src/__tests__/preview-layout.test.jsx +0 -349
  83. package/src/__tests__/preview-prompt.test.jsx +0 -379
  84. package/src/__tests__/purpose.test.jsx +0 -51
  85. package/src/__tests__/readable.test.jsx +0 -69
  86. package/src/__tests__/response-indicators.test.jsx +0 -111
  87. package/src/__tests__/ui-layout.test.jsx +0 -52
  88. package/src/__tests__/withUndoReset.test.jsx +0 -176
  89. package/src/assets/enableAudioAutoplayImage.js +0 -1
  90. package/src/collapsible/__tests__/index.test.jsx +0 -39
  91. package/src/collapsible/index.jsx +0 -64
  92. package/src/color.js +0 -137
  93. package/src/feedback.jsx +0 -84
  94. package/src/has-media.js +0 -16
  95. package/src/has-text.js +0 -18
  96. package/src/html-and-math.js +0 -21
  97. package/src/index.js +0 -35
  98. package/src/input-container.jsx +0 -47
  99. package/src/preview-layout.jsx +0 -41
  100. package/src/preview-prompt.jsx +0 -280
  101. package/src/purpose.jsx +0 -17
  102. package/src/readable.jsx +0 -19
  103. package/src/response-indicators.jsx +0 -82
  104. package/src/ui-layout.jsx +0 -96
  105. package/src/withUndoReset.jsx +0 -114
package/lib/ui-layout.js DELETED
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _react = _interopRequireDefault(require("react"));
17
- var _styles = require("@mui/material/styles");
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
- var _excluded = ["children", "className", "fontSizeFactor"],
20
- _excluded2 = ["extraCSSRules"];
21
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
- var theme = (0, _styles.createTheme)({
24
- typography: {
25
- fontFamily: 'inherit'
26
- },
27
- palette: {
28
- action: {
29
- disabled: 'rgba(0, 0, 0, 0.54);'
30
- }
31
- },
32
- components: {
33
- MuiTypography: {
34
- styleOverrides: {
35
- root: {
36
- fontFamily: 'inherit'
37
- }
38
- }
39
- },
40
- MuiButton: {
41
- styleOverrides: {
42
- contained: {
43
- backgroundColor: '#e0e0e0',
44
- color: '#000000',
45
- '&:hover': {
46
- backgroundColor: '#bdbdbd'
47
- }
48
- }
49
- }
50
- }
51
- }
52
- });
53
- var StyledContainer = (0, _styles.styled)('div')({
54
- // need this because some browsers set their own style on table
55
- '& table, th, td': {
56
- fontSize: 'inherit' /* Ensure table elements inherit font size */
57
- }
58
- });
59
- var UiLayout = /*#__PURE__*/function (_React$Component) {
60
- function UiLayout(props) {
61
- var _this;
62
- (0, _classCallCheck2["default"])(this, UiLayout);
63
- _this = _callSuper(this, UiLayout, [props]);
64
- _this.classesSheet = document.createElement('style');
65
- return _this;
66
- }
67
- (0, _inherits2["default"])(UiLayout, _React$Component);
68
- return (0, _createClass2["default"])(UiLayout, [{
69
- key: "computeStyle",
70
- value: function computeStyle(fontSizeFactor) {
71
- var getFontSize = function getFontSize(element) {
72
- return parseFloat(getComputedStyle(element).fontSize);
73
- };
74
- var rootFontSize = getFontSize(document.documentElement);
75
- var bodyFontSize = getFontSize(document.body);
76
- var effectiveFontSize = Math.max(rootFontSize, bodyFontSize);
77
-
78
- // Handle null, undefined, or invalid values by defaulting to 1
79
- var factor = fontSizeFactor != null && typeof fontSizeFactor === 'number' ? fontSizeFactor : 1;
80
- return factor !== 1 ? {
81
- fontSize: "".concat(effectiveFontSize * factor, "px")
82
- } : null;
83
- }
84
- }, {
85
- key: "render",
86
- value: function render() {
87
- var _this$props = this.props,
88
- children = _this$props.children,
89
- className = _this$props.className,
90
- fontSizeFactor = _this$props.fontSizeFactor,
91
- rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
92
- var extraCSSRules = rest.extraCSSRules,
93
- restProps = (0, _objectWithoutProperties2["default"])(rest, _excluded2);
94
- var style = this.computeStyle(fontSizeFactor);
95
- return /*#__PURE__*/_react["default"].createElement(_styles.StyledEngineProvider, {
96
- injectFirst: true
97
- }, /*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
98
- theme: theme
99
- }, extraCSSRules !== null && extraCSSRules !== void 0 && extraCSSRules.rules ? /*#__PURE__*/_react["default"].createElement("style", {
100
- dangerouslySetInnerHTML: {
101
- __html: ".extraCSSRules { ".concat(extraCSSRules.rules, " }")
102
- }
103
- }) : null, /*#__PURE__*/_react["default"].createElement(StyledContainer, (0, _extends2["default"])({
104
- className: "".concat(className, " extraCSSRules")
105
- }, restProps, style && {
106
- style: style
107
- }), children)));
108
- }
109
- }]);
110
- }(_react["default"].Component);
111
- (0, _defineProperty2["default"])(UiLayout, "propTypes", {
112
- className: _propTypes["default"].string,
113
- children: _propTypes["default"].array,
114
- extraCSSRules: _propTypes["default"].shape({
115
- names: _propTypes["default"].arrayOf(_propTypes["default"].string),
116
- rules: _propTypes["default"].string
117
- }),
118
- fontSizeFactor: _propTypes["default"].number
119
- });
120
- (0, _defineProperty2["default"])(UiLayout, "defaultProps", {
121
- extraCSSRules: {},
122
- fontSizeFactor: 1
123
- });
124
- var _default = exports["default"] = UiLayout;
125
- //# sourceMappingURL=ui-layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-layout.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_excluded","_excluded2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","theme","createTheme","typography","fontFamily","palette","action","disabled","components","MuiTypography","styleOverrides","root","MuiButton","contained","backgroundColor","color","StyledContainer","styled","fontSize","UiLayout","_React$Component","props","_this","_classCallCheck2","classesSheet","document","createElement","_inherits2","_createClass2","key","value","computeStyle","fontSizeFactor","getFontSize","element","parseFloat","getComputedStyle","rootFontSize","documentElement","bodyFontSize","body","effectiveFontSize","Math","max","factor","concat","render","_this$props","children","className","rest","_objectWithoutProperties2","extraCSSRules","restProps","style","StyledEngineProvider","injectFirst","ThemeProvider","rules","dangerouslySetInnerHTML","__html","_extends2","React","Component","_defineProperty2","PropTypes","string","array","shape","names","arrayOf","number","_default","exports"],"sources":["../src/ui-layout.jsx"],"sourcesContent":["import React from 'react';\nimport { createTheme, styled, StyledEngineProvider, ThemeProvider } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\n\nconst theme = createTheme({\n typography: {\n fontFamily: 'inherit',\n },\n palette: {\n action: {\n disabled: 'rgba(0, 0, 0, 0.54);',\n },\n },\n components: {\n MuiTypography: {\n styleOverrides: {\n root: { fontFamily: 'inherit' },\n },\n },\n MuiButton: {\n styleOverrides: {\n contained: {\n backgroundColor: '#e0e0e0',\n color: '#000000',\n '&:hover': {\n backgroundColor: '#bdbdbd',\n },\n },\n },\n },\n },\n});\n\nconst StyledContainer = styled('div')({\n // need this because some browsers set their own style on table\n '& table, th, td': {\n fontSize: 'inherit' /* Ensure table elements inherit font size */,\n },\n});\n\nclass UiLayout extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n children: PropTypes.array,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n fontSizeFactor: PropTypes.number,\n };\n\n static defaultProps = {\n extraCSSRules: {},\n fontSizeFactor: 1,\n };\n\n constructor(props) {\n super(props);\n this.classesSheet = document.createElement('style');\n }\n\n computeStyle(fontSizeFactor) {\n const getFontSize = (element) => parseFloat(getComputedStyle(element).fontSize);\n\n const rootFontSize = getFontSize(document.documentElement);\n const bodyFontSize = getFontSize(document.body);\n const effectiveFontSize = Math.max(rootFontSize, bodyFontSize);\n\n // Handle null, undefined, or invalid values by defaulting to 1\n const factor = fontSizeFactor != null && typeof fontSizeFactor === 'number' ? fontSizeFactor : 1;\n return factor !== 1 ? { fontSize: `${effectiveFontSize * factor}px` } : null;\n }\n\n render() {\n const { children, className, fontSizeFactor, ...rest } = this.props;\n\n const { extraCSSRules, ...restProps } = rest;\n const style = this.computeStyle(fontSizeFactor);\n\n return (\n <StyledEngineProvider injectFirst>\n <ThemeProvider theme={theme}>\n {extraCSSRules?.rules ? (\n <style dangerouslySetInnerHTML={{ __html: `.extraCSSRules { ${extraCSSRules.rules} }` }} />\n ) : null}\n\n <StyledContainer className={`${className} extraCSSRules`} {...restProps} {...(style && { style })}>\n {children}\n </StyledContainer>\n </ThemeProvider>\n </StyledEngineProvider>\n );\n }\n}\n\nexport default UiLayout;\n"],"mappings":"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","ignoreList":[]}
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
- var React = _interopRequireWildcard(require("react"));
19
- var _propTypes = _interopRequireDefault(require("prop-types"));
20
- var _Button = _interopRequireDefault(require("@mui/material/Button"));
21
- var _styles = require("@mui/material/styles");
22
- var _Restore = _interopRequireDefault(require("@mui/icons-material/Restore"));
23
- var _Undo = _interopRequireDefault(require("@mui/icons-material/Undo"));
24
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
25
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
26
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
27
- var Wrapper = (0, _styles.styled)('div')({
28
- display: 'flex',
29
- flexDirection: 'column'
30
- });
31
- var ResetUndoContainer = (0, _styles.styled)('div')({
32
- display: 'flex',
33
- alignItems: 'center',
34
- justifyContent: 'center'
35
- });
36
- var StyledIcon = (0, _styles.styled)('div')(function (_ref) {
37
- var theme = _ref.theme;
38
- return {
39
- width: '24px',
40
- height: '24px',
41
- color: 'gray',
42
- marginRight: theme.spacing(1),
43
- display: 'flex',
44
- alignItems: 'center'
45
- };
46
- });
47
- var StyledButton = (0, _styles.styled)(_Button["default"])(function (_ref2) {
48
- var theme = _ref2.theme;
49
- return {
50
- display: 'flex',
51
- alignItems: 'center',
52
- marginLeft: theme.spacing(3),
53
- marginRight: theme.spacing(3)
54
- };
55
- });
56
-
57
- /**
58
- * HOC that adds undo and reset functionality for session values
59
- */
60
- var withUndoReset = function withUndoReset(WrappedComponent) {
61
- var WithUndoReset = /*#__PURE__*/function (_React$Component) {
62
- function WithUndoReset(props) {
63
- var _this;
64
- (0, _classCallCheck2["default"])(this, WithUndoReset);
65
- _this = _callSuper(this, WithUndoReset, [props]);
66
- (0, _defineProperty2["default"])(_this, "onSessionChange", function (session) {
67
- _this.setState(function (state) {
68
- return {
69
- session: session,
70
- changes: [].concat((0, _toConsumableArray2["default"])(state.changes), [session])
71
- };
72
- }, function () {
73
- return _this.props.onSessionChange(session);
74
- });
75
- });
76
- (0, _defineProperty2["default"])(_this, "onUndo", function () {
77
- _this.setState(function (state) {
78
- var newChanges = (0, _toConsumableArray2["default"])(state.changes);
79
- newChanges.pop();
80
- return {
81
- changes: newChanges,
82
- session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues
83
- };
84
- }, function () {
85
- return _this.props.onSessionChange(_this.state.session);
86
- });
87
- });
88
- (0, _defineProperty2["default"])(_this, "onReset", function () {
89
- _this.setState(function (state) {
90
- return {
91
- session: state.sessionInitialValues,
92
- changes: []
93
- };
94
- }, function () {
95
- return _this.props.onSessionChange(_this.state.sessionInitialValues);
96
- });
97
- });
98
- _this.state = {
99
- sessionInitialValues: JSON.parse(JSON.stringify(props.session)),
100
- session: props.session,
101
- changes: []
102
- };
103
- return _this;
104
- }
105
- (0, _inherits2["default"])(WithUndoReset, _React$Component);
106
- return (0, _createClass2["default"])(WithUndoReset, [{
107
- key: "render",
108
- value: function render() {
109
- var rest = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(this.props), this.props));
110
- var _this$state = this.state,
111
- changes = _this$state.changes,
112
- session = _this$state.session;
113
- return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(ResetUndoContainer, null, /*#__PURE__*/React.createElement(StyledButton, {
114
- color: "primary",
115
- disabled: changes.length === 0,
116
- onClick: this.onUndo
117
- }, /*#__PURE__*/React.createElement(StyledIcon, null, /*#__PURE__*/React.createElement(_Undo["default"], null)), "Undo"), /*#__PURE__*/React.createElement(StyledButton, {
118
- color: "primary",
119
- disabled: changes.length === 0,
120
- onClick: this.onReset
121
- }, /*#__PURE__*/React.createElement(StyledIcon, null, /*#__PURE__*/React.createElement(_Restore["default"], null)), "Start Over")), /*#__PURE__*/React.createElement(WrappedComponent, (0, _extends2["default"])({}, rest, {
122
- session: session,
123
- onSessionChange: this.onSessionChange
124
- })));
125
- }
126
- }]);
127
- }(React.Component);
128
- (0, _defineProperty2["default"])(WithUndoReset, "propTypes", {
129
- session: _propTypes["default"].object,
130
- onSessionChange: _propTypes["default"].func
131
- });
132
- return WithUndoReset;
133
- };
134
- var _default = exports["default"] = withUndoReset;
135
- //# sourceMappingURL=withUndoReset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"withUndoReset.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_Button","_styles","_Restore","_Undo","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","Wrapper","styled","display","flexDirection","ResetUndoContainer","alignItems","justifyContent","StyledIcon","_ref","theme","width","height","color","marginRight","spacing","StyledButton","Button","_ref2","marginLeft","withUndoReset","WrappedComponent","WithUndoReset","_React$Component","props","_this","_classCallCheck2","_defineProperty2","session","setState","state","changes","concat","_toConsumableArray2","onSessionChange","newChanges","pop","length","sessionInitialValues","JSON","parse","stringify","_inherits2","_createClass2","key","value","render","rest","_extends2","_objectDestructuringEmpty2","_this$state","createElement","disabled","onClick","onUndo","onReset","Component","PropTypes","object","func","_default","exports"],"sources":["../src/withUndoReset.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\nimport Restore from '@mui/icons-material/Restore';\nimport Undo from '@mui/icons-material/Undo';\n\nconst Wrapper = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst ResetUndoContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nconst StyledIcon = styled('div')(({ theme }) => ({\n width: '24px',\n height: '24px',\n color: 'gray',\n marginRight: theme.spacing(1),\n display: 'flex',\n alignItems: 'center',\n}));\n\nconst StyledButton = styled(Button)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n}));\n\n/**\n * HOC that adds undo and reset functionality for session values\n */\nconst withUndoReset = (WrappedComponent) => {\n class WithUndoReset extends React.Component {\n static propTypes = {\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n sessionInitialValues: JSON.parse(JSON.stringify(props.session)),\n session: props.session,\n changes: [],\n };\n }\n\n onSessionChange = (session) => {\n this.setState(\n (state) => ({ session, changes: [...state.changes, session] }),\n () => this.props.onSessionChange(session),\n );\n };\n\n onUndo = () => {\n this.setState(\n (state) => {\n const newChanges = [...state.changes];\n\n newChanges.pop();\n\n return {\n changes: newChanges,\n session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues,\n };\n },\n () => this.props.onSessionChange(this.state.session),\n );\n };\n\n onReset = () => {\n this.setState(\n (state) => ({ session: state.sessionInitialValues, changes: [] }),\n () => this.props.onSessionChange(this.state.sessionInitialValues),\n );\n };\n\n render() {\n const { ...rest } = this.props;\n const { changes, session } = this.state;\n\n return (\n <Wrapper>\n <ResetUndoContainer>\n <StyledButton color=\"primary\" disabled={changes.length === 0} onClick={this.onUndo}>\n <StyledIcon>\n <Undo />\n </StyledIcon>\n Undo\n </StyledButton>\n <StyledButton color=\"primary\" disabled={changes.length === 0} onClick={this.onReset}>\n <StyledIcon>\n <Restore />\n </StyledIcon>\n Start Over\n </StyledButton>\n </ResetUndoContainer>\n <WrappedComponent {...rest} session={session} onSessionChange={this.onSessionChange} />\n </Wrapper>\n );\n }\n }\n\n return WithUndoReset;\n};\n\nexport default withUndoReset;\n"],"mappings":"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","ignoreList":[]}
@@ -1,259 +0,0 @@
1
- import {
2
- background,
3
- backgroundDark,
4
- black,
5
- blueGrey100,
6
- blueGrey300,
7
- blueGrey600,
8
- blueGrey900,
9
- border,
10
- borderDark,
11
- borderGray,
12
- borderLight,
13
- correct,
14
- correctSecondary,
15
- correctTertiary,
16
- correctWithIcon,
17
- defaults,
18
- disabled,
19
- disabledSecondary,
20
- dropdownBackground,
21
- fadedPrimary,
22
- focusChecked,
23
- focusCheckedBorder,
24
- focusUnchecked,
25
- focusUncheckedBorder,
26
- incorrectSecondary,
27
- incorrectWithIcon,
28
- missing,
29
- missingWithIcon,
30
- primary,
31
- primaryDark,
32
- primaryLight,
33
- primaryText,
34
- secondary,
35
- secondaryBackground,
36
- secondaryDark,
37
- secondaryLight,
38
- secondaryText,
39
- tertiary,
40
- tertiaryLight,
41
- text,
42
- transparent,
43
- v,
44
- visualElementsColors,
45
- white,
46
- } from '../color';
47
-
48
- describe('v', () => {
49
- it.each`
50
- args | expected
51
- ${['text', 'black']} | ${'var(--pie-text, black)'}
52
- ${['primary-text', 'text', 'black']} | ${'var(--pie-primary-text, var(--pie-text, black))'}
53
- ${['black']} | ${'black'}
54
- ${['#00ff00']} | ${'#00ff00'}
55
- `('$args => $expected', ({ args, expected }) => {
56
- expect(v('pie')(...args)).toEqual(expected);
57
- });
58
-
59
- it('should create custom prefix CSS variables', () => {
60
- const customPrefix = v('custom');
61
- expect(customPrefix('color', '#fff')).toBe('var(--custom-color, #fff)');
62
- });
63
-
64
- it('should handle multiple nested variables', () => {
65
- const pv = v('pie');
66
- expect(pv('a', 'b', 'c', 'd', 'fallback')).toBe('var(--pie-a, var(--pie-b, var(--pie-c, var(--pie-d, fallback))))');
67
- });
68
- });
69
-
70
- describe('defaults', () => {
71
- it('should be frozen and immutable', () => {
72
- expect(Object.isFrozen(defaults)).toBe(true);
73
- expect(() => {
74
- defaults.TEXT = 'red';
75
- }).toThrow();
76
- });
77
-
78
- it('should contain expected color values', () => {
79
- expect(defaults.TEXT).toBe('black');
80
- expect(defaults.CORRECT).toBeDefined();
81
- expect(defaults.PRIMARY).toBeDefined();
82
- expect(defaults.TRANSPARENT).toBe('transparent');
83
- });
84
- });
85
-
86
- describe('color functions', () => {
87
- it('should return CSS variable string for text', () => {
88
- expect(text()).toBe('var(--pie-text, black)');
89
- });
90
-
91
- it('should return CSS variable string for correct', () => {
92
- expect(correct()).toContain('var(--pie-correct,');
93
- expect(correct()).toContain(defaults.CORRECT);
94
- });
95
-
96
- it('should return CSS variable string for primary', () => {
97
- expect(primary()).toContain('var(--pie-primary,');
98
- expect(primary()).toContain(defaults.PRIMARY);
99
- });
100
-
101
- it('should return default value for transparent', () => {
102
- expect(transparent()).toBe('transparent');
103
- });
104
-
105
- it('should return nested CSS variables for primaryText', () => {
106
- const result = primaryText();
107
- expect(result).toContain('var(--pie-primary-text,');
108
- expect(result).toContain('var(--pie-text,');
109
- expect(result).toContain('black');
110
- });
111
-
112
- it('should return CSS variable string for border', () => {
113
- expect(border()).toContain('var(--pie-border,');
114
- expect(border()).toContain(defaults.BORDER);
115
- });
116
-
117
- it('should return CSS variable string for blueGrey600', () => {
118
- expect(blueGrey600()).toContain('var(--pie-blue-grey-600,');
119
- expect(blueGrey600()).toContain(defaults.BLUE_GREY600);
120
- });
121
- });
122
-
123
- describe('visualElementsColors', () => {
124
- it('should contain expected charting colors', () => {
125
- expect(visualElementsColors.AXIS_LINE_COLOR).toBe('#5A53C9');
126
- expect(visualElementsColors.ROLLOVER_FILL_BAR_COLOR).toBe('#050F2D');
127
- expect(visualElementsColors.GRIDLINES_COLOR).toBe('#8E88EA');
128
- expect(visualElementsColors.PLOT_FILL_COLOR).toBe('#1463B3');
129
- });
130
-
131
- it('should have all required properties', () => {
132
- expect(visualElementsColors).toHaveProperty('AXIS_LINE_COLOR');
133
- expect(visualElementsColors).toHaveProperty('ROLLOVER_FILL_BAR_COLOR');
134
- expect(visualElementsColors).toHaveProperty('GRIDLINES_COLOR');
135
- expect(visualElementsColors).toHaveProperty('PLOT_FILL_COLOR');
136
- });
137
-
138
- it('should be immutable', () => {
139
- const original = { ...visualElementsColors };
140
- expect(() => {
141
- visualElementsColors.AXIS_LINE_COLOR = '#000000';
142
- }).not.toThrow(); // Note: not frozen, but we document this is expected behavior
143
- // Verify it didn't actually change (if frozen, it wouldn't)
144
- expect(original.AXIS_LINE_COLOR).toBe('#5A53C9');
145
- });
146
- });
147
-
148
- describe('additional color functions', () => {
149
- it('should return correct values for disabled colors', () => {
150
- expect(disabled()).toContain('var(--pie-disabled,');
151
- expect(disabled()).toContain(defaults.DISABLED);
152
-
153
- expect(disabledSecondary()).toContain('var(--pie-disabled-secondary,');
154
- expect(disabledSecondary()).toContain(defaults.DISABLED_SECONDARY);
155
- });
156
-
157
- it('should return correct values for correct color variants', () => {
158
- expect(correctSecondary()).toContain('var(--pie-correct-secondary,');
159
- expect(correctTertiary()).toContain('var(--pie-correct-tertiary,');
160
- expect(correctWithIcon()).toContain('var(--pie-correct-icon,');
161
- });
162
-
163
- it('should return correct values for incorrect color variants', () => {
164
- expect(incorrectWithIcon()).toContain('var(--pie-incorrect-icon,');
165
- expect(incorrectSecondary()).toContain('var(--pie-incorrect-secondary,');
166
- });
167
-
168
- it('should return correct values for missing color variants', () => {
169
- expect(missing()).toContain('var(--pie-missing,');
170
- expect(missingWithIcon()).toContain('var(--pie-missing-icon,');
171
- });
172
-
173
- it('should return correct values for primary color variants', () => {
174
- expect(primaryLight()).toContain('var(--pie-primary-light,');
175
- expect(primaryDark()).toContain('var(--pie-primary-dark,');
176
- expect(fadedPrimary()).toContain('var(--pie-faded-primary,');
177
- });
178
-
179
- it('should return correct values for secondary color variants', () => {
180
- expect(secondary()).toContain('var(--pie-secondary,');
181
- expect(secondaryLight()).toContain('var(--pie-secondary-light,');
182
- expect(secondaryDark()).toContain('var(--pie-secondary-dark,');
183
- expect(secondaryText()).toContain('var(--pie-secondary-text,');
184
- });
185
-
186
- it('should return correct values for tertiary colors', () => {
187
- expect(tertiary()).toContain('var(--pie-tertiary,');
188
- expect(tertiaryLight()).toContain('var(--pie-tertiary-light,');
189
- });
190
-
191
- it('should return correct values for background colors', () => {
192
- expect(background()).toContain('var(--pie-background,');
193
- expect(backgroundDark()).toContain('var(--pie-background-dark,');
194
- expect(secondaryBackground()).toContain('var(--pie-secondary-background,');
195
- expect(dropdownBackground()).toContain('var(--pie-dropdown-background,');
196
- });
197
-
198
- it('should return correct values for border colors', () => {
199
- expect(borderLight()).toContain('var(--pie-border-light,');
200
- expect(borderDark()).toContain('var(--pie-border-dark,');
201
- expect(borderGray()).toContain('var(--pie-border-gray,');
202
- });
203
-
204
- it('should return correct values for black and white', () => {
205
- expect(black()).toContain('var(--pie-black,');
206
- expect(black()).toContain(defaults.BLACK);
207
- expect(white()).toContain('var(--pie-white,');
208
- expect(white()).toContain(defaults.WHITE);
209
- });
210
-
211
- it('should return correct values for focus colors', () => {
212
- expect(focusChecked()).toContain('var(--pie-focus-checked,');
213
- expect(focusCheckedBorder()).toContain('var(--pie-focus-checked-border,');
214
- expect(focusUnchecked()).toContain('var(--pie-focus-unchecked,');
215
- expect(focusUncheckedBorder()).toContain('var(--pie-focus-unchecked-border,');
216
- });
217
-
218
- it('should return correct values for blue-grey colors', () => {
219
- expect(blueGrey100()).toContain('var(--pie-blue-grey-100,');
220
- expect(blueGrey300()).toContain('var(--pie-blue-grey-300,');
221
- expect(blueGrey900()).toContain('var(--pie-blue-grey-900,');
222
- });
223
- });
224
-
225
- describe('edge cases', () => {
226
- it('should handle empty arguments for v function', () => {
227
- const customV = v('test');
228
- expect(customV('fallback')).toBe('fallback');
229
- });
230
-
231
- it('should handle single argument for v function', () => {
232
- const customV = v('test');
233
- expect(customV('color', 'red')).toBe('var(--test-color, red)');
234
- });
235
-
236
- it('should handle special characters in prefix', () => {
237
- const specialV = v('my-custom-prefix');
238
- expect(specialV('color', 'blue')).toBe('var(--my-custom-prefix-color, blue)');
239
- });
240
-
241
- it('should verify secondaryText nesting', () => {
242
- const result = secondaryText();
243
- expect(result).toContain('var(--pie-secondary-text,');
244
- expect(result).toContain('var(--pie-text,');
245
- expect(result).toContain('black');
246
- });
247
-
248
- it('should verify all defaults are strings', () => {
249
- Object.values(defaults).forEach((value) => {
250
- expect(typeof value).toBe('string');
251
- });
252
- });
253
-
254
- it('should verify color hex format for specific defaults', () => {
255
- expect(defaults.BLACK).toMatch(/^#[0-9A-Fa-f]{6}$/);
256
- expect(defaults.WHITE).toMatch(/^#[0-9A-Fa-f]{6}$/);
257
- expect(defaults.TERTIARY).toMatch(/^#[0-9A-Fa-f]{6}$/);
258
- });
259
- });