@pie-lib/editable-html 11.1.2-next.0 → 11.2.0-beta.2
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 +50 -158
- package/NEXT.CHANGELOG.json +1 -0
- package/package.json +11 -6
- package/src/__tests__/editor.test.jsx +363 -0
- package/src/__tests__/serialization.test.js +291 -0
- package/src/__tests__/utils.js +36 -0
- package/src/block-tags.js +17 -0
- package/src/constants.js +7 -0
- package/src/editor.jsx +303 -49
- package/src/index.jsx +19 -10
- package/src/plugins/characters/index.jsx +11 -3
- package/src/plugins/characters/utils.js +12 -12
- package/src/plugins/css/icons/index.jsx +17 -0
- package/src/plugins/css/index.jsx +346 -0
- package/src/plugins/customPlugin/index.jsx +85 -0
- package/src/plugins/html/index.jsx +9 -6
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
- package/src/plugins/image/__tests__/component.test.jsx +41 -0
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
- package/src/plugins/image/__tests__/index.test.js +95 -0
- package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
- package/src/plugins/image/__tests__/mock-change.js +15 -0
- package/src/plugins/image/index.jsx +2 -1
- package/src/plugins/image/insert-image-handler.js +13 -6
- package/src/plugins/index.jsx +248 -5
- package/src/plugins/list/__tests__/index.test.js +54 -0
- package/src/plugins/list/index.jsx +130 -0
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
- package/src/plugins/math/__tests__/index.test.jsx +245 -0
- package/src/plugins/math/index.jsx +87 -56
- package/src/plugins/media/__tests__/index.test.js +75 -0
- package/src/plugins/media/index.jsx +3 -2
- package/src/plugins/media/media-dialog.js +106 -57
- package/src/plugins/rendering/index.js +31 -0
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +4 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +10 -8
- package/src/plugins/respArea/index.jsx +53 -7
- package/src/plugins/respArea/inline-dropdown/index.jsx +13 -6
- package/src/plugins/respArea/math-templated/index.jsx +104 -0
- package/src/plugins/respArea/utils.jsx +11 -0
- package/src/plugins/table/CustomTablePlugin.js +113 -0
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
- package/src/plugins/table/__tests__/index.test.jsx +401 -0
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
- package/src/plugins/table/index.jsx +46 -59
- package/src/plugins/table/table-toolbar.jsx +39 -2
- package/src/plugins/textAlign/icons/index.jsx +139 -0
- package/src/plugins/textAlign/index.jsx +23 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
- package/src/plugins/toolbar/default-toolbar.jsx +82 -20
- package/src/plugins/toolbar/done-button.jsx +3 -1
- package/src/plugins/toolbar/editor-and-toolbar.jsx +18 -13
- package/src/plugins/toolbar/toolbar-buttons.jsx +52 -11
- package/src/plugins/toolbar/toolbar.jsx +31 -8
- package/src/serialization.jsx +213 -38
- package/README.md +0 -45
- package/deploy.sh +0 -16
- package/lib/editor.js +0 -1094
- package/lib/editor.js.map +0 -1
- package/lib/index.js +0 -253
- package/lib/index.js.map +0 -1
- package/lib/parse-html.js +0 -16
- package/lib/parse-html.js.map +0 -1
- package/lib/plugins/characters/custom-popper.js +0 -73
- package/lib/plugins/characters/custom-popper.js.map +0 -1
- package/lib/plugins/characters/index.js +0 -300
- package/lib/plugins/characters/index.js.map +0 -1
- package/lib/plugins/characters/utils.js +0 -381
- package/lib/plugins/characters/utils.js.map +0 -1
- package/lib/plugins/html/icons/index.js +0 -38
- package/lib/plugins/html/icons/index.js.map +0 -1
- package/lib/plugins/html/index.js +0 -76
- package/lib/plugins/html/index.js.map +0 -1
- package/lib/plugins/image/alt-dialog.js +0 -129
- package/lib/plugins/image/alt-dialog.js.map +0 -1
- package/lib/plugins/image/component.js +0 -419
- package/lib/plugins/image/component.js.map +0 -1
- package/lib/plugins/image/image-toolbar.js +0 -177
- package/lib/plugins/image/image-toolbar.js.map +0 -1
- package/lib/plugins/image/index.js +0 -262
- package/lib/plugins/image/index.js.map +0 -1
- package/lib/plugins/image/insert-image-handler.js +0 -152
- package/lib/plugins/image/insert-image-handler.js.map +0 -1
- package/lib/plugins/index.js +0 -143
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/list/index.js +0 -204
- package/lib/plugins/list/index.js.map +0 -1
- package/lib/plugins/math/index.js +0 -419
- package/lib/plugins/math/index.js.map +0 -1
- package/lib/plugins/media/index.js +0 -384
- package/lib/plugins/media/index.js.map +0 -1
- package/lib/plugins/media/media-dialog.js +0 -668
- package/lib/plugins/media/media-dialog.js.map +0 -1
- package/lib/plugins/media/media-toolbar.js +0 -101
- package/lib/plugins/media/media-toolbar.js.map +0 -1
- package/lib/plugins/media/media-wrapper.js +0 -93
- package/lib/plugins/media/media-wrapper.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -251
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -55
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
- package/lib/plugins/respArea/icons/index.js +0 -95
- package/lib/plugins/respArea/icons/index.js.map +0 -1
- package/lib/plugins/respArea/index.js +0 -293
- package/lib/plugins/respArea/index.js.map +0 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -70
- package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
- package/lib/plugins/respArea/utils.js +0 -110
- package/lib/plugins/respArea/utils.js.map +0 -1
- package/lib/plugins/table/icons/index.js +0 -69
- package/lib/plugins/table/icons/index.js.map +0 -1
- package/lib/plugins/table/index.js +0 -499
- package/lib/plugins/table/index.js.map +0 -1
- package/lib/plugins/table/table-toolbar.js +0 -158
- package/lib/plugins/table/table-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/default-toolbar.js +0 -174
- package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/done-button.js +0 -50
- package/lib/plugins/toolbar/done-button.js.map +0 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -287
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/index.js +0 -34
- package/lib/plugins/toolbar/index.js.map +0 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -161
- package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
- package/lib/plugins/toolbar/toolbar.js +0 -352
- package/lib/plugins/toolbar/toolbar.js.map +0 -1
- package/lib/plugins/utils.js +0 -62
- package/lib/plugins/utils.js.map +0 -1
- package/lib/serialization.js +0 -488
- package/lib/serialization.js.map +0 -1
- package/lib/theme.js +0 -9
- package/lib/theme.js.map +0 -1
- package/playground/image/data.js +0 -59
- package/playground/image/index.html +0 -22
- package/playground/image/index.jsx +0 -81
- package/playground/index.html +0 -25
- package/playground/mathquill/index.html +0 -22
- package/playground/mathquill/index.jsx +0 -155
- package/playground/package.json +0 -15
- package/playground/prod-test/index.html +0 -22
- package/playground/prod-test/index.jsx +0 -28
- package/playground/schema-override/data.js +0 -29
- package/playground/schema-override/image-plugin.jsx +0 -41
- package/playground/schema-override/index.html +0 -21
- package/playground/schema-override/index.jsx +0 -97
- package/playground/serialization/data.js +0 -29
- package/playground/serialization/image-plugin.jsx +0 -41
- package/playground/serialization/index.html +0 -22
- package/playground/serialization/index.jsx +0 -12
- package/playground/static.json +0 -3
- package/playground/table-examples.html +0 -70
- package/playground/webpack.config.js +0 -42
- package/static.json +0 -1
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.TableToolbar = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
30
|
-
var _toolbarButtons = require("../toolbar/toolbar-buttons");
|
|
31
|
-
|
|
32
|
-
var _doneButton = require("../toolbar/done-button");
|
|
33
|
-
|
|
34
|
-
var _BorderAll = _interopRequireDefault(require("@material-ui/icons/BorderAll"));
|
|
35
|
-
|
|
36
|
-
var _defaultToolbar = require("../toolbar/default-toolbar");
|
|
37
|
-
|
|
38
|
-
var _icons = require("./icons");
|
|
39
|
-
|
|
40
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
41
|
-
|
|
42
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
43
|
-
|
|
44
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
|
-
|
|
46
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
-
|
|
48
|
-
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:table-toolbar');
|
|
49
|
-
|
|
50
|
-
var TableToolbar = /*#__PURE__*/function (_React$Component) {
|
|
51
|
-
(0, _inherits2["default"])(TableToolbar, _React$Component);
|
|
52
|
-
|
|
53
|
-
var _super = _createSuper(TableToolbar);
|
|
54
|
-
|
|
55
|
-
function TableToolbar() {
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
(0, _classCallCheck2["default"])(this, TableToolbar);
|
|
59
|
-
|
|
60
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
61
|
-
args[_key] = arguments[_key];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function (e) {
|
|
66
|
-
var onDone = _this.props.onDone;
|
|
67
|
-
e.preventDefault();
|
|
68
|
-
onDone();
|
|
69
|
-
});
|
|
70
|
-
return _this;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
(0, _createClass2["default"])(TableToolbar, [{
|
|
74
|
-
key: "render",
|
|
75
|
-
value: function render() {
|
|
76
|
-
var _this$props = this.props,
|
|
77
|
-
plugins = _this$props.plugins,
|
|
78
|
-
value = _this$props.value,
|
|
79
|
-
onChange = _this$props.onChange,
|
|
80
|
-
onAddRow = _this$props.onAddRow,
|
|
81
|
-
onRemoveRow = _this$props.onRemoveRow,
|
|
82
|
-
onAddColumn = _this$props.onAddColumn,
|
|
83
|
-
onRemoveColumn = _this$props.onRemoveColumn,
|
|
84
|
-
onRemoveTable = _this$props.onRemoveTable,
|
|
85
|
-
onToggleBorder = _this$props.onToggleBorder,
|
|
86
|
-
hasBorder = _this$props.hasBorder,
|
|
87
|
-
classes = _this$props.classes;
|
|
88
|
-
log('[render] hasBorder:', hasBorder);
|
|
89
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
90
|
-
className: classes.tableToolbar
|
|
91
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
92
|
-
className: classes.toolbarButtons
|
|
93
|
-
}, /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
94
|
-
onClick: onAddRow
|
|
95
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.AddRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
96
|
-
onClick: onRemoveRow
|
|
97
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveRow, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
98
|
-
onClick: onAddColumn
|
|
99
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.AddColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
100
|
-
onClick: onRemoveColumn
|
|
101
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveColumn, null)), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
102
|
-
onClick: onRemoveTable
|
|
103
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.RemoveTable, null)), plugins.map(function (p, index) {
|
|
104
|
-
return /*#__PURE__*/_react["default"].createElement(_defaultToolbar.ToolbarButton, (0, _extends2["default"])({
|
|
105
|
-
key: "plugin-".concat(index)
|
|
106
|
-
}, p.toolbar, {
|
|
107
|
-
value: value,
|
|
108
|
-
onChange: onChange
|
|
109
|
-
}));
|
|
110
|
-
}), /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
111
|
-
onClick: onToggleBorder,
|
|
112
|
-
active: hasBorder
|
|
113
|
-
}, /*#__PURE__*/_react["default"].createElement(_BorderAll["default"], null))), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
114
|
-
onClick: this.onDone
|
|
115
|
-
}));
|
|
116
|
-
}
|
|
117
|
-
}]);
|
|
118
|
-
return TableToolbar;
|
|
119
|
-
}(_react["default"].Component);
|
|
120
|
-
|
|
121
|
-
exports.TableToolbar = TableToolbar;
|
|
122
|
-
(0, _defineProperty2["default"])(TableToolbar, "propTypes", {
|
|
123
|
-
plugins: _propTypes["default"].array.isRequired,
|
|
124
|
-
value: _propTypes["default"].object.isRequired,
|
|
125
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
126
|
-
onAddRow: _propTypes["default"].func.isRequired,
|
|
127
|
-
onRemoveRow: _propTypes["default"].func.isRequired,
|
|
128
|
-
onAddColumn: _propTypes["default"].func.isRequired,
|
|
129
|
-
onRemoveColumn: _propTypes["default"].func.isRequired,
|
|
130
|
-
onRemoveTable: _propTypes["default"].func.isRequired,
|
|
131
|
-
onToggleBorder: _propTypes["default"].func.isRequired,
|
|
132
|
-
hasBorder: _propTypes["default"].bool,
|
|
133
|
-
onDone: _propTypes["default"].func.isRequired,
|
|
134
|
-
classes: _propTypes["default"].object.isRequired
|
|
135
|
-
});
|
|
136
|
-
(0, _defineProperty2["default"])(TableToolbar, "defaultProps", {
|
|
137
|
-
plugins: [],
|
|
138
|
-
value: {},
|
|
139
|
-
onChange: function onChange() {}
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
var styles = function styles() {
|
|
143
|
-
return {
|
|
144
|
-
tableToolbar: {
|
|
145
|
-
width: '100%',
|
|
146
|
-
display: 'flex',
|
|
147
|
-
justifyContent: 'space-between'
|
|
148
|
-
},
|
|
149
|
-
toolbarButtons: {
|
|
150
|
-
display: 'flex'
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
var _default = (0, _styles.withStyles)(styles)(TableToolbar);
|
|
156
|
-
|
|
157
|
-
exports["default"] = _default;
|
|
158
|
-
//# sourceMappingURL=table-toolbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/table/table-toolbar.jsx"],"names":["log","TableToolbar","e","onDone","props","preventDefault","plugins","value","onChange","onAddRow","onRemoveRow","onAddColumn","onRemoveColumn","onRemoveTable","onToggleBorder","hasBorder","classes","tableToolbar","toolbarButtons","map","p","index","toolbar","React","Component","PropTypes","array","isRequired","object","func","bool","styles","width","display","justifyContent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Button } from '../toolbar/toolbar-buttons';\nimport { DoneButton } from '../toolbar/done-button';\nimport BorderAll from '@material-ui/icons/BorderAll';\nimport { ToolbarButton } from '../toolbar/default-toolbar';\n\nimport { AddRow, AddColumn, RemoveColumn, RemoveRow, RemoveTable } from './icons';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:plugins:table-toolbar');\n\nexport class TableToolbar extends React.Component {\n static propTypes = {\n plugins: PropTypes.array.isRequired,\n value: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onAddRow: PropTypes.func.isRequired,\n onRemoveRow: PropTypes.func.isRequired,\n onAddColumn: PropTypes.func.isRequired,\n onRemoveColumn: PropTypes.func.isRequired,\n onRemoveTable: PropTypes.func.isRequired,\n onToggleBorder: PropTypes.func.isRequired,\n hasBorder: PropTypes.bool,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n plugins: [],\n value: {},\n onChange: () => {},\n };\n\n onDone = (e) => {\n const { onDone } = this.props;\n e.preventDefault();\n onDone();\n };\n\n render() {\n const {\n plugins,\n value,\n onChange,\n onAddRow,\n onRemoveRow,\n onAddColumn,\n onRemoveColumn,\n onRemoveTable,\n onToggleBorder,\n hasBorder,\n classes,\n } = this.props;\n log('[render] hasBorder:', hasBorder);\n\n return (\n <div className={classes.tableToolbar}>\n <div className={classes.toolbarButtons}>\n <Button onClick={onAddRow}>\n <AddRow />\n </Button>\n <Button onClick={onRemoveRow}>\n <RemoveRow />\n </Button>\n <Button onClick={onAddColumn}>\n <AddColumn />\n </Button>\n <Button onClick={onRemoveColumn}>\n <RemoveColumn />\n </Button>\n <Button onClick={onRemoveTable}>\n <RemoveTable />\n </Button>\n {plugins.map((p, index) => (\n <ToolbarButton key={`plugin-${index}`} {...p.toolbar} value={value} onChange={onChange} />\n ))}\n <Button onClick={onToggleBorder} active={hasBorder}>\n <BorderAll />\n </Button>\n </div>\n <DoneButton onClick={this.onDone} />\n </div>\n );\n }\n}\n\nconst styles = () => ({\n tableToolbar: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-between',\n },\n toolbarButtons: {\n display: 'flex',\n },\n});\nexport default withStyles(styles)(TableToolbar);\n"],"file":"table-toolbar.js"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.ToolbarButton = exports.DefaultToolbar = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _doneButton = require("./done-button");
|
|
15
|
-
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
|
|
20
|
-
var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
|
|
21
|
-
|
|
22
|
-
var _utils = require("../utils");
|
|
23
|
-
|
|
24
|
-
var _styles = require("@material-ui/core/styles");
|
|
25
|
-
|
|
26
|
-
var _toolbarButtons = require("./toolbar-buttons");
|
|
27
|
-
|
|
28
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
29
|
-
|
|
30
|
-
var _immutable = require("immutable");
|
|
31
|
-
|
|
32
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
-
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
|
|
36
|
-
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
|
|
37
|
-
|
|
38
|
-
var ToolbarButton = function ToolbarButton(props) {
|
|
39
|
-
var onToggle = function onToggle() {
|
|
40
|
-
var c = props.onToggle(props.value.change(), props);
|
|
41
|
-
props.onChange(c);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
if (props.isMark) {
|
|
45
|
-
var isActive = (0, _utils.hasMark)(props.value, props.type);
|
|
46
|
-
log('[ToolbarButton] mark:isActive: ', isActive);
|
|
47
|
-
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
|
|
48
|
-
active: isActive,
|
|
49
|
-
label: props.type,
|
|
50
|
-
onToggle: onToggle,
|
|
51
|
-
mark: props.type
|
|
52
|
-
}, props.icon);
|
|
53
|
-
} else {
|
|
54
|
-
var disabled = props.disabled;
|
|
55
|
-
|
|
56
|
-
var _isActive = props.isActive ? props.isActive(props.value, props.type) : (0, _utils.hasBlock)(props.value, props.type);
|
|
57
|
-
|
|
58
|
-
log('[ToolbarButton] block:isActive: ', _isActive);
|
|
59
|
-
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.Button, {
|
|
60
|
-
active: _isActive,
|
|
61
|
-
disabled: disabled,
|
|
62
|
-
onClick: function onClick() {
|
|
63
|
-
return props.onClick(props.value, props.onChange, props.getFocusedValue);
|
|
64
|
-
},
|
|
65
|
-
extraStyles: props.buttonStyles
|
|
66
|
-
}, props.icon);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
exports.ToolbarButton = ToolbarButton;
|
|
71
|
-
ToolbarButton.propTypes = {
|
|
72
|
-
buttonStyles: _propTypes["default"].object,
|
|
73
|
-
disabled: _propTypes["default"].bool,
|
|
74
|
-
icon: _propTypes["default"].any,
|
|
75
|
-
isActive: _propTypes["default"].bool,
|
|
76
|
-
isMark: _propTypes["default"].bool,
|
|
77
|
-
getFocusedValue: _propTypes["default"].func,
|
|
78
|
-
onToggle: _propTypes["default"].func,
|
|
79
|
-
onChange: _propTypes["default"].func,
|
|
80
|
-
onClick: _propTypes["default"].func,
|
|
81
|
-
type: _propTypes["default"].string,
|
|
82
|
-
value: _propTypes["default"].object
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var isActiveToolbarPlugin = function isActiveToolbarPlugin(props) {
|
|
86
|
-
return function (plugin) {
|
|
87
|
-
var isDisabled = (props[plugin.name] || {}).disabled;
|
|
88
|
-
return plugin && plugin.toolbar && !isDisabled;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
var DefaultToolbar = function DefaultToolbar(_ref) {
|
|
93
|
-
var plugins = _ref.plugins,
|
|
94
|
-
pluginProps = _ref.pluginProps,
|
|
95
|
-
value = _ref.value,
|
|
96
|
-
onChange = _ref.onChange,
|
|
97
|
-
getFocusedValue = _ref.getFocusedValue,
|
|
98
|
-
onDone = _ref.onDone,
|
|
99
|
-
classes = _ref.classes,
|
|
100
|
-
showDone = _ref.showDone,
|
|
101
|
-
deletable = _ref.deletable,
|
|
102
|
-
isHtmlMode = _ref.isHtmlMode;
|
|
103
|
-
pluginProps = _objectSpread({
|
|
104
|
-
// disable HTML plugin by default, at least for now
|
|
105
|
-
html: {
|
|
106
|
-
disabled: true
|
|
107
|
-
}
|
|
108
|
-
}, pluginProps);
|
|
109
|
-
var filtered;
|
|
110
|
-
|
|
111
|
-
if (isHtmlMode) {
|
|
112
|
-
filtered = plugins.filter(function (plugin) {
|
|
113
|
-
return isActiveToolbarPlugin(pluginProps)(plugin) && (plugin.name === 'characters' || plugin.name === 'html');
|
|
114
|
-
}).map(function (p) {
|
|
115
|
-
return p.toolbar;
|
|
116
|
-
});
|
|
117
|
-
} else {
|
|
118
|
-
filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map(function (p) {
|
|
119
|
-
return p.toolbar;
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
-
className: classes.defaultToolbar
|
|
125
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
126
|
-
className: classes.buttonsContainer
|
|
127
|
-
}, filtered.map(function (p, index) {
|
|
128
|
-
return /*#__PURE__*/_react["default"].createElement(ToolbarButton, (0, _extends2["default"])({}, p, {
|
|
129
|
-
key: index,
|
|
130
|
-
value: value,
|
|
131
|
-
onChange: onChange,
|
|
132
|
-
getFocusedValue: getFocusedValue
|
|
133
|
-
}));
|
|
134
|
-
})), showDone && !deletable && !isHtmlMode && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
135
|
-
onClick: onDone
|
|
136
|
-
}));
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
exports.DefaultToolbar = DefaultToolbar;
|
|
140
|
-
DefaultToolbar.propTypes = {
|
|
141
|
-
classes: _propTypes["default"].object.isRequired,
|
|
142
|
-
plugins: _propTypes["default"].array.isRequired,
|
|
143
|
-
pluginProps: _propTypes["default"].object,
|
|
144
|
-
value: _slatePropTypes["default"].value.isRequired,
|
|
145
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
146
|
-
getFocusedValue: _propTypes["default"].func.isRequired,
|
|
147
|
-
onDone: _propTypes["default"].func.isRequired,
|
|
148
|
-
showDone: _propTypes["default"].bool,
|
|
149
|
-
addArea: _propTypes["default"].bool,
|
|
150
|
-
deletable: _propTypes["default"].bool
|
|
151
|
-
};
|
|
152
|
-
DefaultToolbar.defaultProps = {
|
|
153
|
-
pluginProps: {}
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
var toolbarStyles = function toolbarStyles() {
|
|
157
|
-
return {
|
|
158
|
-
defaultToolbar: {
|
|
159
|
-
display: 'flex',
|
|
160
|
-
width: '100%',
|
|
161
|
-
justifyContent: 'space-between'
|
|
162
|
-
},
|
|
163
|
-
buttonsContainer: {
|
|
164
|
-
alignItems: 'center',
|
|
165
|
-
display: 'flex',
|
|
166
|
-
width: '100%'
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
var _default = (0, _styles.withStyles)(toolbarStyles)(DefaultToolbar);
|
|
172
|
-
|
|
173
|
-
exports["default"] = _default;
|
|
174
|
-
//# sourceMappingURL=default-toolbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/toolbar/default-toolbar.jsx"],"names":["log","ToolbarButton","props","onToggle","c","value","change","onChange","isMark","isActive","type","icon","disabled","onClick","getFocusedValue","buttonStyles","propTypes","PropTypes","object","bool","any","func","string","isActiveToolbarPlugin","plugin","isDisabled","name","toolbar","DefaultToolbar","plugins","pluginProps","onDone","classes","showDone","deletable","isHtmlMode","html","filtered","filter","map","p","defaultToolbar","buttonsContainer","index","isRequired","array","SlatePropTypes","addArea","defaultProps","toolbarStyles","display","width","justifyContent","alignItems"],"mappings":"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","sourcesContent":["import { DoneButton } from './done-button';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport SlatePropTypes from 'slate-prop-types';\n\nimport { hasBlock, hasMark } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { Button, MarkButton } from './toolbar-buttons';\nimport debug from 'debug';\nimport { is } from 'immutable';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nexport const ToolbarButton = (props) => {\n const onToggle = () => {\n const c = props.onToggle(props.value.change(), props);\n\n props.onChange(c);\n };\n\n if (props.isMark) {\n const isActive = hasMark(props.value, props.type);\n\n log('[ToolbarButton] mark:isActive: ', isActive);\n\n return (\n <MarkButton active={isActive} label={props.type} onToggle={onToggle} mark={props.type}>\n {props.icon}\n </MarkButton>\n );\n } else {\n const { disabled } = props;\n const isActive = props.isActive ? props.isActive(props.value, props.type) : hasBlock(props.value, props.type);\n\n log('[ToolbarButton] block:isActive: ', isActive);\n\n return (\n <Button\n active={isActive}\n disabled={disabled}\n onClick={() => props.onClick(props.value, props.onChange, props.getFocusedValue)}\n extraStyles={props.buttonStyles}\n >\n {props.icon}\n </Button>\n );\n }\n};\n\nToolbarButton.propTypes = {\n buttonStyles: PropTypes.object,\n disabled: PropTypes.bool,\n icon: PropTypes.any,\n isActive: PropTypes.bool,\n isMark: PropTypes.bool,\n getFocusedValue: PropTypes.func,\n onToggle: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n type: PropTypes.string,\n value: PropTypes.object,\n};\n\nconst isActiveToolbarPlugin = (props) => (plugin) => {\n const isDisabled = (props[plugin.name] || {}).disabled;\n\n return plugin && plugin.toolbar && !isDisabled;\n};\n\nexport const DefaultToolbar = ({\n plugins,\n pluginProps,\n value,\n onChange,\n getFocusedValue,\n onDone,\n classes,\n showDone,\n deletable,\n isHtmlMode,\n}) => {\n pluginProps = {\n // disable HTML plugin by default, at least for now\n html: { disabled: true },\n ...pluginProps,\n };\n let filtered;\n\n if (isHtmlMode) {\n filtered = plugins\n .filter((plugin) => {\n return isActiveToolbarPlugin(pluginProps)(plugin) && (plugin.name === 'characters' || plugin.name === 'html');\n })\n .map((p) => p.toolbar);\n } else {\n filtered = plugins.filter(isActiveToolbarPlugin(pluginProps)).map((p) => p.toolbar);\n }\n\n return (\n <div className={classes.defaultToolbar}>\n <div className={classes.buttonsContainer}>\n {filtered.map((p, index) => {\n return (\n <ToolbarButton {...p} key={index} value={value} onChange={onChange} getFocusedValue={getFocusedValue} />\n );\n })}\n </div>\n {showDone && !deletable && !isHtmlMode && <DoneButton onClick={onDone} />}\n </div>\n );\n};\n\nDefaultToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n plugins: PropTypes.array.isRequired,\n pluginProps: PropTypes.object,\n value: SlatePropTypes.value.isRequired,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n onDone: PropTypes.func.isRequired,\n showDone: PropTypes.bool,\n addArea: PropTypes.bool,\n deletable: PropTypes.bool,\n};\n\nDefaultToolbar.defaultProps = {\n pluginProps: {},\n};\n\nconst toolbarStyles = () => ({\n defaultToolbar: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n buttonsContainer: {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n});\n\nexport default withStyles(toolbarStyles)(DefaultToolbar);\n"],"file":"default-toolbar.js"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.RawDoneButton = exports.DoneButton = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
13
|
-
|
|
14
|
-
var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
|
|
15
|
-
|
|
16
|
-
var _styles = require("@material-ui/core/styles");
|
|
17
|
-
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
|
-
var RawDoneButton = function RawDoneButton(_ref) {
|
|
21
|
-
var classes = _ref.classes,
|
|
22
|
-
onClick = _ref.onClick;
|
|
23
|
-
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
24
|
-
"aria-label": "Done",
|
|
25
|
-
className: classes.iconRoot,
|
|
26
|
-
onClick: onClick,
|
|
27
|
-
classes: {
|
|
28
|
-
label: classes.label,
|
|
29
|
-
root: classes.iconRoot
|
|
30
|
-
}
|
|
31
|
-
}, /*#__PURE__*/_react["default"].createElement(_Check["default"], null));
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
exports.RawDoneButton = RawDoneButton;
|
|
35
|
-
RawDoneButton.propTypes = {
|
|
36
|
-
classes: _propTypes["default"].object.isRequired,
|
|
37
|
-
onClick: _propTypes["default"].func
|
|
38
|
-
};
|
|
39
|
-
var styles = {
|
|
40
|
-
iconRoot: {
|
|
41
|
-
verticalAlign: 'top',
|
|
42
|
-
width: '28px',
|
|
43
|
-
height: '28px',
|
|
44
|
-
color: 'var(--editable-html-toolbar-check, #00bb00)',
|
|
45
|
-
padding: '4px'
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var DoneButton = (0, _styles.withStyles)(styles)(RawDoneButton);
|
|
49
|
-
exports.DoneButton = DoneButton;
|
|
50
|
-
//# sourceMappingURL=done-button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/toolbar/done-button.jsx"],"names":["RawDoneButton","classes","onClick","iconRoot","label","root","propTypes","PropTypes","object","isRequired","func","styles","verticalAlign","width","height","color","padding","DoneButton"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,OAAZ,QAAYA,OAAZ;AAAA,sBAC3B,gCAAC,sBAAD;AACE,kBAAW,MADb;AAEE,IAAA,SAAS,EAAED,OAAO,CAACE,QAFrB;AAGE,IAAA,OAAO,EAAED,OAHX;AAIE,IAAA,OAAO,EAAE;AACPE,MAAAA,KAAK,EAAEH,OAAO,CAACG,KADR;AAEPC,MAAAA,IAAI,EAAEJ,OAAO,CAACE;AAFP;AAJX,kBASE,gCAAC,iBAAD,OATF,CAD2B;AAAA,CAAtB;;;AAcPH,aAAa,CAACM,SAAd,GAA0B;AACxBL,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADF;AAExBP,EAAAA,OAAO,EAAEK,sBAAUG;AAFK,CAA1B;AAKA,IAAMC,MAAM,GAAG;AACbR,EAAAA,QAAQ,EAAE;AACRS,IAAAA,aAAa,EAAE,KADP;AAERC,IAAAA,KAAK,EAAE,MAFC;AAGRC,IAAAA,MAAM,EAAE,MAHA;AAIRC,IAAAA,KAAK,EAAE,6CAJC;AAKRC,IAAAA,OAAO,EAAE;AALD;AADG,CAAf;AASO,IAAMC,UAAU,GAAG,wBAAWN,MAAX,EAAmBX,aAAnB,CAAnB","sourcesContent":["import React from 'react';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nexport const RawDoneButton = ({ classes, onClick }) => (\n <IconButton\n aria-label=\"Done\"\n className={classes.iconRoot}\n onClick={onClick}\n classes={{\n label: classes.label,\n root: classes.iconRoot,\n }}\n >\n <Check />\n </IconButton>\n);\n\nRawDoneButton.propTypes = {\n classes: PropTypes.object.isRequired,\n onClick: PropTypes.func,\n};\n\nconst styles = {\n iconRoot: {\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n padding: '4px',\n },\n};\nexport const DoneButton = withStyles(styles)(RawDoneButton);\n"],"file":"done-button.js"}
|