@pie-lib/editable-html 11.4.0 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +13 -65
  2. package/package.json +8 -7
  3. package/src/editor.jsx +2 -2
  4. package/src/plugins/media/media-dialog.js +1 -1
  5. package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
  6. package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
  7. package/lib/block-tags.js +0 -25
  8. package/lib/block-tags.js.map +0 -1
  9. package/lib/constants.js +0 -16
  10. package/lib/constants.js.map +0 -1
  11. package/lib/editor.js +0 -1355
  12. package/lib/editor.js.map +0 -1
  13. package/lib/index.js +0 -269
  14. package/lib/index.js.map +0 -1
  15. package/lib/parse-html.js +0 -16
  16. package/lib/parse-html.js.map +0 -1
  17. package/lib/plugins/characters/custom-popper.js +0 -73
  18. package/lib/plugins/characters/custom-popper.js.map +0 -1
  19. package/lib/plugins/characters/index.js +0 -305
  20. package/lib/plugins/characters/index.js.map +0 -1
  21. package/lib/plugins/characters/utils.js +0 -381
  22. package/lib/plugins/characters/utils.js.map +0 -1
  23. package/lib/plugins/css/icons/index.js +0 -37
  24. package/lib/plugins/css/icons/index.js.map +0 -1
  25. package/lib/plugins/css/index.js +0 -397
  26. package/lib/plugins/css/index.js.map +0 -1
  27. package/lib/plugins/customPlugin/index.js +0 -114
  28. package/lib/plugins/customPlugin/index.js.map +0 -1
  29. package/lib/plugins/html/icons/index.js +0 -38
  30. package/lib/plugins/html/icons/index.js.map +0 -1
  31. package/lib/plugins/html/index.js +0 -80
  32. package/lib/plugins/html/index.js.map +0 -1
  33. package/lib/plugins/image/alt-dialog.js +0 -129
  34. package/lib/plugins/image/alt-dialog.js.map +0 -1
  35. package/lib/plugins/image/component.js +0 -419
  36. package/lib/plugins/image/component.js.map +0 -1
  37. package/lib/plugins/image/image-toolbar.js +0 -177
  38. package/lib/plugins/image/image-toolbar.js.map +0 -1
  39. package/lib/plugins/image/index.js +0 -263
  40. package/lib/plugins/image/index.js.map +0 -1
  41. package/lib/plugins/image/insert-image-handler.js +0 -161
  42. package/lib/plugins/image/insert-image-handler.js.map +0 -1
  43. package/lib/plugins/index.js +0 -402
  44. package/lib/plugins/index.js.map +0 -1
  45. package/lib/plugins/list/index.js +0 -334
  46. package/lib/plugins/list/index.js.map +0 -1
  47. package/lib/plugins/math/index.js +0 -454
  48. package/lib/plugins/math/index.js.map +0 -1
  49. package/lib/plugins/media/index.js +0 -387
  50. package/lib/plugins/media/index.js.map +0 -1
  51. package/lib/plugins/media/media-dialog.js +0 -709
  52. package/lib/plugins/media/media-dialog.js.map +0 -1
  53. package/lib/plugins/media/media-toolbar.js +0 -101
  54. package/lib/plugins/media/media-toolbar.js.map +0 -1
  55. package/lib/plugins/media/media-wrapper.js +0 -93
  56. package/lib/plugins/media/media-wrapper.js.map +0 -1
  57. package/lib/plugins/rendering/index.js +0 -46
  58. package/lib/plugins/rendering/index.js.map +0 -1
  59. package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -254
  60. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
  61. package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
  62. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
  63. package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -57
  64. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
  65. package/lib/plugins/respArea/icons/index.js +0 -95
  66. package/lib/plugins/respArea/icons/index.js.map +0 -1
  67. package/lib/plugins/respArea/index.js +0 -341
  68. package/lib/plugins/respArea/index.js.map +0 -1
  69. package/lib/plugins/respArea/inline-dropdown/index.js +0 -75
  70. package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
  71. package/lib/plugins/respArea/math-templated/index.js +0 -130
  72. package/lib/plugins/respArea/math-templated/index.js.map +0 -1
  73. package/lib/plugins/respArea/utils.js +0 -125
  74. package/lib/plugins/respArea/utils.js.map +0 -1
  75. package/lib/plugins/table/CustomTablePlugin.js +0 -133
  76. package/lib/plugins/table/CustomTablePlugin.js.map +0 -1
  77. package/lib/plugins/table/icons/index.js +0 -69
  78. package/lib/plugins/table/icons/index.js.map +0 -1
  79. package/lib/plugins/table/index.js +0 -483
  80. package/lib/plugins/table/index.js.map +0 -1
  81. package/lib/plugins/table/table-toolbar.js +0 -187
  82. package/lib/plugins/table/table-toolbar.js.map +0 -1
  83. package/lib/plugins/textAlign/icons/index.js +0 -226
  84. package/lib/plugins/textAlign/icons/index.js.map +0 -1
  85. package/lib/plugins/textAlign/index.js +0 -34
  86. package/lib/plugins/textAlign/index.js.map +0 -1
  87. package/lib/plugins/toolbar/default-toolbar.js +0 -229
  88. package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
  89. package/lib/plugins/toolbar/done-button.js +0 -53
  90. package/lib/plugins/toolbar/done-button.js.map +0 -1
  91. package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
  92. package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
  93. package/lib/plugins/toolbar/index.js +0 -34
  94. package/lib/plugins/toolbar/index.js.map +0 -1
  95. package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
  96. package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
  97. package/lib/plugins/toolbar/toolbar.js +0 -376
  98. package/lib/plugins/toolbar/toolbar.js.map +0 -1
  99. package/lib/plugins/utils.js +0 -62
  100. package/lib/plugins/utils.js.map +0 -1
  101. package/lib/serialization.js +0 -677
  102. package/lib/serialization.js.map +0 -1
  103. package/lib/shared/alert-dialog.js +0 -75
  104. package/lib/shared/index.js +0 -136
  105. package/lib/theme.js +0 -9
  106. package/lib/theme.js.map +0 -1
