@pie-lib/editable-html-tip-tap 1.0.3 → 1.0.5
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/lib/components/CharacterPicker.js.map +1 -0
- package/lib/components/EditableHtml.js.map +1 -0
- package/lib/components/MenuBar.js +9 -8
- package/lib/components/MenuBar.js.map +1 -0
- package/lib/components/TiptapContainer.js.map +1 -0
- package/lib/components/characters/characterUtils.js.map +1 -0
- package/lib/components/characters/custom-popper.js.map +1 -0
- package/lib/components/common/done-button.js.map +1 -0
- package/lib/components/common/toolbar-buttons.js +194 -0
- package/lib/components/common/toolbar-buttons.js.map +1 -0
- package/lib/components/icons/CssIcon.js.map +1 -0
- package/lib/components/icons/RespArea.js.map +1 -0
- package/lib/components/icons/TableIcons.js.map +1 -0
- package/lib/components/icons/TextAlign.js.map +1 -0
- package/lib/components/image/AltDialog.js +129 -0
- package/lib/components/image/AltDialog.js.map +1 -0
- package/lib/components/image/ImageToolbar.js +167 -6
- package/lib/components/image/ImageToolbar.js.map +1 -0
- package/lib/components/image/InsertImageHandler.js +106 -7
- package/lib/components/image/InsertImageHandler.js.map +1 -0
- package/lib/components/image/alt-dialog.js +2 -0
- package/lib/components/media/MediaDialog.js +699 -6
- package/lib/components/media/MediaDialog.js.map +1 -0
- package/lib/components/media/MediaToolbar.js +91 -6
- package/lib/components/media/MediaToolbar.js.map +1 -0
- package/lib/components/media/MediaWrapper.js +93 -0
- package/lib/components/media/MediaWrapper.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -0
- package/lib/constants.js.map +1 -0
- package/lib/extensions/component.js.map +1 -0
- package/lib/extensions/css.js.map +1 -0
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
- package/lib/extensions/extended-table.js.map +1 -0
- package/lib/extensions/image.js +2 -8
- package/lib/extensions/image.js.map +1 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/math.js.map +1 -0
- package/lib/extensions/media.js +3 -3
- package/lib/extensions/media.js.map +1 -0
- package/lib/extensions/responseArea.js.map +1 -0
- package/lib/index.js.map +1 -0
- package/lib/styles/editorContainerStyles.js.map +1 -0
- package/lib/theme.js.map +1 -0
- package/lib/utils/size.js.map +1 -0
- package/package.json +1 -1
- package/src/components/MenuBar.jsx +3 -3
- package/src/components/common/toolbar-buttons.jsx +138 -0
- package/src/components/image/AltDialog.jsx +82 -0
- package/src/components/image/ImageToolbar.jsx +100 -1
- package/src/components/image/InsertImageHandler.js +78 -1
- package/src/components/media/MediaDialog.js +624 -1
- package/src/components/media/MediaToolbar.jsx +56 -1
- package/src/components/media/MediaWrapper.jsx +43 -0
- package/src/extensions/image.js +2 -2
- package/src/extensions/media.js +2 -3
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.RawMarkButton = exports.RawButton = exports.MarkButton = exports.Button = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
27
|
+
|
|
28
|
+
var _styles = require("@material-ui/core/styles");
|
|
29
|
+
|
|
30
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
+
|
|
32
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
+
|
|
34
|
+
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); }; }
|
|
35
|
+
|
|
36
|
+
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; } }
|
|
37
|
+
|
|
38
|
+
var styles = function styles(theme) {
|
|
39
|
+
return {
|
|
40
|
+
button: {
|
|
41
|
+
color: 'grey',
|
|
42
|
+
display: 'inline-flex',
|
|
43
|
+
padding: '2px',
|
|
44
|
+
background: 'none',
|
|
45
|
+
border: 'none',
|
|
46
|
+
cursor: 'pointer',
|
|
47
|
+
'&:hover': {
|
|
48
|
+
color: 'black'
|
|
49
|
+
},
|
|
50
|
+
'&:focus': {
|
|
51
|
+
outline: "2px solid ".concat(theme.palette.grey[700])
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
active: {
|
|
55
|
+
color: 'black'
|
|
56
|
+
},
|
|
57
|
+
disabled: {
|
|
58
|
+
opacity: 0.7,
|
|
59
|
+
cursor: 'not-allowed',
|
|
60
|
+
'& :hover': {
|
|
61
|
+
color: 'grey'
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
var log = (0, _debug["default"])('pie-elements:editable-html:raw-button');
|
|
68
|
+
|
|
69
|
+
var RawButton = /*#__PURE__*/function (_React$Component) {
|
|
70
|
+
(0, _inherits2["default"])(RawButton, _React$Component);
|
|
71
|
+
|
|
72
|
+
var _super = _createSuper(RawButton);
|
|
73
|
+
|
|
74
|
+
function RawButton(props) {
|
|
75
|
+
var _this;
|
|
76
|
+
|
|
77
|
+
(0, _classCallCheck2["default"])(this, RawButton);
|
|
78
|
+
_this = _super.call(this, props);
|
|
79
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
|
|
80
|
+
log('[onClick]');
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
var onClick = _this.props.onClick;
|
|
83
|
+
onClick(e);
|
|
84
|
+
});
|
|
85
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyDown", function (e) {
|
|
86
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
87
|
+
log('[onKeyDown]');
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
var onClick = _this.props.onClick;
|
|
90
|
+
onClick(e);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return _this;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
(0, _createClass2["default"])(RawButton, [{
|
|
97
|
+
key: "render",
|
|
98
|
+
value: function render() {
|
|
99
|
+
var _classNames;
|
|
100
|
+
|
|
101
|
+
var _this$props = this.props,
|
|
102
|
+
active = _this$props.active,
|
|
103
|
+
classes = _this$props.classes,
|
|
104
|
+
children = _this$props.children,
|
|
105
|
+
disabled = _this$props.disabled,
|
|
106
|
+
extraStyles = _this$props.extraStyles,
|
|
107
|
+
ariaLabel = _this$props.ariaLabel;
|
|
108
|
+
var names = (0, _classnames["default"])(classes.button, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.active, active), (0, _defineProperty2["default"])(_classNames, classes.disabled, disabled), _classNames));
|
|
109
|
+
return /*#__PURE__*/_react["default"].createElement("button", {
|
|
110
|
+
style: extraStyles,
|
|
111
|
+
className: names,
|
|
112
|
+
onMouseDown: this.onClick,
|
|
113
|
+
onKeyDown: this.onKeyDown,
|
|
114
|
+
disabled: disabled,
|
|
115
|
+
"aria-label": ariaLabel,
|
|
116
|
+
"aria-pressed": active,
|
|
117
|
+
tabIndex: 0
|
|
118
|
+
}, children);
|
|
119
|
+
}
|
|
120
|
+
}]);
|
|
121
|
+
return RawButton;
|
|
122
|
+
}(_react["default"].Component);
|
|
123
|
+
|
|
124
|
+
exports.RawButton = RawButton;
|
|
125
|
+
(0, _defineProperty2["default"])(RawButton, "propTypes", {
|
|
126
|
+
onClick: _propTypes["default"].func.isRequired,
|
|
127
|
+
classes: _propTypes["default"].object.isRequired,
|
|
128
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
|
|
129
|
+
active: _propTypes["default"].bool,
|
|
130
|
+
disabled: _propTypes["default"].bool,
|
|
131
|
+
extraStyles: _propTypes["default"].object
|
|
132
|
+
});
|
|
133
|
+
var Button = (0, _styles.withStyles)(styles)(RawButton);
|
|
134
|
+
exports.Button = Button;
|
|
135
|
+
|
|
136
|
+
var RawMarkButton = /*#__PURE__*/function (_React$Component2) {
|
|
137
|
+
(0, _inherits2["default"])(RawMarkButton, _React$Component2);
|
|
138
|
+
|
|
139
|
+
var _super2 = _createSuper(RawMarkButton);
|
|
140
|
+
|
|
141
|
+
function RawMarkButton(props) {
|
|
142
|
+
var _this2;
|
|
143
|
+
|
|
144
|
+
(0, _classCallCheck2["default"])(this, RawMarkButton);
|
|
145
|
+
_this2 = _super2.call(this, props);
|
|
146
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onToggle", function (e) {
|
|
147
|
+
e.preventDefault();
|
|
148
|
+
|
|
149
|
+
_this2.props.onToggle(_this2.props.mark);
|
|
150
|
+
});
|
|
151
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "onKeyDown", function (e) {
|
|
152
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
153
|
+
e.preventDefault();
|
|
154
|
+
|
|
155
|
+
_this2.props.onToggle(_this2.props.mark);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return _this2;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
(0, _createClass2["default"])(RawMarkButton, [{
|
|
162
|
+
key: "render",
|
|
163
|
+
value: function render() {
|
|
164
|
+
var _this$props2 = this.props,
|
|
165
|
+
classes = _this$props2.classes,
|
|
166
|
+
children = _this$props2.children,
|
|
167
|
+
active = _this$props2.active,
|
|
168
|
+
label = _this$props2.label;
|
|
169
|
+
var names = (0, _classnames["default"])(classes.button, active && classes.active);
|
|
170
|
+
return /*#__PURE__*/_react["default"].createElement("button", {
|
|
171
|
+
className: names,
|
|
172
|
+
onMouseDown: this.onToggle,
|
|
173
|
+
"aria-pressed": active,
|
|
174
|
+
onKeyDown: this.onKeyDown,
|
|
175
|
+
"aria-label": label,
|
|
176
|
+
tabIndex: 0
|
|
177
|
+
}, children);
|
|
178
|
+
}
|
|
179
|
+
}]);
|
|
180
|
+
return RawMarkButton;
|
|
181
|
+
}(_react["default"].Component);
|
|
182
|
+
|
|
183
|
+
exports.RawMarkButton = RawMarkButton;
|
|
184
|
+
(0, _defineProperty2["default"])(RawMarkButton, "propTypes", {
|
|
185
|
+
onToggle: _propTypes["default"].func.isRequired,
|
|
186
|
+
mark: _propTypes["default"].string,
|
|
187
|
+
label: _propTypes["default"].string.isRequired,
|
|
188
|
+
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
|
|
189
|
+
classes: _propTypes["default"].object.isRequired,
|
|
190
|
+
active: _propTypes["default"].bool
|
|
191
|
+
});
|
|
192
|
+
var MarkButton = (0, _styles.withStyles)(styles)(RawMarkButton);
|
|
193
|
+
exports.MarkButton = MarkButton;
|
|
194
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi90b29sYmFyLWJ1dHRvbnMuanN4Il0sIm5hbWVzIjpbInN0eWxlcyIsInRoZW1lIiwiYnV0dG9uIiwiY29sb3IiLCJkaXNwbGF5IiwicGFkZGluZyIsImJhY2tncm91bmQiLCJib3JkZXIiLCJjdXJzb3IiLCJvdXRsaW5lIiwicGFsZXR0ZSIsImdyZXkiLCJhY3RpdmUiLCJkaXNhYmxlZCIsIm9wYWNpdHkiLCJsb2ciLCJSYXdCdXR0b24iLCJwcm9wcyIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIm9uQ2xpY2siLCJrZXkiLCJjbGFzc2VzIiwiY2hpbGRyZW4iLCJleHRyYVN0eWxlcyIsImFyaWFMYWJlbCIsIm5hbWVzIiwib25LZXlEb3duIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm9iamVjdCIsIm9uZU9mVHlwZSIsImFycmF5T2YiLCJub2RlIiwiYm9vbCIsIkJ1dHRvbiIsIlJhd01hcmtCdXR0b24iLCJvblRvZ2dsZSIsIm1hcmsiLCJsYWJlbCIsInN0cmluZyIsIk1hcmtCdXR0b24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsS0FBSyxFQUFFLE1BREQ7QUFFTkMsTUFBQUEsT0FBTyxFQUFFLGFBRkg7QUFHTkMsTUFBQUEsT0FBTyxFQUFFLEtBSEg7QUFJTkMsTUFBQUEsVUFBVSxFQUFFLE1BSk47QUFLTkMsTUFBQUEsTUFBTSxFQUFFLE1BTEY7QUFNTkMsTUFBQUEsTUFBTSxFQUFFLFNBTkY7QUFPTixpQkFBVztBQUNUTCxRQUFBQSxLQUFLLEVBQUU7QUFERSxPQVBMO0FBVU4saUJBQVc7QUFDVE0sUUFB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QyxTOzs7aUNBQTVCVSxhLGVBQ1E7QUFDakJDLEVBQUFBLFFBQVEsRUFBRVYsc0JBQVVDLElBQVYsQ0FBZUMsVUFEUjtBQUVqQlMsRUFBQUEsSUFBSSxFQUFFWCxzQkFBVWEsTUFGQztBQUdqQkQsRUFBQUEsS0FBSyxFQUFFWixzQkFBVWEsTUFBVixDQUFpQlgsVUFIUDtBQUlqQlQsRUFBQUEsUUFBUSxFQUFFTyxzQkFBVUksU0FBVixDQUFvQixDQUFDSixzQkFBVUssT0FBVixDQUFrQkwsc0JBQVVNLElBQTVCLENBQUQsRUFBb0NOLHNCQUFVTSxJQUE5QyxDQUFwQixFQUF5RUosVUFKbEU7QUFLakJWLEVBQUFBLE9BQU8sRUFBRVEsc0JBQVVHLE1BQVYsQ0FBaUJELFVBTFQ7QUFNakJwQixFQUFBQSxNQUFNLEVBQUVrQixzQkFBVU87QUFORCxDO0FBNENkLElBQU1PLFVBQVUsR0FBRyx3QkFBVzVDLE1BQVgsRUFBbUJ1QyxhQUFuQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgYnV0dG9uOiB7XG4gICAgY29sb3I6ICdncmV5JyxcbiAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgIHBhZGRpbmc6ICcycHgnLFxuICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgIH0sXG4gICAgJyY6Zm9jdXMnOiB7XG4gICAgICBvdXRsaW5lOiBgMnB4IHNvbGlkICR7dGhlbWUucGFsZXR0ZS5ncmV5WzcwMF19YCxcbiAgICB9LFxuICB9LFxuICBhY3RpdmU6IHtcbiAgICBjb2xvcjogJ2JsYWNrJyxcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICBvcGFjaXR5OiAwLjcsXG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQnLFxuICAgICcmIDpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiAnZ3JleScsXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygncGllLWVsZW1lbnRzOmVkaXRhYmxlLWh0bWw6cmF3LWJ1dHRvbicpO1xuXG5leHBvcnQgY2xhc3MgUmF3QnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLmlzUmVxdWlyZWQsXG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZXh0cmFTdHlsZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBvbkNsaWNrID0gKGUpID0+IHtcbiAgICBsb2coJ1tvbkNsaWNrXScpO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgb25DbGljayhlKTtcbiAgfTtcblxuICBvbktleURvd24gPSAoZSkgPT4ge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XG4gICAgICBsb2coJ1tvbktleURvd25dJyk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB7IG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgICBvbkNsaWNrKGUpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBhY3RpdmUsIGNsYXNzZXMsIGNoaWxkcmVuLCBkaXNhYmxlZCwgZXh0cmFTdHlsZXMsIGFyaWFMYWJlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IG5hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmJ1dHRvbiwge1xuICAgICAgW2NsYXNzZXMuYWN0aXZlXTogYWN0aXZlLFxuICAgICAgW2NsYXNzZXMuZGlzYWJsZWRdOiBkaXNhYmxlZCxcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHN0eWxlPXtleHRyYVN0eWxlc31cbiAgICAgICAgY2xhc3NOYW1lPXtuYW1lc31cbiAgICAgICAgb25Nb3VzZURvd249e3RoaXMub25DbGlja31cbiAgICAgICAgb25LZXlEb3duPXt0aGlzLm9uS2V5RG93bn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtcHJlc3NlZD17YWN0aXZlfVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gd2l0aFN0eWxlcyhzdHlsZXMpKFJhd0J1dHRvbik7XG5cbmV4cG9ydCBjbGFzcyBSYXdNYXJrQnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvblRvZ2dsZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBtYXJrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5ub2RlKSwgUHJvcFR5cGVzLm5vZGVdKS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgb25Ub2dnbGUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnByb3BzLm9uVG9nZ2xlKHRoaXMucHJvcHMubWFyayk7XG4gIH07XG5cbiAgb25LZXlEb3duID0gKGUpID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgfHwgZS5rZXkgPT09ICcgJykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vblRvZ2dsZSh0aGlzLnByb3BzLm1hcmspO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBjaGlsZHJlbiwgYWN0aXZlLCBsYWJlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IG5hbWVzID0gY2xhc3NOYW1lcyhjbGFzc2VzLmJ1dHRvbiwgYWN0aXZlICYmIGNsYXNzZXMuYWN0aXZlKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e25hbWVzfVxuICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5vblRvZ2dsZX1cbiAgICAgICAgYXJpYS1wcmVzc2VkPXthY3RpdmV9XG4gICAgICAgIG9uS2V5RG93bj17dGhpcy5vbktleURvd259XG4gICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTWFya0J1dHRvbiA9IHdpdGhTdHlsZXMoc3R5bGVzKShSYXdNYXJrQnV0dG9uKTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/common/toolbar-buttons.jsx"],"names":["styles","theme","button","color","display","padding","background","border","cursor","outline","palette","grey","active","disabled","opacity","log","RawButton","props","e","preventDefault","onClick","key","classes","children","extraStyles","ariaLabel","names","onKeyDown","React","Component","PropTypes","func","isRequired","object","oneOfType","arrayOf","node","bool","Button","RawMarkButton","onToggle","mark","label","string","MarkButton"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nconst styles = (theme) => ({\n button: {\n color: 'grey',\n display: 'inline-flex',\n padding: '2px',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n '&:hover': {\n color: 'black',\n },\n '&:focus': {\n outline: `2px solid ${theme.palette.grey[700]}`,\n },\n },\n active: {\n color: 'black',\n },\n disabled: {\n opacity: 0.7,\n cursor: 'not-allowed',\n '& :hover': {\n color: 'grey',\n },\n },\n});\n\nconst log = debug('pie-elements:editable-html:raw-button');\n\nexport class RawButton extends React.Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n extraStyles: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n }\n\n onClick = (e) => {\n log('[onClick]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n };\n\n onKeyDown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n log('[onKeyDown]');\n e.preventDefault();\n const { onClick } = this.props;\n onClick(e);\n }\n };\n\n render() {\n const { active, classes, children, disabled, extraStyles, ariaLabel } = this.props;\n\n const names = classNames(classes.button, {\n [classes.active]: active,\n [classes.disabled]: disabled,\n });\n\n return (\n <button\n style={extraStyles}\n className={names}\n onMouseDown={this.onClick}\n onKeyDown={this.onKeyDown}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-pressed={active}\n tabIndex={0}\n >\n {children}\n </button>\n );\n }\n}\n\nexport const Button = withStyles(styles)(RawButton);\n\nexport class RawMarkButton extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func.isRequired,\n mark: PropTypes.string,\n label: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n active: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n }\n\n onToggle = (e) => {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n };\n\n onKeyDown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.props.onToggle(this.props.mark);\n }\n };\n\n render() {\n const { classes, children, active, label } = this.props;\n\n const names = classNames(classes.button, active && classes.active);\n return (\n <button\n className={names}\n onMouseDown={this.onToggle}\n aria-pressed={active}\n onKeyDown={this.onKeyDown}\n aria-label={label}\n tabIndex={0}\n >\n {children}\n </button>\n );\n }\n}\n\nexport const MarkButton = withStyles(styles)(RawMarkButton);\n"],"file":"toolbar-buttons.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/CssIcon.jsx"],"names":["styles","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","CssIcon","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,iCADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,UAAU,EAAE;AANR;AADmB,GAAZ;AAAA,CAAf;;AAWA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACT;AAAxB,WAAjB;AAAA,CAAhB;;eAEe,wBAAWF,MAAX,EAAmBU,OAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n});\n\nconst CssIcon = ({ classes }) => <div className={classes.icon}>CSS</div>;\n\nexport default withStyles(styles)(CssIcon);\n"],"file":"CssIcon.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/RespArea.jsx"],"names":["getRotate","direction","Chevron","props","style","rotate","transform","propTypes","PropTypes","string","object","GripIcon","margin","ToolbarIcon","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","top","width","height","whiteSpace","classes"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,SAAD,EAAe;AAC/B,UAAQA,SAAR;AACE,SAAK,MAAL;AACE,aAAO,EAAP;;AAEF,SAAK,IAAL;AACE,aAAO,CAAC,EAAR;;AAEF,SAAK,MAAL;AACE,aAAO,GAAP;;AAEF;AACE,aAAO,CAAP;AAXJ;AAaD,CAdD;;AAgBO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AAChC,MAAQF,SAAR,GAA6BE,KAA7B,CAAQF,SAAR;AAAA,MAAmBG,KAAnB,GAA6BD,KAA7B,CAAmBC,KAAnB;AACA,MAAMC,MAAM,GAAGL,SAAS,CAACC,SAAD,CAAxB;AAEA,sBACE,gCAAC,wBAAD;AACE,IAAA,KAAK;AACHK,MAAAA,SAAS,mBAAYD,MAAZ;AADN,OAEAD,KAFA;AADP,IADF;AAQD,CAZM;;;AAcPF,OAAO,CAACK,SAAR,GAAoB;AAClBN,EAAAA,SAAS,EAAEO,sBAAUC,MADH;AAElBL,EAAAA,KAAK,EAAEI,sBAAUE;AAFC,CAApB;;AAKO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAAe;AAAA,MAAZP,KAAY,QAAZA,KAAY;AACrC,sBACE;AAAM,IAAA,KAAK,EAAEA;AAAb,kBACE,gCAAC,oBAAD;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,MAAM,EAAE;AADH;AADT,IADF,eAME,gCAAC,oBAAD,OANF,CADF;AAUD,CAXM;;;AAaPD,QAAQ,CAACJ,SAAT,GAAqB;AACnBH,EAAAA,KAAK,EAAEI,sBAAUE;AADE,CAArB;AAIO,IAAMG,WAAW,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AAChDC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,yBADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,GAAG,EAAE,KAND;AAOJC,MAAAA,KAAK,EAAE,OAPH;AAQJC,MAAAA,MAAM,EAAE,MARJ;AASJC,MAAAA,UAAU,EAAE;AATR;AAD0C,GAAZ;AAAA,CAAX,EAYvB;AAAA,MAAGC,OAAH,SAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACX;AAAxB,uBAAjB;AAAA,CAZuB,CAApB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChevronRight from '@material-ui/icons/ChevronRight';\nimport MoreVert from '@material-ui/icons/MoreVert';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst getRotate = (direction) => {\n switch (direction) {\n case 'down':\n return 90;\n\n case 'up':\n return -90;\n\n case 'left':\n return 180;\n\n default:\n return 0;\n }\n};\n\nexport const Chevron = (props) => {\n const { direction, style } = props;\n const rotate = getRotate(direction);\n\n return (\n <ChevronRight\n style={{\n transform: `rotate(${rotate}deg)`,\n ...style,\n }}\n />\n );\n};\n\nChevron.propTypes = {\n direction: PropTypes.string,\n style: PropTypes.object,\n};\n\nexport const GripIcon = ({ style }) => {\n return (\n <span style={style}>\n <MoreVert\n style={{\n margin: '0 -16px',\n }}\n />\n <MoreVert />\n </span>\n );\n};\n\nGripIcon.propTypes = {\n style: PropTypes.object,\n};\n\nexport const ToolbarIcon = withStyles((theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans !important',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n top: '7px',\n width: '110px',\n height: '28px',\n whiteSpace: 'nowrap',\n },\n}))(({ classes }) => <div className={classes.icon}>+ Response Area</div>);\n"],"file":"RespArea.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/TableIcons.jsx"],"names":["styles","icon","fill","SvgIcon","Component","props","classes","AddRow","RemoveRow","AddColumn","RemoveColumn","RemoveTable"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,MADF;AAEJ,eAAW;AACTA,MAAAA,IAAI,EAAE;AADG;AAFP;AADO,CAAf;;AASA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAe;AAC7B,SAAO,wBAAWJ,MAAX,EAAmB,UAACK,KAAD;AAAA,wBACxB;AAAK,MAAA,KAAK,EAAC,4BAAX;AAAwC,MAAA,OAAO,EAAC,KAAhD;AAAsD,MAAA,KAAK,EAAC,IAA5D;AAAiE,MAAA,MAAM,EAAC,IAAxE;AAA6E,MAAA,OAAO,EAAC;AAArF,oBACE,gCAAC,SAAD;AAAW,MAAA,SAAS,EAAEA,KAAK,CAACC,OAAN,CAAcL;AAApC,MADF,CADwB;AAAA,GAAnB,CAAP;AAKD,CAND;;AAOO,IAAMM,MAAM,GAAGJ,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC5B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD4B;AAAA,CAAD,CAAtB;;AAOA,IAAMG,SAAS,GAAGL,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMI,SAAS,GAAGN,OAAO,CAAC,UAACE,KAAD;AAAA,sBAC/B,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KAD+B;AAAA,CAAD,CAAzB;;AAOA,IAAMK,YAAY,GAAGP,OAAO,CAAC,UAACE,KAAD;AAAA,sBAClC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADkC;AAAA,CAAD,CAA5B;;AAOA,IAAMM,WAAW,GAAGR,OAAO,CAAC,UAACE,KAAD;AAAA,sBACjC,sEACMA,KADN;AAEE,IAAA,CAAC,EAAC;AAFJ,KADiC;AAAA,CAAD,CAA3B","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = {\n icon: {\n fill: 'grey',\n '&:hover': {\n fill: 'black',\n },\n },\n};\n\nconst SvgIcon = (Component) => {\n return withStyles(styles)((props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <Component className={props.classes.icon} />\n </svg>\n ));\n};\nexport const AddRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\"\n />\n));\n\nexport const RemoveRow = SvgIcon((props) => (\n <path\n {...props}\n d=\"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\"\n />\n));\n\nexport const AddColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\"\n />\n));\n\nexport const RemoveColumn = SvgIcon((props) => (\n <path\n {...props}\n d=\"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\"\n />\n));\n\nexport const RemoveTable = SvgIcon((props) => (\n <path\n {...props}\n d=\"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\"\n />\n));\n"],"file":"TableIcons.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icons/TextAlign.jsx"],"names":["AlignLeft","AlignRight","AlignCenter","AlignJustify","editor","onChange","open","setOpen","icon","isActive","textAlign","applyAlignment","event","alignType","target","closest","getAttribute","commands","setTextAlign","onMouseDown","preventDefault","stopPropagation","display","alignItems","marginLeft","fontSize","position","background","flexDirection","padding"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport Collapse from '@material-ui/core/Collapse';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\n\nexport const AlignLeft = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 66 66\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M42.1875 4.75C42.1875 7.38672 39.9902 9.4375 37.5 9.4375H4.6875C2.05078 9.4375 0 7.38672 0 4.75C0 2.25977 2.05078 0.0625 4.6875 0.0625H37.5C39.9902 0.0625 42.1875 2.25977 42.1875 4.75ZM42.1875 42.25C42.1875 44.8867 39.9902 46.9375 37.5 46.9375H4.6875C2.05078 46.9375 0 44.8867 0 42.25C0 39.7598 2.05078 37.5625 4.6875 37.5625H37.5C39.9902 37.5625 42.1875 39.7598 42.1875 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const AlignRight = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 66 66\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M65.625 4.75C65.625 7.38672 63.4277 9.4375 60.9375 9.4375H28.125C25.4883 9.4375 23.4375 7.38672 23.4375 4.75C23.4375 2.25977 25.4883 0.0625 28.125 0.0625H60.9375C63.4277 0.0625 65.625 2.25977 65.625 4.75ZM65.625 42.25C65.625 44.8867 63.4277 46.9375 60.9375 46.9375H28.125C25.4883 46.9375 23.4375 44.8867 23.4375 42.25C23.4375 39.7598 25.4883 37.5625 28.125 37.5625H60.9375C63.4277 37.5625 65.625 39.7598 65.625 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const AlignCenter = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 66 66\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M51.5625 4.75C51.5625 7.38672 49.3652 9.4375 46.875 9.4375H18.75C16.1133 9.4375 14.0625 7.38672 14.0625 4.75C14.0625 2.25977 16.1133 0.0625 18.75 0.0625H46.875C49.3652 0.0625 51.5625 2.25977 51.5625 4.75ZM65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5ZM0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61ZM51.5625 42.25C51.5625 44.8867 49.3652 46.9375 46.875 46.9375H18.75C16.1133 46.9375 14.0625 44.8867 14.0625 42.25C14.0625 39.7598 16.1133 37.5625 18.75 37.5625H46.875C49.3652 37.5625 51.5625 39.7598 51.5625 42.25Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const AlignJustify = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 66 66\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M65.625 4.75C65.625 7.38672 63.4277 9.4375 60.9375 9.4375H4.6875C2.05078 9.4375 0 7.38672 0 4.75C0 2.25977 2.05078 0.0625 4.6875 0.0625H60.9375C63.4277 0.0625 65.625 2.25977 65.625 4.75ZM65.625 42.25C65.625 44.8867 63.4277 46.9375 60.9375 46.9375H4.6875C2.05078 46.9375 0 44.8867 0 42.25C0 39.7598 2.05078 37.5625 4.6875 37.5625H60.9375C63.4277 37.5625 65.625 39.7598 65.625 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ({ editor, onChange }) => {\n const [open, setOpen] = useState(false);\n\n let icon;\n\n switch (true) {\n case editor.isActive({ textAlign: 'right' }):\n icon = <AlignRight />;\n break;\n case editor.isActive({ textAlign: 'center' }):\n icon = <AlignCenter />;\n break;\n case editor.isActive({ textAlign: 'justify' }):\n icon = <AlignJustify />;\n break;\n default:\n icon = <AlignLeft />;\n break;\n }\n\n const applyAlignment = (event) => {\n const alignType = event.target?.closest('div')?.getAttribute('value');\n\n if (alignType) {\n editor.commands.setTextAlign(alignType);\n }\n\n setOpen(false);\n };\n\n const onMouseDown = (event) => {\n event.preventDefault();\n event.stopPropagation();\n setOpen(!open);\n };\n\n return (\n <div>\n <div style={{ display: 'flex', alignItems: 'center' }} onClick={onMouseDown}>\n {icon}\n <span style={{ marginLeft: '5px', fontSize: '8px' }}>▼</span>\n </div>\n <Collapse in={open} timeout=\"auto\" unmountOnExit style={{ position: 'absolute' }}>\n <List\n component=\"div\"\n disablePadding\n style={{\n background: '#fff',\n display: 'flex',\n flexDirection: 'row',\n padding: 0,\n }}\n >\n <ListItem button type=\"submit\" value=\"left\" aria-label=\"Align text left\" onClick={applyAlignment}>\n <AlignLeft />\n </ListItem>\n\n <ListItem button type=\"submit\" value=\"center\" aria-label=\"Align text center\" onClick={applyAlignment}>\n <AlignCenter />\n </ListItem>\n\n <ListItem button type=\"submit\" value=\"right\" aria-label=\"Align text right\" onClick={applyAlignment}>\n <AlignRight />\n </ListItem>\n\n <ListItem button type=\"submit\" value=\"justify\" aria-label=\"Justify text\" onClick={applyAlignment}>\n <AlignJustify />\n </ListItem>\n </List>\n </Collapse>\n </div>\n );\n};\n"],"file":"TextAlign.js"}
|
|
@@ -0,0 +1,129 @@
|
|
|
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.AltDialog = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
27
|
+
|
|
28
|
+
var _ArrowBackIos = _interopRequireDefault(require("@material-ui/icons/ArrowBackIos"));
|
|
29
|
+
|
|
30
|
+
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
31
|
+
|
|
32
|
+
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
|
|
33
|
+
|
|
34
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
35
|
+
|
|
36
|
+
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
37
|
+
|
|
38
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
39
|
+
|
|
40
|
+
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); }; }
|
|
41
|
+
|
|
42
|
+
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; } }
|
|
43
|
+
|
|
44
|
+
var AltDialog = /*#__PURE__*/function (_React$Component) {
|
|
45
|
+
(0, _inherits2["default"])(AltDialog, _React$Component);
|
|
46
|
+
|
|
47
|
+
var _super = _createSuper(AltDialog);
|
|
48
|
+
|
|
49
|
+
function AltDialog(props) {
|
|
50
|
+
var _this;
|
|
51
|
+
|
|
52
|
+
(0, _classCallCheck2["default"])(this, AltDialog);
|
|
53
|
+
_this = _super.call(this, props);
|
|
54
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "closeDialog", function () {
|
|
55
|
+
var allDialogs = document.querySelectorAll('#text-dialog');
|
|
56
|
+
allDialogs.forEach(function (s) {
|
|
57
|
+
return s.remove();
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
|
|
61
|
+
var onDone = _this.props.onDone;
|
|
62
|
+
var value = _this.state.value;
|
|
63
|
+
onDone(value);
|
|
64
|
+
|
|
65
|
+
_this.closeDialog();
|
|
66
|
+
});
|
|
67
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOverflow", function () {
|
|
68
|
+
document.body.style.removeProperty('overflow');
|
|
69
|
+
});
|
|
70
|
+
var alt = props.alt;
|
|
71
|
+
_this.state = {
|
|
72
|
+
value: alt
|
|
73
|
+
};
|
|
74
|
+
return _this;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
(0, _createClass2["default"])(AltDialog, [{
|
|
78
|
+
key: "render",
|
|
79
|
+
value: function render() {
|
|
80
|
+
var _this2 = this;
|
|
81
|
+
|
|
82
|
+
var value = this.state.value;
|
|
83
|
+
return /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
84
|
+
open: true,
|
|
85
|
+
disablePortal: true,
|
|
86
|
+
onClose: this.closeDialog,
|
|
87
|
+
id: "text-dialog",
|
|
88
|
+
hideBackdrop: true,
|
|
89
|
+
disableScrollLock: true,
|
|
90
|
+
onEntered: this.handleOverflow
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement(_DialogContent["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
92
|
+
style: {
|
|
93
|
+
display: 'flex'
|
|
94
|
+
}
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBackIos["default"], {
|
|
96
|
+
style: {
|
|
97
|
+
paddingTop: '6px'
|
|
98
|
+
}
|
|
99
|
+
}), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
100
|
+
multiline: true,
|
|
101
|
+
placeholder: 'Enter an Alt Text description of this image',
|
|
102
|
+
helperText: 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.',
|
|
103
|
+
value: value,
|
|
104
|
+
onChange: function onChange(event) {
|
|
105
|
+
return _this2.setState({
|
|
106
|
+
value: event.target.value
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
FormHelperTextProps: {
|
|
110
|
+
style: {
|
|
111
|
+
fontSize: 14
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}))), /*#__PURE__*/_react["default"].createElement(_DialogActions["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
115
|
+
onClick: this.onDone
|
|
116
|
+
}, "Done")));
|
|
117
|
+
}
|
|
118
|
+
}]);
|
|
119
|
+
return AltDialog;
|
|
120
|
+
}(_react["default"].Component);
|
|
121
|
+
|
|
122
|
+
exports.AltDialog = AltDialog;
|
|
123
|
+
(0, _defineProperty2["default"])(AltDialog, "propTypes", {
|
|
124
|
+
onDone: _propTypes["default"].func.isRequired,
|
|
125
|
+
alt: _propTypes["default"].string
|
|
126
|
+
});
|
|
127
|
+
var _default = AltDialog;
|
|
128
|
+
exports["default"] = _default;
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ltYWdlL0FsdERpYWxvZy5qc3giXSwibmFtZXMiOlsiQWx0RGlhbG9nIiwicHJvcHMiLCJhbGxEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJvbkRvbmUiLCJ2YWx1ZSIsInN0YXRlIiwiY2xvc2VEaWFsb2ciLCJib2R5Iiwic3R5bGUiLCJyZW1vdmVQcm9wZXJ0eSIsImFsdCIsImhhbmRsZU92ZXJmbG93IiwiZGlzcGxheSIsInBhZGRpbmdUb3AiLCJldmVudCIsInNldFN0YXRlIiwidGFyZ2V0IiwiZm9udFNpemUiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFFYUEsUzs7Ozs7QUFNWCxxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBO0FBQ2pCLDhCQUFNQSxLQUFOO0FBRGlCLG9HQVVMLFlBQU07QUFDbEIsVUFBTUMsVUFBVSxHQUFHQyxRQUFRLENBQUNDLGdCQUFULENBQTBCLGNBQTFCLENBQW5CO0FBRUFGLE1BQUFBLFVBQVUsQ0FBQ0csT0FBWCxDQUFtQixVQUFTQyxDQUFULEVBQVk7QUFDN0IsZUFBT0EsQ0FBQyxDQUFDQyxNQUFGLEVBQVA7QUFDRCxPQUZEO0FBR0QsS0FoQmtCO0FBQUEsK0ZBa0JWLFlBQU07QUFDYixVQUFRQyxNQUFSLEdBQW1CLE1BQUtQLEtBQXhCLENBQVFPLE1BQVI7QUFDQSxVQUFRQyxLQUFSLEdBQWtCLE1BQUtDLEtBQXZCLENBQVFELEtBQVI7QUFFQUQsTUFBQUEsTUFBTSxDQUFDQyxLQUFELENBQU47O0FBQ0EsWUFBS0UsV0FBTDtBQUNELEtBeEJrQjtBQUFBLHVHQTBCRixZQUFNO0FBQ3JCUixNQUFBQSxRQUFRLENBQUNTLElBQVQsQ0FBY0MsS0FBZCxDQUFvQkMsY0FBcEIsQ0FBbUMsVUFBbkM7QUFDRCxLQTVCa0I7QUFHakIsUUFBUUMsR0FBUixHQUFnQmQsS0FBaEIsQ0FBUWMsR0FBUjtBQUVBLFVBQUtMLEtBQUwsR0FBYTtBQUNYRCxNQUFBQSxLQUFLLEVBQUVNO0FBREksS0FBYjtBQUxpQjtBQVFsQjs7OztXQXNCRCxrQkFBUztBQUFBOztBQUNQLFVBQVFOLEtBQVIsR0FBa0IsS0FBS0MsS0FBdkIsQ0FBUUQsS0FBUjtBQUVBLDBCQUNFLGdDQUFDLGtCQUFEO0FBQ0UsUUFBQSxJQUFJLE1BRE47QUFFRSxRQUFBLGFBQWEsTUFGZjtBQUdFLFFBQUEsT0FBTyxFQUFFLEtBQUtFLFdBSGhCO0FBSUUsUUFBQSxFQUFFLEVBQUMsYUFKTDtBQUtFLFFBQUEsWUFBWSxNQUxkO0FBTUUsUUFBQSxpQkFBaUIsTUFObkI7QUFPRSxRQUFBLFNBQVMsRUFBRSxLQUFLSztBQVBsQixzQkFTRSxnQ0FBQyx5QkFBRCxxQkFDRTtBQUFLLFFBQUEsS0FBSyxFQUFFO0FBQUVDLFVBQUFBLE9BQU8sRUFBRTtBQUFYO0FBQVosc0JBQ0UsZ0NBQUMsd0JBQUQ7QUFBYyxRQUFBLEtBQUssRUFBRTtBQUFFQyxVQUFBQSxVQUFVLEVBQUU7QUFBZDtBQUFyQixRQURGLGVBRUUsZ0NBQUMscUJBQUQ7QUFDRSxRQUFBLFNBQVMsTUFEWDtBQUVFLFFBQUEsV0FBVyxFQUFFLDZDQUZmO0FBR0UsUUFBQSxVQUFVLEVBQ1IsMEhBSko7QUFNRSxRQUFBLEtBQUssRUFBRVQsS0FOVDtBQU9FLFFBQUEsUUFBUSxFQUFFLGtCQUFDVSxLQUFEO0FBQUEsaUJBQVcsTUFBSSxDQUFDQyxRQUFMLENBQWM7QUFBRVgsWUFBQUEsS0FBSyxFQUFFVSxLQUFLLENBQUNFLE1BQU4sQ0FBYVo7QUFBdEIsV0FBZCxDQUFYO0FBQUEsU0FQWjtBQVFFLFFBQUEsbUJBQW1CLEVBQUU7QUFBRUksVUFBQUEsS0FBSyxFQUFFO0FBQUVTLFlBQUFBLFFBQVEsRUFBRTtBQUFaO0FBQVQ7QUFSdkIsUUFGRixDQURGLENBVEYsZUF3QkUsZ0NBQUMseUJBQUQscUJBQ0UsZ0NBQUMsa0JBQUQ7QUFBUSxRQUFBLE9BQU8sRUFBRSxLQUFLZDtBQUF0QixnQkFERixDQXhCRixDQURGO0FBOEJEOzs7RUFyRTRCZSxrQkFBTUMsUzs7O2lDQUF4QnhCLFMsZUFDUTtBQUNqQlEsRUFBQUEsTUFBTSxFQUFFaUIsc0JBQVVDLElBQVYsQ0FBZUMsVUFETjtBQUVqQlosRUFBQUEsR0FBRyxFQUFFVSxzQkFBVUc7QUFGRSxDO2VBdUVONUIsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgRGlhbG9nQ29udGVudCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9EaWFsb2dDb250ZW50JztcbmltcG9ydCBBcnJvd0JhY2tJb3MgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Fycm93QmFja0lvcyc7XG5pbXBvcnQgVGV4dEZpZWxkIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1RleHRGaWVsZCc7XG5pbXBvcnQgRGlhbG9nQWN0aW9ucyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9EaWFsb2dBY3Rpb25zJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvQnV0dG9uJztcbmltcG9ydCBEaWFsb2cgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBBbHREaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCB7IGFsdCB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdmFsdWU6IGFsdCxcbiAgICB9O1xuICB9XG5cbiAgY2xvc2VEaWFsb2cgPSAoKSA9PiB7XG4gICAgY29uc3QgYWxsRGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXh0LWRpYWxvZycpO1xuXG4gICAgYWxsRGlhbG9ncy5mb3JFYWNoKGZ1bmN0aW9uKHMpIHtcbiAgICAgIHJldHVybiBzLnJlbW92ZSgpO1xuICAgIH0pO1xuICB9O1xuXG4gIG9uRG9uZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG9uRG9uZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgb25Eb25lKHZhbHVlKTtcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gIH07XG5cbiAgaGFuZGxlT3ZlcmZsb3cgPSAoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnb3ZlcmZsb3cnKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RGlhbG9nXG4gICAgICAgIG9wZW5cbiAgICAgICAgZGlzYWJsZVBvcnRhbFxuICAgICAgICBvbkNsb3NlPXt0aGlzLmNsb3NlRGlhbG9nfVxuICAgICAgICBpZD1cInRleHQtZGlhbG9nXCJcbiAgICAgICAgaGlkZUJhY2tkcm9wXG4gICAgICAgIGRpc2FibGVTY3JvbGxMb2NrXG4gICAgICAgIG9uRW50ZXJlZD17dGhpcy5oYW5kbGVPdmVyZmxvd31cbiAgICAgID5cbiAgICAgICAgPERpYWxvZ0NvbnRlbnQ+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcgfX0+XG4gICAgICAgICAgICA8QXJyb3dCYWNrSW9zIHN0eWxlPXt7IHBhZGRpbmdUb3A6ICc2cHgnIH19IC8+XG4gICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgIG11bHRpbGluZVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17J0VudGVyIGFuIEFsdCBUZXh0IGRlc2NyaXB0aW9uIG9mIHRoaXMgaW1hZ2UnfVxuICAgICAgICAgICAgICBoZWxwZXJUZXh0PXtcbiAgICAgICAgICAgICAgICAnVXNlcnMgd2l0aCB2aXN1YWwgbGltaXRhdGlvbnMgcmVseSBvbiBBbHQgVGV4dCwgc2luY2Ugc2NyZWVuIHJlYWRlcnMgY2Fubm90IG90aGVyd2lzZSBkZXNjcmliZSB0aGUgY29udGVudHMgb2YgYW4gaW1hZ2UuJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhldmVudCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBldmVudC50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgIEZvcm1IZWxwZXJUZXh0UHJvcHM9e3sgc3R5bGU6IHsgZm9udFNpemU6IDE0IH0gfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgPERpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXt0aGlzLm9uRG9uZX0+RG9uZTwvQnV0dG9uPlxuICAgICAgICA8L0RpYWxvZ0FjdGlvbnM+XG4gICAgICA8L0RpYWxvZz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFsdERpYWxvZztcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/image/AltDialog.jsx"],"names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","body","style","removeProperty","alt","handleOverflow","display","paddingTop","event","setState","target","fontSize","React","Component","PropTypes","func","isRequired","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,S;;;;;AAMX,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,oGAUL,YAAM;AAClB,UAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,cAA1B,CAAnB;AAEAF,MAAAA,UAAU,CAACG,OAAX,CAAmB,UAASC,CAAT,EAAY;AAC7B,eAAOA,CAAC,CAACC,MAAF,EAAP;AACD,OAFD;AAGD,KAhBkB;AAAA,+FAkBV,YAAM;AACb,UAAQC,MAAR,GAAmB,MAAKP,KAAxB,CAAQO,MAAR;AACA,UAAQC,KAAR,GAAkB,MAAKC,KAAvB,CAAQD,KAAR;AAEAD,MAAAA,MAAM,CAACC,KAAD,CAAN;;AACA,YAAKE,WAAL;AACD,KAxBkB;AAAA,uGA0BF,YAAM;AACrBR,MAAAA,QAAQ,CAACS,IAAT,CAAcC,KAAd,CAAoBC,cAApB,CAAmC,UAAnC;AACD,KA5BkB;AAGjB,QAAQC,GAAR,GAAgBd,KAAhB,CAAQc,GAAR;AAEA,UAAKL,KAAL,GAAa;AACXD,MAAAA,KAAK,EAAEM;AADI,KAAb;AALiB;AAQlB;;;;WAsBD,kBAAS;AAAA;;AACP,UAAQN,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AAEA,0BACE,gCAAC,kBAAD;AACE,QAAA,IAAI,MADN;AAEE,QAAA,aAAa,MAFf;AAGE,QAAA,OAAO,EAAE,KAAKE,WAHhB;AAIE,QAAA,EAAE,EAAC,aAJL;AAKE,QAAA,YAAY,MALd;AAME,QAAA,iBAAiB,MANnB;AAOE,QAAA,SAAS,EAAE,KAAKK;AAPlB,sBASE,gCAAC,yBAAD,qBACE;AAAK,QAAA,KAAK,EAAE;AAAEC,UAAAA,OAAO,EAAE;AAAX;AAAZ,sBACE,gCAAC,wBAAD;AAAc,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE;AAAd;AAArB,QADF,eAEE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,WAAW,EAAE,6CAFf;AAGE,QAAA,UAAU,EACR,0HAJJ;AAME,QAAA,KAAK,EAAET,KANT;AAOE,QAAA,QAAQ,EAAE,kBAACU,KAAD;AAAA,iBAAW,MAAI,CAACC,QAAL,CAAc;AAAEX,YAAAA,KAAK,EAAEU,KAAK,CAACE,MAAN,CAAaZ;AAAtB,WAAd,CAAX;AAAA,SAPZ;AAQE,QAAA,mBAAmB,EAAE;AAAEI,UAAAA,KAAK,EAAE;AAAES,YAAAA,QAAQ,EAAE;AAAZ;AAAT;AARvB,QAFF,CADF,CATF,eAwBE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE,KAAKd;AAAtB,gBADF,CAxBF,CADF;AA8BD;;;EArE4Be,kBAAMC,S;;;iCAAxBxB,S,eACQ;AACjBQ,EAAAA,MAAM,EAAEiB,sBAAUC,IAAV,CAAeC,UADN;AAEjBZ,EAAAA,GAAG,EAAEU,sBAAUG;AAFE,C;eAuEN5B,S","sourcesContent":["import React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport ArrowBackIos from '@material-ui/icons/ArrowBackIos';\nimport TextField from '@material-ui/core/TextField';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport PropTypes from 'prop-types';\n\nexport class AltDialog extends React.Component {\n static propTypes = {\n onDone: PropTypes.func.isRequired,\n alt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n const { alt } = props;\n\n this.state = {\n value: alt,\n };\n }\n\n closeDialog = () => {\n const allDialogs = document.querySelectorAll('#text-dialog');\n\n allDialogs.forEach(function(s) {\n return s.remove();\n });\n };\n\n onDone = () => {\n const { onDone } = this.props;\n const { value } = this.state;\n\n onDone(value);\n this.closeDialog();\n };\n\n handleOverflow = () => {\n document.body.style.removeProperty('overflow');\n };\n\n render() {\n const { value } = this.state;\n\n return (\n <Dialog\n open\n disablePortal\n onClose={this.closeDialog}\n id=\"text-dialog\"\n hideBackdrop\n disableScrollLock\n onEntered={this.handleOverflow}\n >\n <DialogContent>\n <div style={{ display: 'flex' }}>\n <ArrowBackIos style={{ paddingTop: '6px' }} />\n <TextField\n multiline\n placeholder={'Enter an Alt Text description of this image'}\n helperText={\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.'\n }\n value={value}\n onChange={(event) => this.setState({ value: event.target.value })}\n FormHelperTextProps={{ style: { fontSize: 14 } }}\n />\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={this.onDone}>Done</Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nexport default AltDialog;\n"],"file":"AltDialog.js"}
|
|
@@ -5,12 +5,173 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
exports["default"] = exports.ImageToolbar = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
29
|
+
|
|
30
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
+
|
|
32
|
+
var _styles = require("@material-ui/core/styles");
|
|
33
|
+
|
|
34
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
+
|
|
36
|
+
var _AltDialog = _interopRequireDefault(require("./AltDialog"));
|
|
37
|
+
|
|
38
|
+
var _toolbarButtons = require("../common/toolbar-buttons");
|
|
39
|
+
|
|
40
|
+
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); }; }
|
|
41
|
+
|
|
42
|
+
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; } }
|
|
43
|
+
|
|
44
|
+
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:image-toolbar');
|
|
45
|
+
|
|
46
|
+
var AlignmentButton = function AlignmentButton(_ref) {
|
|
47
|
+
var alignment = _ref.alignment,
|
|
48
|
+
active = _ref.active,
|
|
49
|
+
onClick = _ref.onClick;
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(_toolbarButtons.MarkButton, {
|
|
51
|
+
active: active,
|
|
52
|
+
onToggle: function onToggle() {
|
|
53
|
+
return onClick(alignment);
|
|
54
|
+
},
|
|
55
|
+
label: alignment
|
|
56
|
+
}, alignment);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
AlignmentButton.propTypes = {
|
|
60
|
+
alignment: _propTypes["default"].string.isRequired,
|
|
61
|
+
active: _propTypes["default"].bool.isRequired,
|
|
62
|
+
onClick: _propTypes["default"].func.isRequired
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var ImageToolbar = /*#__PURE__*/function (_React$Component) {
|
|
66
|
+
(0, _inherits2["default"])(ImageToolbar, _React$Component);
|
|
67
|
+
|
|
68
|
+
var _super = _createSuper(ImageToolbar);
|
|
69
|
+
|
|
70
|
+
function ImageToolbar() {
|
|
71
|
+
var _this;
|
|
72
|
+
|
|
73
|
+
(0, _classCallCheck2["default"])(this, ImageToolbar);
|
|
74
|
+
|
|
75
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
76
|
+
args[_key] = arguments[_key];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
80
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAltTextDone", function (newAlt) {
|
|
81
|
+
log('[onAltTextDone]: alt:', newAlt);
|
|
82
|
+
|
|
83
|
+
_this.props.onChange({
|
|
84
|
+
alt: newAlt
|
|
85
|
+
}, true);
|
|
86
|
+
});
|
|
87
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlignmentClick", function (alignment) {
|
|
88
|
+
log('[onAlignmentClick]: alignment:', alignment);
|
|
89
|
+
|
|
90
|
+
_this.props.onChange({
|
|
91
|
+
alignment: alignment
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderDialog", function () {
|
|
95
|
+
var alt = _this.props.alt;
|
|
96
|
+
var popoverEl = document.createElement('div');
|
|
97
|
+
|
|
98
|
+
var el = /*#__PURE__*/_react["default"].createElement(_AltDialog["default"], {
|
|
99
|
+
alt: alt,
|
|
100
|
+
onDone: _this.onAltTextDone
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
_reactDom["default"].render(el, popoverEl);
|
|
104
|
+
|
|
105
|
+
document.body.appendChild(popoverEl);
|
|
106
|
+
});
|
|
107
|
+
return _this;
|
|
12
108
|
}
|
|
109
|
+
|
|
110
|
+
(0, _createClass2["default"])(ImageToolbar, [{
|
|
111
|
+
key: "render",
|
|
112
|
+
value: function render() {
|
|
113
|
+
var _classNames,
|
|
114
|
+
_this2 = this;
|
|
115
|
+
|
|
116
|
+
var _this$props = this.props,
|
|
117
|
+
classes = _this$props.classes,
|
|
118
|
+
alignment = _this$props.alignment,
|
|
119
|
+
imageLoaded = _this$props.imageLoaded,
|
|
120
|
+
disableImageAlignmentButtons = _this$props.disableImageAlignmentButtons;
|
|
121
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
122
|
+
className: classes.holder
|
|
123
|
+
}, !disableImageAlignmentButtons && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
124
|
+
alignment: 'left',
|
|
125
|
+
active: alignment === 'left',
|
|
126
|
+
onClick: this.onAlignmentClick
|
|
127
|
+
}), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
128
|
+
alignment: 'center',
|
|
129
|
+
active: alignment === 'center',
|
|
130
|
+
onClick: this.onAlignmentClick
|
|
131
|
+
}), /*#__PURE__*/_react["default"].createElement(AlignmentButton, {
|
|
132
|
+
alignment: 'right',
|
|
133
|
+
active: alignment === 'right',
|
|
134
|
+
onClick: this.onAlignmentClick
|
|
135
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
136
|
+
className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.disabled, !imageLoaded), (0, _defineProperty2["default"])(_classNames, classes.altButton, !disableImageAlignmentButtons), _classNames)),
|
|
137
|
+
onMouseDown: function onMouseDown(event) {
|
|
138
|
+
return imageLoaded && _this2.renderDialog(event);
|
|
139
|
+
}
|
|
140
|
+
}, "Alt text"));
|
|
141
|
+
}
|
|
142
|
+
}]);
|
|
143
|
+
return ImageToolbar;
|
|
144
|
+
}(_react["default"].Component);
|
|
145
|
+
|
|
146
|
+
exports.ImageToolbar = ImageToolbar;
|
|
147
|
+
(0, _defineProperty2["default"])(ImageToolbar, "propTypes", {
|
|
148
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
149
|
+
classes: _propTypes["default"].object.isRequired,
|
|
150
|
+
alignment: _propTypes["default"].string,
|
|
151
|
+
alt: _propTypes["default"].string,
|
|
152
|
+
imageLoaded: _propTypes["default"].bool,
|
|
153
|
+
disableImageAlignmentButtons: _propTypes["default"].bool
|
|
13
154
|
});
|
|
14
155
|
|
|
15
|
-
var
|
|
16
|
-
|
|
156
|
+
var styles = function styles(theme) {
|
|
157
|
+
return {
|
|
158
|
+
holder: {
|
|
159
|
+
paddingLeft: theme.spacing.unit,
|
|
160
|
+
display: 'flex',
|
|
161
|
+
alignItems: 'center'
|
|
162
|
+
},
|
|
163
|
+
disabled: {
|
|
164
|
+
opacity: 0.5
|
|
165
|
+
},
|
|
166
|
+
altButton: {
|
|
167
|
+
borderLeft: '1px solid grey',
|
|
168
|
+
paddingLeft: 8,
|
|
169
|
+
marginLeft: 4
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
var _default = (0, _styles.withStyles)(styles)(ImageToolbar);
|
|
175
|
+
|
|
176
|
+
exports["default"] = _default;
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ltYWdlL0ltYWdlVG9vbGJhci5qc3giXSwibmFtZXMiOlsibG9nIiwiQWxpZ25tZW50QnV0dG9uIiwiYWxpZ25tZW50IiwiYWN0aXZlIiwib25DbGljayIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsIkltYWdlVG9vbGJhciIsIm5ld0FsdCIsInByb3BzIiwib25DaGFuZ2UiLCJhbHQiLCJwb3BvdmVyRWwiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJlbCIsIm9uQWx0VGV4dERvbmUiLCJSZWFjdERPTSIsInJlbmRlciIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNsYXNzZXMiLCJpbWFnZUxvYWRlZCIsImRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMiLCJob2xkZXIiLCJvbkFsaWdubWVudENsaWNrIiwiZGlzYWJsZWQiLCJhbHRCdXR0b24iLCJldmVudCIsInJlbmRlckRpYWxvZyIsIlJlYWN0IiwiQ29tcG9uZW50Iiwib2JqZWN0Iiwic3R5bGVzIiwidGhlbWUiLCJwYWRkaW5nTGVmdCIsInNwYWNpbmciLCJ1bml0IiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJvcGFjaXR5IiwiYm9yZGVyTGVmdCIsIm1hcmdpbkxlZnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxvREFBTixDQUFaOztBQUVBLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsT0FBb0M7QUFBQSxNQUFqQ0MsU0FBaUMsUUFBakNBLFNBQWlDO0FBQUEsTUFBdEJDLE1BQXNCLFFBQXRCQSxNQUFzQjtBQUFBLE1BQWRDLE9BQWMsUUFBZEEsT0FBYztBQUMxRCxzQkFDRSxnQ0FBQywwQkFBRDtBQUFZLElB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OztFQXREK0JFLGtCQUFNQyxTOzs7aUNBQTNCeEIsWSxlQUNRO0FBQ2pCRyxFQUFBQSxRQUFRLEVBQUVSLHNCQUFVSSxJQUFWLENBQWVGLFVBRFI7QUFFakJpQixFQUFBQSxPQUFPLEVBQUVuQixzQkFBVThCLE1BQVYsQ0FBaUI1QixVQUZUO0FBR2pCTixFQUFBQSxTQUFTLEVBQUVJLHNCQUFVQyxNQUhKO0FBSWpCUSxFQUFBQSxHQUFHLEVBQUVULHNCQUFVQyxNQUpFO0FBS2pCbUIsRUFBQUEsV0FBVyxFQUFFcEIsc0JBQVVHLElBTE47QUFNakJrQixFQUFBQSw0QkFBNEIsRUFBRXJCLHNCQUFVRztBQU52QixDOztBQXdEckIsSUFBTTRCLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCVixJQUFBQSxNQUFNLEVBQUU7QUFDTlcsTUFBQUEsV0FBVyxFQUFFRCxLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFEckI7QUFFTkMsTUFBQUEsT0FBTyxFQUFFLE1BRkg7QUFHTkMsTUFBQUEsVUFBVSxFQUFFO0FBSE4sS0FEaUI7QUFNekJiLElBQUFBLFFBQVEsRUFBRTtBQUNSYyxNQUFBQSxPQUFPLEVBQUU7QUFERCxLQU5lO0FBU3pCYixJQUFBQSxTQUFTLEVBQUU7QUFDVGMsTUFBQUEsVUFBVSxFQUFFLGdCQURIO0FBRVROLE1BQUFBLFdBQVcsRUFBRSxDQUZKO0FBR1RPLE1BQUFBLFVBQVUsRUFBRTtBQUhIO0FBVGMsR0FBWjtBQUFBLENBQWY7O2VBZ0JlLHdCQUFXVCxNQUFYLEVBQW1CMUIsWUFBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IEFsdERpYWxvZyBmcm9tICcuL0FsdERpYWxvZyc7XG5pbXBvcnQgeyBNYXJrQnV0dG9uIH0gZnJvbSAnLi4vY29tbW9uL3Rvb2xiYXItYnV0dG9ucyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6aW1hZ2UtdG9vbGJhcicpO1xuXG5jb25zdCBBbGlnbm1lbnRCdXR0b24gPSAoeyBhbGlnbm1lbnQsIGFjdGl2ZSwgb25DbGljayB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPE1hcmtCdXR0b24gYWN0aXZlPXthY3RpdmV9IG9uVG9nZ2xlPXsoKSA9PiBvbkNsaWNrKGFsaWdubWVudCl9IGxhYmVsPXthbGlnbm1lbnR9PlxuICAgICAge2FsaWdubWVudH1cbiAgICA8L01hcmtCdXR0b24+XG4gICk7XG59O1xuXG5BbGlnbm1lbnRCdXR0b24ucHJvcFR5cGVzID0ge1xuICBhbGlnbm1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGNsYXNzIEltYWdlVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGFsaWdubWVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW1hZ2VMb2FkZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIG9uQWx0VGV4dERvbmUgPSAobmV3QWx0KSA9PiB7XG4gICAgbG9nKCdbb25BbHRUZXh0RG9uZV06IGFsdDonLCBuZXdBbHQpO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZSh7IGFsdDogbmV3QWx0IH0sIHRydWUpO1xuICB9O1xuXG4gIG9uQWxpZ25tZW50Q2xpY2sgPSAoYWxpZ25tZW50KSA9PiB7XG4gICAgbG9nKCdbb25BbGlnbm1lbnRDbGlja106IGFsaWdubWVudDonLCBhbGlnbm1lbnQpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UoeyBhbGlnbm1lbnQgfSk7XG4gIH07XG5cbiAgcmVuZGVyRGlhbG9nID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWx0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBvcG92ZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgY29uc3QgZWwgPSA8QWx0RGlhbG9nIGFsdD17YWx0fSBvbkRvbmU9e3RoaXMub25BbHRUZXh0RG9uZX0gLz47XG5cbiAgICBSZWFjdERPTS5yZW5kZXIoZWwsIHBvcG92ZXJFbCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcG92ZXJFbCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgYWxpZ25tZW50LCBpbWFnZUxvYWRlZCwgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaG9sZGVyfT5cbiAgICAgICAgeyFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydsZWZ0J30gYWN0aXZlPXthbGlnbm1lbnQgPT09ICdsZWZ0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgICAgPEFsaWdubWVudEJ1dHRvbiBhbGlnbm1lbnQ9eydjZW50ZXInfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ2NlbnRlcid9IG9uQ2xpY2s9e3RoaXMub25BbGlnbm1lbnRDbGlja30gLz5cbiAgICAgICAgICAgIDxBbGlnbm1lbnRCdXR0b24gYWxpZ25tZW50PXsncmlnaHQnfSBhY3RpdmU9e2FsaWdubWVudCA9PT0gJ3JpZ2h0J30gb25DbGljaz17dGhpcy5vbkFsaWdubWVudENsaWNrfSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyh7XG4gICAgICAgICAgICBbY2xhc3Nlcy5kaXNhYmxlZF06ICFpbWFnZUxvYWRlZCxcbiAgICAgICAgICAgIFtjbGFzc2VzLmFsdEJ1dHRvbl06ICFkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IGltYWdlTG9hZGVkICYmIHRoaXMucmVuZGVyRGlhbG9nKGV2ZW50KX1cbiAgICAgICAgPlxuICAgICAgICAgIEFsdCB0ZXh0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBob2xkZXI6IHtcbiAgICBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZy51bml0LFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gIH0sXG4gIGFsdEJ1dHRvbjoge1xuICAgIGJvcmRlckxlZnQ6ICcxcHggc29saWQgZ3JleScsXG4gICAgcGFkZGluZ0xlZnQ6IDgsXG4gICAgbWFyZ2luTGVmdDogNCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoSW1hZ2VUb29sYmFyKTtcbiJdfQ==
|