@@ -1,80 +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"] = HtmlPlugin;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _icons = _interopRequireDefault(require("./icons"));
13
-
14
- var _serialization = require("./../../serialization");
15
-
16
- var toggleToRichText = function toggleToRichText(value, onChange, dismiss) {
17
- var plainText = value.document.text;
18
- var slateValue = dismiss ? value : (0, _serialization.htmlToValue)(plainText);
19
- var change = value.change().selectAll()["delete"]().insertFragment(slateValue.document);
20
- onChange(change);
21
- };
22
-
23
- function HtmlPlugin(opts) {
24
- var isHtmlMode = opts.isHtmlMode,
25
- isEditedInHtmlMode = opts.isEditedInHtmlMode,
26
- toggleHtmlMode = opts.toggleHtmlMode,
27
- handleAlertDialog = opts.handleAlertDialog,
28
- currentValue = opts.currentValue;
29
-
30
- var handleHtmlModeOn = function handleHtmlModeOn(value, onChange) {
31
- var dialogProps = {
32
- title: 'Warning',
33
- text: 'Returning to rich text mode without saving will cause edits to be lost.',
34
- onConfirmText: 'Dismiss changes',
35
- onCloseText: 'Continue Editing',
36
- onConfirm: function onConfirm() {
37
- handleAlertDialog(false);
38
- toggleToRichText(currentValue, onChange, true);
39
- toggleHtmlMode();
40
- },
41
- onClose: function onClose() {
42
- handleAlertDialog(false);
43
- }
44
- };
45
- handleAlertDialog(true, dialogProps);
46
- };
47
-
48
- var handleHtmlModeOff = function handleHtmlModeOff(value, onChange) {
49
- var change = value.change().selectAll()["delete"]().insertText((0, _serialization.valueToHtml)(value));
50
- onChange(change);
51
- };
52
-
53
- return {
54
- name: 'html',
55
- toolbar: {
56
- icon: /*#__PURE__*/_react["default"].createElement(_icons["default"], {
57
- isHtmlMode: isHtmlMode
58
- }),
59
- ariaLabel: 'Html editor',
60
- buttonStyles: {
61
- margin: '0 20px 0 auto'
62
- },
63
- type: 'html',
64
- onClick: function onClick(value, onChange) {
65
- if (isHtmlMode) {
66
- if (isEditedInHtmlMode) {
67
- handleHtmlModeOn(value, onChange);
68
- } else {
69
- toggleToRichText(value, onChange);
70
- toggleHtmlMode();
71
- }
72
- } else {
73
- handleHtmlModeOff(value, onChange);
74
- toggleHtmlMode();
75
- }
76
- }
77
- }
78
- };
79
- }
80
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/html/index.jsx"],"names":["toggleToRichText","value","onChange","dismiss","plainText","document","text","slateValue","change","selectAll","insertFragment","HtmlPlugin","opts","isHtmlMode","isEditedInHtmlMode","toggleHtmlMode","handleAlertDialog","currentValue","handleHtmlModeOn","dialogProps","title","onConfirmText","onCloseText","onConfirm","onClose","handleHtmlModeOff","insertText","name","toolbar","icon","ariaLabel","buttonStyles","margin","type","onClick"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAQC,QAAR,EAAkBC,OAAlB,EAA8B;AACrD,MAAMC,SAAS,GAAGH,KAAK,CAACI,QAAN,CAAeC,IAAjC;AACA,MAAMC,UAAU,GAAGJ,OAAO,GAAGF,KAAH,GAAW,gCAAYG,SAAZ,CAArC;AAEA,MAAMI,MAAM,GAAGP,KAAK,CACjBO,MADY,GAEZC,SAFY,eAIZC,cAJY,CAIGH,UAAU,CAACF,QAJd,CAAf;AAKAH,EAAAA,QAAQ,CAACM,MAAD,CAAR;AACD,CAVD;;AAYe,SAASG,UAAT,CAAoBC,IAApB,EAA0B;AACvC,MAAQC,UAAR,GAA4FD,IAA5F,CAAQC,UAAR;AAAA,MAAoBC,kBAApB,GAA4FF,IAA5F,CAAoBE,kBAApB;AAAA,MAAwCC,cAAxC,GAA4FH,IAA5F,CAAwCG,cAAxC;AAAA,MAAwDC,iBAAxD,GAA4FJ,IAA5F,CAAwDI,iBAAxD;AAAA,MAA2EC,YAA3E,GAA4FL,IAA5F,CAA2EK,YAA3E;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACjB,KAAD,EAAQC,QAAR,EAAqB;AAC5C,QAAMiB,WAAW,GAAG;AAClBC,MAAAA,KAAK,EAAE,SADW;AAElBd,MAAAA,IAAI,EAAE,yEAFY;AAGlBe,MAAAA,aAAa,EAAE,iBAHG;AAIlBC,MAAAA,WAAW,EAAE,kBAJK;AAKlBC,MAAAA,SAAS,EAAE,qBAAM;AACfP,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACAhB,QAAAA,gBAAgB,CAACiB,YAAD,EAAef,QAAf,EAAyB,IAAzB,CAAhB;AACAa,QAAAA,cAAc;AACf,OATiB;AAUlBS,MAAAA,OAAO,EAAE,mBAAM;AACbR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD;AAZiB,KAApB;AAeAA,IAAAA,iBAAiB,CAAC,IAAD,EAAOG,WAAP,CAAjB;AACD,GAjBD;;AAmBA,MAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAACxB,KAAD,EAAQC,QAAR,EAAqB;AAC7C,QAAMM,MAAM,GAAGP,KAAK,CACjBO,MADY,GAEZC,SAFY,eAIZiB,UAJY,CAID,gCAAYzB,KAAZ,CAJC,CAAf;AAKAC,IAAAA,QAAQ,CAACM,MAAD,CAAR;AACD,GAPD;;AASA,SAAO;AACLmB,IAAAA,IAAI,EAAE,MADD;AAELC,IAAAA,OAAO,EAAE;AACPC,MAAAA,IAAI,eAAE,gCAAC,iBAAD;AAAc,QAAA,UAAU,EAAEhB;AAA1B,QADC;AAEPiB,MAAAA,SAAS,EAAE,aAFJ;AAGPC,MAAAA,YAAY,EAAE;AACZC,QAAAA,MAAM,EAAE;AADI,OAHP;AAMPC,MAAAA,IAAI,EAAE,MANC;AAOPC,MAAAA,OAAO,EAAE,iBAACjC,KAAD,EAAQC,QAAR,EAAqB;AAC5B,YAAIW,UAAJ,EAAgB;AACd,cAAIC,kBAAJ,EAAwB;AACtBI,YAAAA,gBAAgB,CAACjB,KAAD,EAAQC,QAAR,CAAhB;AACD,WAFD,MAEO;AACLF,YAAAA,gBAAgB,CAACC,KAAD,EAAQC,QAAR,CAAhB;AACAa,YAAAA,cAAc;AACf;AACF,SAPD,MAOO;AACLU,UAAAA,iBAAiB,CAACxB,KAAD,EAAQC,QAAR,CAAjB;AACAa,UAAAA,cAAc;AACf;AACF;AAnBM;AAFJ,GAAP;AAwBD","sourcesContent":["import React from 'react';\nimport HtmlModeIcon from './icons';\nimport { htmlToValue, valueToHtml } from './../../serialization';\n\nconst toggleToRichText = (value, onChange, dismiss) => {\n const plainText = value.document.text;\n const slateValue = dismiss ? value : htmlToValue(plainText);\n\n const change = value\n .change()\n .selectAll()\n .delete()\n .insertFragment(slateValue.document);\n onChange(change);\n};\n\nexport default function HtmlPlugin(opts) {\n const { isHtmlMode, isEditedInHtmlMode, toggleHtmlMode, handleAlertDialog, currentValue } = opts;\n\n const handleHtmlModeOn = (value, onChange) => {\n const dialogProps = {\n title: 'Warning',\n text: 'Returning to rich text mode without saving will cause edits to be lost.',\n onConfirmText: 'Dismiss changes',\n onCloseText: 'Continue Editing',\n onConfirm: () => {\n handleAlertDialog(false);\n toggleToRichText(currentValue, onChange, true);\n toggleHtmlMode();\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n };\n\n handleAlertDialog(true, dialogProps);\n };\n\n const handleHtmlModeOff = (value, onChange) => {\n const change = value\n .change()\n .selectAll()\n .delete()\n .insertText(valueToHtml(value));\n onChange(change);\n };\n\n return {\n name: 'html',\n toolbar: {\n icon: <HtmlModeIcon isHtmlMode={isHtmlMode} />,\n ariaLabel: 'Html editor',\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n type: 'html',\n onClick: (value, onChange) => {\n if (isHtmlMode) {\n if (isEditedInHtmlMode) {\n handleHtmlModeOn(value, onChange);\n } else {\n toggleToRichText(value, onChange);\n toggleHtmlMode();\n }\n } else {\n handleHtmlModeOff(value, onChange);\n toggleHtmlMode();\n }\n },\n },\n };\n}\n"],"file":"index.js"}
@@ -1,129 +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.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=alt-dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/plugins/image/alt-dialog.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":"alt-dialog.js"}
@@ -1,419 +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.Component = 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 _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _react = _interopRequireDefault(require("react"));
31
-
32
- var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
- var _debug = _interopRequireDefault(require("debug"));
35
-
36
- var _styles = require("@material-ui/core/styles");
37
-
38
- var _slatePropTypes = _interopRequireDefault(require("slate-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 log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
45
-
46
- var size = function size(s) {
47
- return s ? "".concat(s, "px") : 'auto';
48
- };
49
-
50
- var Component = /*#__PURE__*/function (_React$Component) {
51
- (0, _inherits2["default"])(Component, _React$Component);
52
-
53
- var _super = _createSuper(Component);
54
-
55
- function Component() {
56
- var _this;
57
-
58
- (0, _classCallCheck2["default"])(this, Component);
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), "getWidth", function (percent) {
66
- var multiplier = percent / 100;
67
- return _this.img.naturalWidth * multiplier;
68
- });
69
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getHeight", function (percent) {
70
- var multiplier = percent / 100;
71
- return _this.img.naturalHeight * multiplier;
72
- });
73
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getPercentFromWidth", function (width) {
74
- var floored = width / _this.img.naturalWidth * 4;
75
- return parseInt(floored.toFixed(0) * 25, 10);
76
- });
77
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "applySizeData", function () {
78
- var _this$props = _this.props,
79
- node = _this$props.node,
80
- editor = _this$props.editor;
81
- var update = node.data;
82
- var w = update.get('width');
83
-
84
- if (w) {
85
- update = update.set('resizePercent', _this.getPercentFromWidth(w));
86
- }
87
-
88
- log('[applySizeData] update: ', update);
89
-
90
- if (!update.equals(node.data)) {
91
- editor.change(function (c) {
92
- return c.setNodeByKey(node.key, {
93
- data: update
94
- });
95
- });
96
- }
97
- });
98
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "initialiseResize", function () {
99
- window.addEventListener('mousemove', _this.startResizing, false);
100
- window.addEventListener('mouseup', _this.stopResizing, false);
101
- });
102
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loadImage", function () {
103
- var _ref = _this.props || {},
104
- maxImageWidth = _ref.maxImageWidth,
105
- maxImageHeight = _ref.maxImageHeight;
106
-
107
- maxImageWidth = maxImageWidth || 700;
108
- maxImageHeight = maxImageHeight || 900;
109
- var box = _this.img; //on first load
110
-
111
- if (!box.style.width || box.style.width === 'auto') {
112
- var dimensions = {
113
- width: box && box.naturalWidth || 100,
114
- height: box && box.naturalHeight || 100
115
- };
116
-
117
- var _this$updateImageDime = _this.updateImageDimensions(dimensions, {
118
- width: dimensions.width < maxImageWidth ? dimensions.width : maxImageWidth,
119
- height: dimensions.height < maxImageHeight ? dimensions.height : maxImageHeight
120
- }, true),
121
- width = _this$updateImageDime.width,
122
- height = _this$updateImageDime.height;
123
-
124
- box.style.width = "".concat(width, "px");
125
- box.style.height = "".concat(height, "px");
126
-
127
- _this.setState({
128
- dimensions: {
129
- height: height,
130
- width: width
131
- }
132
- });
133
-
134
- var _this$props2 = _this.props,
135
- node = _this$props2.node,
136
- editor = _this$props2.editor;
137
- var update = node.data;
138
- update = update.set('width', width);
139
- update = update.set('height', height);
140
-
141
- if (!update.equals(node.data)) {
142
- editor.change(function (c) {
143
- return c.setNodeByKey(node.key, {
144
- data: update
145
- });
146
- });
147
- }
148
- }
149
- });
150
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startResizing", function (e) {
151
- var bounds = e.target.getBoundingClientRect();
152
- var box = _this.img;
153
- var dimensions = {
154
- width: box && box.naturalWidth || 100,
155
- height: box && box.naturalHeight || 100
156
- };
157
-
158
- var _this$updateImageDime2 = _this.updateImageDimensions(dimensions, {
159
- width: e.clientX - bounds.left,
160
- height: e.clientY - bounds.top
161
- }, true),
162
- width = _this$updateImageDime2.width,
163
- height = _this$updateImageDime2.height;
164
-
165
- var hasMinimumWidth = width > 50 && height > 50;
166
- var hasDimensionsConstraints = width <= 700 && height <= 900;
167
-
168
- if (hasMinimumWidth && hasDimensionsConstraints && box) {
169
- box.style.width = "".concat(width, "px");
170
- box.style.height = "".concat(height, "px");
171
-
172
- _this.setState({
173
- dimensions: {
174
- height: height,
175
- width: width
176
- }
177
- });
178
-
179
- var _this$props3 = _this.props,
180
- node = _this$props3.node,
181
- editor = _this$props3.editor;
182
- var update = node.data;
183
- update = update.set('width', width);
184
- update = update.set('height', height);
185
-
186
- if (!update.equals(node.data)) {
187
- editor.change(function (c) {
188
- return c.setNodeByKey(node.key, {
189
- data: update
190
- });
191
- });
192
- }
193
- }
194
- });
195
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "stopResizing", function () {
196
- window.removeEventListener('mousemove', _this.startResizing, false);
197
- window.removeEventListener('mouseup', _this.stopResizing, false);
198
- });
199
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateImageDimensions", function (initialDim, nextDim, keepAspectRatio, resizeType) {
200
- // if we want to keep image aspect ratio
201
- if (keepAspectRatio) {
202
- var imageAspectRatio = initialDim.width / initialDim.height;
203
-
204
- if (resizeType === 'height') {
205
- // if we want to change image height => we update the width accordingly
206
- return {
207
- width: nextDim.height * imageAspectRatio,
208
- height: nextDim.height
209
- };
210
- } // if we want to change image width => we update the height accordingly
211
-
212
-
213
- return {
214
- width: nextDim.width,
215
- height: nextDim.width / imageAspectRatio
216
- };
217
- } // if we don't want to keep aspect ratio, we just update both values
218
-
219
-
220
- return {
221
- width: nextDim.width,
222
- height: nextDim.height
223
- };
224
- });
225
- return _this;
226
- }
227
-
228
- (0, _createClass2["default"])(Component, [{
229
- key: "componentDidMount",
230
- value: function componentDidMount() {
231
- this.applySizeData();
232
- var resizeHandle = this.resize;
233
-
234
- if (resizeHandle) {
235
- resizeHandle.addEventListener('mousedown', this.initialiseResize, false);
236
- }
237
- }
238
- }, {
239
- key: "componentDidUpdate",
240
- value: function componentDidUpdate() {
241
- this.applySizeData();
242
- }
243
- }, {
244
- key: "getSize",
245
- value: function getSize(data) {
246
- return {
247
- width: size(data.get('width')),
248
- height: size(data.get('height')),
249
- objectFit: 'contain'
250
- };
251
- }
252
- }, {
253
- key: "render",
254
- value: function render() {
255
- var _this2 = this;
256
-
257
- var _this$props4 = this.props,
258
- node = _this$props4.node,
259
- editor = _this$props4.editor,
260
- classes = _this$props4.classes,
261
- attributes = _this$props4.attributes,
262
- onFocus = _this$props4.onFocus;
263
- var active = editor.value.isFocused && editor.value.selection.hasEdgeIn(node);
264
- var src = node.data.get('src');
265
- var loaded = node.data.get('loaded') !== false;
266
- var deleteStatus = node.data.get('deleteStatus');
267
- var alignment = node.data.get('alignment');
268
- var percent = node.data.get('percent');
269
- var alt = node.data.get('alt');
270
- var justifyContent;
271
-
272
- switch (alignment) {
273
- case 'left':
274
- justifyContent = 'flex-start';
275
- break;
276
-
277
- case 'center':
278
- justifyContent = 'center';
279
- break;
280
-
281
- case 'right':
282
- justifyContent = 'flex-end';
283
- break;
284
-
285
- default:
286
- justifyContent = 'flex-start';
287
- break;
288
- }
289
-
290
- log('[render] node.data:', node.data);
291
- var size = this.getSize(node.data);
292
- log('[render] style:', size);
293
- var className = (0, _classnames["default"])(classes.root, !loaded && classes.loading, deleteStatus === 'pending' && classes.pendingDelete);
294
- var progressClasses = (0, _classnames["default"])(classes.progress, loaded && classes.hideProgress);
295
- return [/*#__PURE__*/_react["default"].createElement("span", {
296
- key: 'sp1'
297
- }, "\xA0"), /*#__PURE__*/_react["default"].createElement("div", {
298
- key: 'comp',
299
- onFocus: onFocus,
300
- className: className,
301
- style: {
302
- justifyContent: justifyContent
303
- }
304
- }, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
305
- mode: "determinate",
306
- value: percent > 0 ? percent : 0,
307
- className: progressClasses
308
- }), /*#__PURE__*/_react["default"].createElement("div", {
309
- className: classes.imageContainer
310
- }, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, attributes, {
311
- className: (0, _classnames["default"])(classes.image, active && classes.active),
312
- ref: function ref(_ref2) {
313
- _this2.img = _ref2;
314
- },
315
- src: src,
316
- style: size,
317
- onLoad: this.loadImage,
318
- alt: alt
319
- })), /*#__PURE__*/_react["default"].createElement("div", {
320
- ref: function ref(_ref3) {
321
- _this2.resize = _ref3;
322
- },
323
- className: (0, _classnames["default"])(classes.resize, 'resize')
324
- }))), /*#__PURE__*/_react["default"].createElement("span", {
325
- key: 'sp2'
326
- }, "\xA0")];
327
- }
328
- }]);
329
- return Component;
330
- }(_react["default"].Component);
331
-
332
- exports.Component = Component;
333
- (0, _defineProperty2["default"])(Component, "propTypes", {
334
- node: _slatePropTypes["default"].node.isRequired,
335
- editor: _propTypes["default"].shape({
336
- change: _propTypes["default"].func.isRequired,
337
- value: _propTypes["default"].object
338
- }).isRequired,
339
- classes: _propTypes["default"].object.isRequired,
340
- attributes: _propTypes["default"].object,
341
- onFocus: _propTypes["default"].func,
342
- onBlur: _propTypes["default"].func,
343
- maxImageWidth: _propTypes["default"].number,
344
- maxImageHeight: _propTypes["default"].number
345
- });
346
-
347
- var styles = function styles(theme) {
348
- return {
349
- portal: {
350
- position: 'absolute',
351
- opacity: 0,
352
- transition: 'opacity 200ms linear'
353
- },
354
- floatingButtonRow: {
355
- backgroundColor: theme.palette.background.paper,
356
- borderRadius: '1px',
357
- display: 'flex',
358
- padding: '10px',
359
- border: "solid 1px ".concat(theme.palette.grey[200]),
360
- boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)'
361
- },
362
- progress: {
363
- position: 'absolute',
364
- left: '0',
365
- width: 'fit-content',
366
- top: '0%',
367
- transition: 'opacity 200ms linear'
368
- },
369
- hideProgress: {
370
- opacity: 0
371
- },
372
- loading: {
373
- opacity: 0.3
374
- },
375
- pendingDelete: {
376
- opacity: 0.3
377
- },
378
- root: {
379
- position: 'relative',
380
- border: "solid 1px ".concat(theme.palette.common.white),
381
- display: 'flex',
382
- transition: 'opacity 200ms linear'
383
- },
384
- "delete": {
385
- position: 'absolute',
386
- right: 0
387
- },
388
- imageContainer: {
389
- position: 'relative',
390
- width: 'fit-content',
391
- display: 'flex',
392
- alignItems: 'center',
393
- '&&:hover > .resize': {
394
- display: 'block'
395
- }
396
- },
397
- active: {
398
- border: "solid 1px ".concat(theme.palette.primary.main)
399
- },
400
- resize: {
401
- backgroundColor: theme.palette.primary.main,
402
- cursor: 'col-resize',
403
- height: '35px',
404
- width: '5px',
405
- borderRadius: 8,
406
- marginLeft: '5px',
407
- marginRight: '10px',
408
- display: 'none'
409
- },
410
- drawableHeight: {
411
- minHeight: 350
412
- }
413
- };
414
- };
415
-
416
- var _default = (0, _styles.withStyles)(styles)(Component);
417
-
418
- exports["default"] = _default;
419
- //# sourceMappingURL=component.js.map