@pie-lib/editable-html 12.1.0-next.2 → 12.1.0-next.30

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 (103) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/block-tags.js +25 -0
  3. package/lib/block-tags.js.map +1 -0
  4. package/lib/constants.js +12 -0
  5. package/lib/constants.js.map +1 -0
  6. package/lib/editor.js +1254 -0
  7. package/lib/editor.js.map +1 -0
  8. package/lib/index.js +224 -0
  9. package/lib/index.js.map +1 -0
  10. package/lib/parse-html.js +19 -0
  11. package/lib/parse-html.js.map +1 -0
  12. package/lib/plugins/characters/custom-popper.js +58 -0
  13. package/lib/plugins/characters/custom-popper.js.map +1 -0
  14. package/lib/plugins/characters/index.js +280 -0
  15. package/lib/plugins/characters/index.js.map +1 -0
  16. package/lib/plugins/characters/utils.js +380 -0
  17. package/lib/plugins/characters/utils.js.map +1 -0
  18. package/lib/plugins/css/icons/index.js +26 -0
  19. package/lib/plugins/css/icons/index.js.map +1 -0
  20. package/lib/plugins/css/index.js +350 -0
  21. package/lib/plugins/css/index.js.map +1 -0
  22. package/lib/plugins/customPlugin/index.js +109 -0
  23. package/lib/plugins/customPlugin/index.js.map +1 -0
  24. package/lib/plugins/html/icons/index.js +31 -0
  25. package/lib/plugins/html/icons/index.js.map +1 -0
  26. package/lib/plugins/html/index.js +72 -0
  27. package/lib/plugins/html/index.js.map +1 -0
  28. package/lib/plugins/image/alt-dialog.js +105 -0
  29. package/lib/plugins/image/alt-dialog.js.map +1 -0
  30. package/lib/plugins/image/component.js +357 -0
  31. package/lib/plugins/image/component.js.map +1 -0
  32. package/lib/plugins/image/image-toolbar.js +140 -0
  33. package/lib/plugins/image/image-toolbar.js.map +1 -0
  34. package/lib/plugins/image/index.js +237 -0
  35. package/lib/plugins/image/index.js.map +1 -0
  36. package/lib/plugins/image/insert-image-handler.js +141 -0
  37. package/lib/plugins/image/insert-image-handler.js.map +1 -0
  38. package/lib/plugins/index.js +359 -0
  39. package/lib/plugins/index.js.map +1 -0
  40. package/lib/plugins/list/index.js +300 -0
  41. package/lib/plugins/list/index.js.map +1 -0
  42. package/lib/plugins/math/index.js +417 -0
  43. package/lib/plugins/math/index.js.map +1 -0
  44. package/lib/plugins/media/index.js +343 -0
  45. package/lib/plugins/media/index.js.map +1 -0
  46. package/lib/plugins/media/media-dialog.js +612 -0
  47. package/lib/plugins/media/media-dialog.js.map +1 -0
  48. package/lib/plugins/media/media-toolbar.js +78 -0
  49. package/lib/plugins/media/media-toolbar.js.map +1 -0
  50. package/lib/plugins/media/media-wrapper.js +66 -0
  51. package/lib/plugins/media/media-wrapper.js.map +1 -0
  52. package/lib/plugins/rendering/index.js +46 -0
  53. package/lib/plugins/rendering/index.js.map +1 -0
  54. package/lib/plugins/respArea/drag-in-the-blank/choice.js +288 -0
  55. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -0
  56. package/lib/plugins/respArea/drag-in-the-blank/index.js +56 -0
  57. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -0
  58. package/lib/plugins/respArea/drag-in-the-blank/utils.js +48 -0
  59. package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +1 -0
  60. package/lib/plugins/respArea/explicit-constructed-response/index.js +51 -0
  61. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -0
  62. package/lib/plugins/respArea/icons/index.js +82 -0
  63. package/lib/plugins/respArea/icons/index.js.map +1 -0
  64. package/lib/plugins/respArea/index.js +298 -0
  65. package/lib/plugins/respArea/index.js.map +1 -0
  66. package/lib/plugins/respArea/inline-dropdown/index.js +68 -0
  67. package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -0
  68. package/lib/plugins/respArea/math-templated/index.js +113 -0
  69. package/lib/plugins/respArea/math-templated/index.js.map +1 -0
  70. package/lib/plugins/respArea/utils.js +101 -0
  71. package/lib/plugins/respArea/utils.js.map +1 -0
  72. package/lib/plugins/table/CustomTablePlugin.js +123 -0
  73. package/lib/plugins/table/CustomTablePlugin.js.map +1 -0
  74. package/lib/plugins/table/icons/index.js +57 -0
  75. package/lib/plugins/table/icons/index.js.map +1 -0
  76. package/lib/plugins/table/index.js +431 -0
  77. package/lib/plugins/table/index.js.map +1 -0
  78. package/lib/plugins/table/table-toolbar.js +153 -0
  79. package/lib/plugins/table/table-toolbar.js.map +1 -0
  80. package/lib/plugins/textAlign/icons/index.js +202 -0
  81. package/lib/plugins/textAlign/icons/index.js.map +1 -0
  82. package/lib/plugins/textAlign/index.js +27 -0
  83. package/lib/plugins/textAlign/index.js.map +1 -0
  84. package/lib/plugins/toolbar/default-toolbar.js +194 -0
  85. package/lib/plugins/toolbar/default-toolbar.js.map +1 -0
  86. package/lib/plugins/toolbar/done-button.js +36 -0
  87. package/lib/plugins/toolbar/done-button.js.map +1 -0
  88. package/lib/plugins/toolbar/editor-and-toolbar.js +270 -0
  89. package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -0
  90. package/lib/plugins/toolbar/index.js +30 -0
  91. package/lib/plugins/toolbar/index.js.map +1 -0
  92. package/lib/plugins/toolbar/toolbar-buttons.js +157 -0
  93. package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -0
  94. package/lib/plugins/toolbar/toolbar.js +321 -0
  95. package/lib/plugins/toolbar/toolbar.js.map +1 -0
  96. package/lib/plugins/utils.js +45 -0
  97. package/lib/plugins/utils.js.map +1 -0
  98. package/lib/serialization.js +595 -0
  99. package/lib/serialization.js.map +1 -0
  100. package/lib/shared/alert-dialog.js +69 -0
  101. package/lib/theme.js +9 -0
  102. package/lib/theme.js.map +1 -0
  103. package/package.json +9 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_debug","_isUndefined","_inlineDropdown","_dragInTheBlank","_explicitConstructedResponse","_mathTemplated","_utils","_icons","log","debug","lastIndexMap","elTypesMap","elTypesArray","Object","values","ResponseAreaPlugin","opts","isOfCurrentType","d","type","toolbar","icon","createElement","ToolbarIcon","buttonStyles","margin","onClick","value","onChange","change","currentRespAreaList","document","filterDescendants","size","maxResponseAreas","replace","prevIndex","newIndex","newInline","getDefaultElement","selection","startKey","endKey","insertInline","lastText","getLastText","parentNode","getParent","key","index","nodes","indexOf","isVoid","insertNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","customToolbar","respAreaToolbar","supports","node","object","showDone","name","filterPlugins","plugins","filter","p","deleteNode","e","preventDefault","removeNodeByKey","renderNode","props","attributes","n","isFocused","data","toJSON","error","keyToDisplay","concat","parseInt","nodeProps","selectedItem","editor","isUndefined","forEachDescendant","get","oldRespAreaList","disabled","arrayToFilter","arrayToUseForFilter","elementsWithChangedStatus","find","onHandleAreaChange","onDrop","event","closestEl","target","closest","inline","findDescendant","dataset","serialization","exports","deserialize","el","id","inTable","serialize"],"sources":["../../../src/plugins/respArea/index.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport isUndefined from 'lodash/isUndefined';\n\nimport InlineDropdown from './inline-dropdown';\nimport DragInTheBlank from './drag-in-the-blank';\nimport ExplicitConstructedResponse from './explicit-constructed-response';\nimport MathTemplated from './math-templated';\nimport { getDefaultElement } from './utils';\nimport { ToolbarIcon } from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:respArea');\n\nconst lastIndexMap = {};\nconst elTypesMap = {\n 'inline-dropdown': 'inline_dropdown',\n 'explicit-constructed-response': 'explicit_constructed_response',\n 'math-templated': 'math_templated',\n 'drag-in-the-blank': 'drag_in_the_blank',\n};\nconst elTypesArray = Object.values(elTypesMap);\n\nexport default function ResponseAreaPlugin(opts) {\n const isOfCurrentType = (d) => d.type === opts.type || d.type === elTypesMap[opts.type];\n\n const toolbar = {\n icon: <ToolbarIcon />,\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n onClick: (value, onChange) => {\n log('[toolbar] onClick');\n const change = value.change();\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n\n if (currentRespAreaList.size >= opts.maxResponseAreas) {\n return;\n }\n\n const type = opts.type.replace(/-/g, '_');\n const prevIndex = lastIndexMap[type];\n const newIndex = prevIndex === 0 ? prevIndex : prevIndex + 1;\n const newInline = getDefaultElement(opts, newIndex);\n\n lastIndexMap[type] += 1;\n\n if (newInline) {\n if (change.value.selection.startKey || change.value.selection.endKey) {\n change.insertInline(newInline);\n } else {\n // If the markup is empty and there's no focus\n const lastText = value.document.getLastText();\n\n if (!lastText) {\n return;\n }\n const parentNode = value.document.getParent(lastText.key);\n\n if (parentNode) {\n const index = parentNode.nodes.indexOf(lastText.key);\n\n if (parentNode.isVoid) return;\n\n change.insertNodeByKey(parentNode.key, index + 1, newInline);\n }\n }\n\n if (newInline.type === 'drag_in_the_blank') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n if (newInline.type === 'math_templated') {\n const nextText = change.value.document.getNextText(newInline.key);\n\n if (nextText) {\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n }\n }\n\n onChange(change);\n }\n },\n customToolbar: opts.respAreaToolbar,\n supports: (node) => node.object === 'inline' && elTypesArray.indexOf(node.type) >= 0,\n showDone: false,\n };\n\n return {\n name: 'response_area',\n toolbar,\n filterPlugins: (node, plugins) => {\n if (\n node.type === 'explicit_constructed_response' ||\n node.type === 'math_templated' ||\n node.type === 'drag_in_the_blank'\n ) {\n return [];\n }\n\n return plugins.filter((p) => p.name !== 'response_area');\n },\n deleteNode: (e, node, value, onChange) => {\n e.preventDefault();\n\n const change = value.change().removeNodeByKey(node.key);\n\n onChange(change);\n },\n renderNode(props) {\n const { attributes, node: n, isFocused } = props;\n\n if (n.type === 'explicit_constructed_response') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n return (\n <ExplicitConstructedResponse\n attributes={attributes}\n isFocused={isFocused}\n value={data.value}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'math_templated') {\n const data = n.data.toJSON();\n let error;\n\n if (opts.error) {\n error = opts.error();\n }\n\n // add 1 to index to display R 1 instead of R 0\n const keyToDisplay = `R ${parseInt(data.index) + 1}`;\n\n return (\n <MathTemplated\n attributes={attributes}\n keyToDisplay={keyToDisplay}\n value={data.value || ''}\n error={error && error[data.index] && error[data.index][0]}\n />\n );\n }\n\n if (n.type === 'drag_in_the_blank') {\n const data = n.data.toJSON();\n\n return <DragInTheBlank attributes={attributes} data={data} n={n} nodeProps={props} opts={opts} />;\n }\n\n if (n.type === 'inline_dropdown') {\n const data = n.data.toJSON();\n\n return <InlineDropdown attributes={attributes} selectedItem={data.value} />;\n }\n },\n onChange(change, editor) {\n const type = opts.type.replace(/-/g, '_');\n\n if (isUndefined(lastIndexMap[type])) {\n lastIndexMap[type] = 0;\n\n change.value.document.forEachDescendant((d) => {\n if (d.type === type) {\n const newIndex = parseInt(d.data.get('index'), 10);\n\n if (newIndex > lastIndexMap[type]) {\n lastIndexMap[type] = newIndex;\n }\n }\n });\n }\n\n if (!editor.value) {\n return;\n }\n\n const currentRespAreaList = change.value.document.filterDescendants(isOfCurrentType);\n const oldRespAreaList = editor.value.document.filterDescendants(isOfCurrentType);\n\n toolbar.disabled = currentRespAreaList.size >= opts.maxResponseAreas;\n\n const arrayToFilter = oldRespAreaList.size > currentRespAreaList.size ? oldRespAreaList : currentRespAreaList;\n const arrayToUseForFilter = arrayToFilter === oldRespAreaList ? currentRespAreaList : oldRespAreaList;\n\n const elementsWithChangedStatus = arrayToFilter.filter(\n (d) => !arrayToUseForFilter.find((e) => e.data.get('index') === d.data.get('index')),\n );\n\n if (elementsWithChangedStatus.size && oldRespAreaList.size > currentRespAreaList.size) {\n opts.onHandleAreaChange(elementsWithChangedStatus);\n }\n },\n onDrop(event, change, editor) {\n const closestEl = event.target.closest('[data-key]');\n const inline = editor.value.document.findDescendant((d) => d.key === closestEl.dataset.key);\n\n if (inline.type === 'drag_in_the_blank') {\n return false;\n }\n },\n };\n}\n\nexport const serialization = {\n deserialize(el) {\n const type = el.dataset && el.dataset.type;\n\n switch (type) {\n case 'inline_dropdown':\n return {\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'explicit_constructed_response':\n return {\n object: 'inline',\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'math_templated':\n return {\n object: 'inline',\n type: 'math_templated',\n isVoid: true,\n data: {\n index: el.dataset.index,\n value: el.dataset.value,\n },\n };\n case 'drag_in_the_blank':\n return {\n object: 'inline',\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index: el.dataset.index,\n id: el.dataset.id,\n value: el.dataset.value,\n inTable: el.dataset.inTable,\n },\n };\n }\n },\n serialize(object) {\n if (object.object !== 'inline') {\n return;\n }\n\n switch (object.type) {\n case 'inline_dropdown': {\n const data = object.data.toJSON();\n\n return <span data-type=\"inline_dropdown\" data-index={data.index} data-value={data.value} />;\n }\n case 'explicit_constructed_response': {\n const data = object.data.toJSON();\n\n return <span data-type=\"explicit_constructed_response\" data-index={data.index} data-value={data.value} />;\n }\n case 'math_templated': {\n const data = object.data.toJSON();\n\n return <span data-type=\"math_templated\" data-index={data.index} data-value={data.value} />;\n }\n case 'drag_in_the_blank': {\n const data = object.data.toJSON();\n\n return (\n <span\n data-type=\"drag_in_the_blank\"\n data-index={data.index}\n data-id={data.id}\n data-value={data.value}\n data-in-table={data.inTable}\n />\n );\n }\n }\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _icons = require("../icons");
13
+ var InlineDropdown = function InlineDropdown(_ref) {
14
+ var attributes = _ref.attributes,
15
+ selectedItem = _ref.selectedItem;
16
+ // TODO: Investigate
17
+ // Needed because items with values inside have different positioning for some reason
18
+ var html = selectedItem || '<div>&nbsp</div>';
19
+ return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, attributes, {
20
+ style: {
21
+ display: 'inline-flex',
22
+ height: '50px',
23
+ margin: '0 5px',
24
+ cursor: 'pointer'
25
+ }
26
+ }), /*#__PURE__*/_react["default"].createElement("div", {
27
+ style: {
28
+ display: 'inline-flex',
29
+ minWidth: '178px',
30
+ height: '36px',
31
+ background: '#FFF',
32
+ border: '1px solid #C0C3CF',
33
+ boxSizing: 'border-box',
34
+ borderRadius: '3px',
35
+ position: 'relative',
36
+ alignItems: 'center'
37
+ }
38
+ }, /*#__PURE__*/_react["default"].createElement("div", {
39
+ style: {
40
+ flex: 1,
41
+ overflow: 'hidden',
42
+ padding: '0 25px 0 8px',
43
+ whiteSpace: 'nowrap',
44
+ textOverflow: 'ellipsis'
45
+ }
46
+ }, /*#__PURE__*/_react["default"].createElement("span", {
47
+ style: {
48
+ display: 'inline-block',
49
+ verticalAlign: 'middle'
50
+ },
51
+ dangerouslySetInnerHTML: {
52
+ __html: html
53
+ }
54
+ })), /*#__PURE__*/_react["default"].createElement(_icons.Chevron, {
55
+ direction: "down",
56
+ style: {
57
+ position: 'absolute',
58
+ top: '5px',
59
+ right: '5px'
60
+ }
61
+ })));
62
+ };
63
+ InlineDropdown.propTypes = {
64
+ attributes: _propTypes["default"].object,
65
+ selectedItem: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])
66
+ };
67
+ var _default = exports["default"] = InlineDropdown;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_icons","InlineDropdown","_ref","attributes","selectedItem","html","createElement","_extends2","style","display","height","margin","cursor","minWidth","background","border","boxSizing","borderRadius","position","alignItems","flex","overflow","padding","whiteSpace","textOverflow","verticalAlign","dangerouslySetInnerHTML","__html","Chevron","direction","top","right","propTypes","PropTypes","object","oneOfType","string","_default","exports"],"sources":["../../../../src/plugins/respArea/inline-dropdown/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Chevron } from '../icons';\n\nconst InlineDropdown = ({ attributes, selectedItem }) => {\n // TODO: Investigate\n // Needed because items with values inside have different positioning for some reason\n const html = selectedItem || '<div>&nbsp</div>';\n\n return (\n <span\n {...attributes}\n style={{\n display: 'inline-flex',\n height: '50px',\n margin: '0 5px',\n cursor: 'pointer',\n }}\n >\n <div\n style={{\n display: 'inline-flex',\n minWidth: '178px',\n height: '36px',\n background: '#FFF',\n border: '1px solid #C0C3CF',\n boxSizing: 'border-box',\n borderRadius: '3px',\n position: 'relative',\n alignItems: 'center',\n }}\n >\n <div\n style={{\n flex: 1,\n overflow: 'hidden',\n padding: '0 25px 0 8px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n }}\n >\n <span\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n }}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n </div>\n <Chevron\n direction=\"down\"\n style={{\n position: 'absolute',\n top: '5px',\n right: '5px',\n }}\n />\n </div>\n </span>\n );\n};\n\nInlineDropdown.propTypes = {\n attributes: PropTypes.object,\n selectedItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default InlineDropdown;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAqC;EAAA,IAA/BC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;EAChD;EACA;EACA,IAAMC,IAAI,GAAGD,YAAY,IAAI,kBAAkB;EAE/C,oBACER,MAAA,YAAAU,aAAA,aAAAC,SAAA,iBACMJ,UAAU;IACdK,KAAK,EAAE;MACLC,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE,MAAM;MACdC,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE;IACV;EAAE,iBAEFhB,MAAA,YAAAU,aAAA;IACEE,KAAK,EAAE;MACLC,OAAO,EAAE,aAAa;MACtBI,QAAQ,EAAE,OAAO;MACjBH,MAAM,EAAE,MAAM;MACdI,UAAU,EAAE,MAAM;MAClBC,MAAM,EAAE,mBAAmB;MAC3BC,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,KAAK;MACnBC,QAAQ,EAAE,UAAU;MACpBC,UAAU,EAAE;IACd;EAAE,gBAEFvB,MAAA,YAAAU,aAAA;IACEE,KAAK,EAAE;MACLY,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE,QAAQ;MAClBC,OAAO,EAAE,cAAc;MACvBC,UAAU,EAAE,QAAQ;MACpBC,YAAY,EAAE;IAChB;EAAE,gBAEF5B,MAAA,YAAAU,aAAA;IACEE,KAAK,EAAE;MACLC,OAAO,EAAE,cAAc;MACvBgB,aAAa,EAAE;IACjB,CAAE;IACFC,uBAAuB,EAAE;MACvBC,MAAM,EAAEtB;IACV;EAAE,CACH,CACE,CAAC,eACNT,MAAA,YAAAU,aAAA,CAACN,MAAA,CAAA4B,OAAO;IACNC,SAAS,EAAC,MAAM;IAChBrB,KAAK,EAAE;MACLU,QAAQ,EAAE,UAAU;MACpBY,GAAG,EAAE,KAAK;MACVC,KAAK,EAAE;IACT;EAAE,CACH,CACE,CACD,CAAC;AAEX,CAAC;AAED9B,cAAc,CAAC+B,SAAS,GAAG;EACzB7B,UAAU,EAAE8B,qBAAS,CAACC,MAAM;EAC5B9B,YAAY,EAAE6B,qBAAS,CAACE,SAAS,CAAC,CAACF,qBAAS,CAACG,MAAM,EAAEH,qBAAS,CAACC,MAAM,CAAC;AACxE,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEarC,cAAc","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _mathInput = require("@pie-lib/math-input");
13
+ var StyledSpanContainer = (0, _styles.styled)('span')(function () {
14
+ return {
15
+ display: 'inline-flex',
16
+ border: '1px solid #C0C3CF',
17
+ margin: '1px 5px',
18
+ cursor: 'pointer',
19
+ alignItems: 'center',
20
+ justifyContent: 'center',
21
+ minWidth: '50px',
22
+ minHeight: '36px',
23
+ height: 'fit-content'
24
+ };
25
+ });
26
+ var StyledResponseBox = (0, _styles.styled)('div')(function (_ref) {
27
+ var theme = _ref.theme;
28
+ return {
29
+ background: theme.palette.grey['A100'],
30
+ color: theme.palette.grey['A700'],
31
+ display: 'inline-flex',
32
+ borderRight: '2px solid #C0C3CF',
33
+ boxSizing: 'border-box',
34
+ overflow: 'hidden',
35
+ fontSize: '12px',
36
+ minHeight: '36px',
37
+ height: '100%',
38
+ alignItems: 'center',
39
+ fontFamily: 'Symbola, Times New Roman, serif',
40
+ padding: '0 2px'
41
+ };
42
+ });
43
+ var StyledMathBlock = (0, _styles.styled)('div')(function () {
44
+ return {
45
+ flex: 8,
46
+ color: 'var(--pie-text, black)',
47
+ padding: '4px !important',
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ backgroundColor: 'var(--pie-background, rgba(255, 255, 255, 0))',
52
+ '& > .mq-math-mode sup.mq-nthroot': {
53
+ fontSize: '70% !important',
54
+ verticalAlign: '1em !important'
55
+ },
56
+ '& > .mq-math-mode .mq-sqrt-stem': {
57
+ borderTop: '0.07em solid',
58
+ marginLeft: '-1.5px',
59
+ marginTop: '-2px !important',
60
+ paddingTop: '5px !important'
61
+ },
62
+ '& .mq-overarrow-inner': {
63
+ paddingTop: '0 !important',
64
+ border: 'none !important'
65
+ },
66
+ '& .mq-overarrow.mq-arrow-both': {
67
+ marginTop: '0px',
68
+ minWidth: '1.23em',
69
+ '& *': {
70
+ lineHeight: '1 !important'
71
+ },
72
+ '&:before': {
73
+ top: '-0.4em',
74
+ left: '-1px'
75
+ },
76
+ '&:after': {
77
+ top: '0px !important',
78
+ position: 'absolute !important',
79
+ right: '-2px'
80
+ },
81
+ '&.mq-empty:after': {
82
+ top: '-0.45em'
83
+ }
84
+ },
85
+ '& .mq-overarrow.mq-arrow-right': {
86
+ '&:before': {
87
+ top: '-0.4em',
88
+ right: '-1px'
89
+ }
90
+ },
91
+ '& .mq-overarrow-inner-right': {
92
+ display: 'none !important'
93
+ },
94
+ '& .mq-overarrow-inner-left': {
95
+ display: 'none !important'
96
+ }
97
+ };
98
+ });
99
+ var MathTemplated = function MathTemplated(_ref2) {
100
+ var attributes = _ref2.attributes,
101
+ value = _ref2.value,
102
+ keyToDisplay = _ref2.keyToDisplay;
103
+ return /*#__PURE__*/_react["default"].createElement(StyledSpanContainer, attributes, /*#__PURE__*/_react["default"].createElement(StyledResponseBox, null, keyToDisplay), /*#__PURE__*/_react["default"].createElement(StyledMathBlock, null, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
104
+ latex: value
105
+ })));
106
+ };
107
+ MathTemplated.propTypes = {
108
+ attributes: _propTypes["default"].object,
109
+ value: _propTypes["default"].string,
110
+ keyToDisplay: _propTypes["default"].string
111
+ };
112
+ var _default = exports["default"] = MathTemplated;
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_mathInput","StyledSpanContainer","styled","display","border","margin","cursor","alignItems","justifyContent","minWidth","minHeight","height","StyledResponseBox","_ref","theme","background","palette","grey","color","borderRight","boxSizing","overflow","fontSize","fontFamily","padding","StyledMathBlock","flex","backgroundColor","verticalAlign","borderTop","marginLeft","marginTop","paddingTop","lineHeight","top","left","position","right","MathTemplated","_ref2","attributes","value","keyToDisplay","createElement","mq","Static","latex","propTypes","PropTypes","object","string","_default","exports"],"sources":["../../../../src/plugins/respArea/math-templated/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { mq } from '@pie-lib/math-input';\n\nconst StyledSpanContainer = styled('span')(() => ({\n display: 'inline-flex',\n border: '1px solid #C0C3CF',\n margin: '1px 5px',\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '50px',\n minHeight: '36px',\n height: 'fit-content',\n}));\n\nconst StyledResponseBox = styled('div')(({ theme }) => ({\n background: theme.palette.grey['A100'],\n color: theme.palette.grey['A700'],\n display: 'inline-flex',\n borderRight: '2px solid #C0C3CF',\n boxSizing: 'border-box',\n overflow: 'hidden',\n fontSize: '12px',\n minHeight: '36px',\n height: '100%',\n alignItems: 'center',\n fontFamily: 'Symbola, Times New Roman, serif',\n padding: '0 2px',\n}));\n\nconst StyledMathBlock = styled('div')(() => ({\n flex: 8,\n color: 'var(--pie-text, black)',\n padding: '4px !important',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'var(--pie-background, rgba(255, 255, 255, 0))',\n '& > .mq-math-mode sup.mq-nthroot': {\n fontSize: '70% !important',\n verticalAlign: '1em !important',\n },\n '& > .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important',\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important',\n },\n '& .mq-overarrow.mq-arrow-both': {\n marginTop: '0px',\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px',\n },\n '&:after': {\n top: '0px !important',\n position: 'absolute !important',\n right: '-2px',\n },\n '&.mq-empty:after': {\n top: '-0.45em',\n },\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px',\n },\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important',\n },\n}));\n\nconst MathTemplated = ({ attributes, value, keyToDisplay }) => (\n <StyledSpanContainer {...attributes}>\n <StyledResponseBox>{keyToDisplay}</StyledResponseBox>\n <StyledMathBlock>\n <mq.Static latex={value} />\n </StyledMathBlock>\n </StyledSpanContainer>\n);\n\nMathTemplated.propTypes = {\n attributes: PropTypes.object,\n value: PropTypes.string,\n keyToDisplay: PropTypes.string,\n};\n\nexport default MathTemplated;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.isNumber = exports.insertSnackBar = exports.getDefaultElement = exports.defaultMT = exports.defaultIDD = exports.defaultECR = exports.defaultDIB = void 0;
9
+ require("core-js/modules/es.array.for-each.js");
10
+ require("core-js/modules/es.object.to-string.js");
11
+ require("core-js/modules/es.parse-float.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ require("core-js/modules/web.timers.js");
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _client = require("react-dom/client");
16
+ var _slate = require("slate");
17
+ var _Snackbar = _interopRequireDefault(require("@mui/material/Snackbar"));
18
+ var isNumber = exports.isNumber = function isNumber(val) {
19
+ return !isNaN(parseFloat(val)) && isFinite(val);
20
+ };
21
+ var insertSnackBar = exports.insertSnackBar = function insertSnackBar(message) {
22
+ var prevSnacks = document.querySelectorAll('.response-area-alert');
23
+ prevSnacks.forEach(function (s) {
24
+ return s.remove();
25
+ });
26
+ var newEl = document.createElement('div');
27
+ newEl.className = 'response-area-alert';
28
+ var el = /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
29
+ anchorOrigin: {
30
+ vertical: 'top',
31
+ horizontal: 'center'
32
+ },
33
+ open: true,
34
+ ContentProps: {
35
+ 'aria-describedby': 'message-id'
36
+ },
37
+ message: /*#__PURE__*/_react["default"].createElement("span", {
38
+ id: "message-id"
39
+ }, message)
40
+ });
41
+ var snackbarRoot = (0, _client.createRoot)(newEl);
42
+ snackbarRoot.render(el);
43
+ document.body.appendChild(newEl);
44
+ setTimeout(function () {
45
+ snackbarRoot.unmount();
46
+ newEl.remove();
47
+ }, 2000);
48
+ };
49
+ var defaultECR = exports.defaultECR = function defaultECR(index) {
50
+ return _slate.Inline.create({
51
+ type: 'explicit_constructed_response',
52
+ isVoid: true,
53
+ data: {
54
+ index: index
55
+ }
56
+ });
57
+ };
58
+ var defaultMT = exports.defaultMT = function defaultMT(index) {
59
+ return _slate.Inline.create({
60
+ type: 'math_templated',
61
+ isVoid: true,
62
+ data: {
63
+ index: index
64
+ }
65
+ });
66
+ };
67
+ var defaultDIB = exports.defaultDIB = function defaultDIB(opts, index) {
68
+ return _slate.Inline.create({
69
+ type: 'drag_in_the_blank',
70
+ isVoid: true,
71
+ data: {
72
+ index: index,
73
+ duplicates: opts.options.duplicates,
74
+ value: null
75
+ }
76
+ });
77
+ };
78
+ var defaultIDD = exports.defaultIDD = function defaultIDD(index) {
79
+ return _slate.Inline.create({
80
+ object: 'inline',
81
+ type: 'inline_dropdown',
82
+ isVoid: true,
83
+ data: {
84
+ index: index
85
+ }
86
+ });
87
+ };
88
+ var getDefaultElement = exports.getDefaultElement = function getDefaultElement(opts, index) {
89
+ switch (opts.type) {
90
+ case 'explicit-constructed-response':
91
+ return defaultECR(index);
92
+ case 'math-templated':
93
+ return defaultMT(index);
94
+ case 'drag-in-the-blank':
95
+ return defaultDIB(opts, index);
96
+ default:
97
+ // inline-dropdown
98
+ return defaultIDD(index);
99
+ }
100
+ };
101
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["_react","_interopRequireDefault","require","_client","_slate","_Snackbar","isNumber","exports","val","isNaN","parseFloat","isFinite","insertSnackBar","message","prevSnacks","document","querySelectorAll","forEach","s","remove","newEl","createElement","className","el","anchorOrigin","vertical","horizontal","open","ContentProps","id","snackbarRoot","createRoot","render","body","appendChild","setTimeout","unmount","defaultECR","index","Inline","create","type","isVoid","data","defaultMT","defaultDIB","opts","duplicates","options","value","defaultIDD","object","getDefaultElement"],"sources":["../../../src/plugins/respArea/utils.jsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Inline } from 'slate';\nimport Snackbar from '@mui/material/Snackbar';\n\nexport const isNumber = (val) => !isNaN(parseFloat(val)) && isFinite(val);\n\nexport const insertSnackBar = (message) => {\n const prevSnacks = document.querySelectorAll('.response-area-alert');\n\n prevSnacks.forEach((s) => s.remove());\n\n const newEl = document.createElement('div');\n\n newEl.className = 'response-area-alert';\n\n const el = (\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={true}\n ContentProps={{\n 'aria-describedby': 'message-id',\n }}\n message={<span id=\"message-id\">{message}</span>}\n />\n );\n\n const snackbarRoot = createRoot(newEl);\n snackbarRoot.render(el);\n\n document.body.appendChild(newEl);\n\n setTimeout(() => {\n snackbarRoot.unmount();\n newEl.remove();\n }, 2000);\n};\n\nexport const defaultECR = (index) =>\n Inline.create({\n type: 'explicit_constructed_response',\n isVoid: true,\n data: {\n index,\n },\n });\nexport const defaultMT = (index) =>\n Inline.create({\n type: 'math_templated',\n isVoid: true,\n data: {\n index,\n },\n });\n\nexport const defaultDIB = (opts, index) =>\n Inline.create({\n type: 'drag_in_the_blank',\n isVoid: true,\n data: {\n index,\n duplicates: opts.options.duplicates,\n value: null,\n },\n });\n\nexport const defaultIDD = (index) =>\n Inline.create({\n object: 'inline',\n type: 'inline_dropdown',\n isVoid: true,\n data: {\n index,\n },\n });\n\nexport const getDefaultElement = (opts, index) => {\n switch (opts.type) {\n case 'explicit-constructed-response':\n return defaultECR(index);\n\n case 'math-templated':\n return defaultMT(index);\n\n case 'drag-in-the-blank':\n return defaultDIB(opts, index);\n\n default:\n // inline-dropdown\n return defaultIDD(index);\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ require("core-js/modules/es.array.find-index.js");
10
+ require("core-js/modules/es.array.for-each.js");
11
+ require("core-js/modules/es.array.map.js");
12
+ require("core-js/modules/es.function.bind.js");
13
+ require("core-js/modules/es.object.to-string.js");
14
+ require("core-js/modules/web.dom-collections.for-each.js");
15
+ var _slateEditTable = _interopRequireDefault(require("slate-edit-table"));
16
+ var _utils = require("slate-edit-table/dist/utils");
17
+ var _handlers = require("slate-edit-table/dist/handlers");
18
+ var _options = _interopRequireDefault(require("slate-edit-table/dist/options"));
19
+ var _changes = require("slate-edit-table/dist/changes");
20
+ function onBackspace(event, change, editor, opts) {
21
+ var _startCell$nodes;
22
+ var value = change.value;
23
+ var startBlock = value.startBlock,
24
+ endBlock = value.endBlock,
25
+ selection = value.selection,
26
+ document = value.document;
27
+ var startCell = document.getClosest(startBlock.key, opts.isCell);
28
+ var endCell = document.getClosest(endBlock.key, opts.isCell);
29
+ var startBlockIndex = startCell === null || startCell === void 0 || (_startCell$nodes = startCell.nodes) === null || _startCell$nodes === void 0 ? void 0 : _startCell$nodes.findIndex(function (block) {
30
+ return block.key == startBlock.key;
31
+ });
32
+
33
+ // If a cursor is collapsed at the start of the first block, do nothing
34
+ if (startBlockIndex === 0 && selection.isAtStartOf(startBlock)) {
35
+ if (startBlock.isVoid) {
36
+ // Delete the block normally if it is a void block
37
+ return undefined;
38
+ }
39
+ event.preventDefault();
40
+ return change;
41
+ }
42
+
43
+ // If "normal" deletion, we continue
44
+ if (startCell === endCell) {
45
+ return undefined;
46
+ }
47
+
48
+ // If cursor is between multiple blocks,
49
+ // we clear the content of the cells.
50
+ event.preventDefault();
51
+ var blocks = value.blocks;
52
+
53
+ // Get all cells that contains the selection
54
+ var cells = blocks.map(function (node) {
55
+ return node.type === opts.typeCell ? node : document.getClosest(node.key, function (a) {
56
+ return a.type === opts.typeCell;
57
+ });
58
+ }).toSet();
59
+
60
+ // If the cursor is at the very end of the first cell, ignore it.
61
+ // If the cursor is at the very start of the last cell, ignore it.
62
+ // This behavior is to compensate hanging selection behaviors:
63
+ // https://github.com/ianstormtaylor/slate/pull/1605
64
+ var ignoreFirstCell = value.selection.collapseToStart().isAtEndOf(cells.first());
65
+ var ignoreLastCell = value.selection.collapseToEnd().isAtStartOf(cells.last());
66
+ var cellsToClear = cells;
67
+ if (ignoreFirstCell) {
68
+ cellsToClear = cellsToClear.rest();
69
+ }
70
+ if (ignoreLastCell) {
71
+ cellsToClear = cellsToClear.butLast();
72
+ }
73
+
74
+ // Clear all the selection
75
+ cellsToClear.forEach(function (cell) {
76
+ return (0, _changes.clearCell)(opts, change, cell);
77
+ });
78
+
79
+ // Update the selection properly, and avoid reset of selection
80
+ var updatedStartCell = change.value.document.getDescendant(cellsToClear.first().key);
81
+ return change.collapseToStartOf(updatedStartCell);
82
+ }
83
+ var KEY_ENTER = 'Enter';
84
+ var KEY_TAB = 'Tab';
85
+ var KEY_BACKSPACE = 'Backspace';
86
+ var KEY_DOWN = 'ArrowDown';
87
+ var KEY_UP = 'ArrowUp';
88
+
89
+ /**
90
+ * User is pressing a key in the editor
91
+ */
92
+ function onKeyDown(opts, event, change, editor) {
93
+ // Only handle events in cells
94
+ if (!(0, _utils.isSelectionInTable)(opts, change.value)) {
95
+ return undefined;
96
+ }
97
+
98
+ // Build arguments list
99
+ var args = [event, change, editor, opts];
100
+ switch (event.key) {
101
+ case KEY_ENTER:
102
+ if (event.metaKey && opts.exitBlockType) {
103
+ return _handlers.onModEnter.apply(void 0, args);
104
+ }
105
+ return _handlers.onEnter.apply(void 0, args);
106
+ case KEY_TAB:
107
+ return _handlers.onTab.apply(void 0, args);
108
+ case KEY_BACKSPACE:
109
+ return onBackspace.apply(void 0, args);
110
+ case KEY_DOWN:
111
+ case KEY_UP:
112
+ return _handlers.onUpDown.apply(void 0, args);
113
+ default:
114
+ return undefined;
115
+ }
116
+ }
117
+ var _default = exports["default"] = function _default(opts) {
118
+ var core = (0, _slateEditTable["default"])(opts);
119
+ var tableOpts = new _options["default"](opts);
120
+ core.onKeyDown = onKeyDown.bind(null, tableOpts);
121
+ return core;
122
+ };
123
+ //# sourceMappingURL=CustomTablePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTablePlugin.js","names":["_slateEditTable","_interopRequireDefault","require","_utils","_handlers","_options","_changes","onBackspace","event","change","editor","opts","_startCell$nodes","value","startBlock","endBlock","selection","document","startCell","getClosest","key","isCell","endCell","startBlockIndex","nodes","findIndex","block","isAtStartOf","isVoid","undefined","preventDefault","blocks","cells","map","node","type","typeCell","a","toSet","ignoreFirstCell","collapseToStart","isAtEndOf","first","ignoreLastCell","collapseToEnd","last","cellsToClear","rest","butLast","forEach","cell","clearCell","updatedStartCell","getDescendant","collapseToStartOf","KEY_ENTER","KEY_TAB","KEY_BACKSPACE","KEY_DOWN","KEY_UP","onKeyDown","isSelectionInTable","args","metaKey","exitBlockType","onModEnter","apply","onEnter","onTab","onUpDown","_default","exports","core","EditTable","tableOpts","TableOptions","bind"],"sources":["../../../src/plugins/table/CustomTablePlugin.js"],"sourcesContent":["import EditTable from 'slate-edit-table';\nimport { isSelectionInTable } from 'slate-edit-table/dist/utils';\nimport { onEnter, onModEnter, onTab, onUpDown } from 'slate-edit-table/dist/handlers';\nimport TableOptions from 'slate-edit-table/dist/options';\nimport { clearCell } from 'slate-edit-table/dist/changes';\n\nfunction onBackspace(event, change, editor, opts) {\n const { value } = change;\n const { startBlock, endBlock, selection, document } = value;\n\n const startCell = document.getClosest(startBlock.key, opts.isCell);\n const endCell = document.getClosest(endBlock.key, opts.isCell);\n\n const startBlockIndex = startCell?.nodes?.findIndex((block) => block.key == startBlock.key);\n\n // If a cursor is collapsed at the start of the first block, do nothing\n if (startBlockIndex === 0 && selection.isAtStartOf(startBlock)) {\n if (startBlock.isVoid) {\n // Delete the block normally if it is a void block\n return undefined;\n }\n\n event.preventDefault();\n return change;\n }\n\n // If \"normal\" deletion, we continue\n if (startCell === endCell) {\n return undefined;\n }\n\n // If cursor is between multiple blocks,\n // we clear the content of the cells.\n event.preventDefault();\n\n const { blocks } = value;\n\n // Get all cells that contains the selection\n const cells = blocks\n .map((node) =>\n node.type === opts.typeCell ? node : document.getClosest(node.key, (a) => a.type === opts.typeCell),\n )\n .toSet();\n\n // If the cursor is at the very end of the first cell, ignore it.\n // If the cursor is at the very start of the last cell, ignore it.\n // This behavior is to compensate hanging selection behaviors:\n // https://github.com/ianstormtaylor/slate/pull/1605\n const ignoreFirstCell = value.selection.collapseToStart().isAtEndOf(cells.first());\n const ignoreLastCell = value.selection.collapseToEnd().isAtStartOf(cells.last());\n\n let cellsToClear = cells;\n if (ignoreFirstCell) {\n cellsToClear = cellsToClear.rest();\n }\n if (ignoreLastCell) {\n cellsToClear = cellsToClear.butLast();\n }\n\n // Clear all the selection\n cellsToClear.forEach((cell) => clearCell(opts, change, cell));\n\n // Update the selection properly, and avoid reset of selection\n const updatedStartCell = change.value.document.getDescendant(cellsToClear.first().key);\n return change.collapseToStartOf(updatedStartCell);\n}\n\nconst KEY_ENTER = 'Enter';\nconst KEY_TAB = 'Tab';\nconst KEY_BACKSPACE = 'Backspace';\nconst KEY_DOWN = 'ArrowDown';\nconst KEY_UP = 'ArrowUp';\n\n/**\n * User is pressing a key in the editor\n */\nfunction onKeyDown(opts, event, change, editor) {\n // Only handle events in cells\n if (!isSelectionInTable(opts, change.value)) {\n return undefined;\n }\n\n // Build arguments list\n const args = [event, change, editor, opts];\n\n switch (event.key) {\n case KEY_ENTER:\n if (event.metaKey && opts.exitBlockType) {\n return onModEnter(...args);\n }\n return onEnter(...args);\n\n case KEY_TAB:\n return onTab(...args);\n case KEY_BACKSPACE:\n return onBackspace(...args);\n case KEY_DOWN:\n case KEY_UP:\n return onUpDown(...args);\n default:\n return undefined;\n }\n}\n\nexport default (opts) => {\n const core = EditTable(opts);\n\n const tableOpts = new TableOptions(opts);\n\n core.onKeyDown = onKeyDown.bind(null, tableOpts);\n\n return core;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.RemoveTable = exports.RemoveRow = exports.RemoveColumn = exports.AddRow = exports.AddColumn = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ require("core-js/modules/es.function.name.js");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _styles = require("@mui/material/styles");
13
+ var StyledPath = (0, _styles.styled)('path')({
14
+ fill: 'grey',
15
+ '&:hover': {
16
+ fill: 'black'
17
+ }
18
+ });
19
+ var SvgIcon = function SvgIcon(Component) {
20
+ var SvgIconComponent = function SvgIconComponent(props) {
21
+ return /*#__PURE__*/_react["default"].createElement("svg", {
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ version: "1.1",
24
+ width: "24",
25
+ height: "24",
26
+ viewBox: "0 0 24 24"
27
+ }, /*#__PURE__*/_react["default"].createElement(Component, props));
28
+ };
29
+ SvgIconComponent.displayName = "SvgIcon(".concat(Component.displayName || Component.name || 'Component', ")");
30
+ return SvgIconComponent;
31
+ };
32
+ var AddRow = exports.AddRow = SvgIcon(function (props) {
33
+ return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
34
+ d: "M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z"
35
+ }));
36
+ });
37
+ var RemoveRow = exports.RemoveRow = SvgIcon(function (props) {
38
+ return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
39
+ 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"
40
+ }));
41
+ });
42
+ var AddColumn = exports.AddColumn = SvgIcon(function (props) {
43
+ return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
44
+ d: "M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z"
45
+ }));
46
+ });
47
+ var RemoveColumn = exports.RemoveColumn = SvgIcon(function (props) {
48
+ return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
49
+ 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"
50
+ }));
51
+ });
52
+ var RemoveTable = exports.RemoveTable = SvgIcon(function (props) {
53
+ return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
54
+ 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"
55
+ }));
56
+ });
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_styles","StyledPath","styled","fill","SvgIcon","Component","SvgIconComponent","props","createElement","xmlns","version","width","height","viewBox","displayName","concat","name","AddRow","exports","_extends2","d","RemoveRow","AddColumn","RemoveColumn","RemoveTable"],"sources":["../../../../src/plugins/table/icons/index.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst StyledPath = styled('path')({\n fill: 'grey',\n '&:hover': {\n fill: 'black',\n },\n});\n\nconst SvgIcon = (Component) => {\n const SvgIconComponent = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <Component {...props} />\n </svg>\n );\n SvgIconComponent.displayName = `SvgIcon(${Component.displayName || Component.name || 'Component'})`;\n return SvgIconComponent;\n};\nexport const AddRow = SvgIcon((props) => (\n <StyledPath\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 <StyledPath\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 <StyledPath\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 <StyledPath\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 <StyledPath\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"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAME,UAAU,GAAG,IAAAC,cAAM,EAAC,MAAM,CAAC,CAAC;EAChCC,IAAI,EAAE,MAAM;EACZ,SAAS,EAAE;IACTA,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,SAAS,EAAK;EAC7B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK;IAAA,oBAC7BV,MAAA,YAAAW,aAAA;MAAKC,KAAK,EAAC,4BAA4B;MAACC,OAAO,EAAC,KAAK;MAACC,KAAK,EAAC,IAAI;MAACC,MAAM,EAAC,IAAI;MAACC,OAAO,EAAC;IAAW,gBAC9FhB,MAAA,YAAAW,aAAA,CAACH,SAAS,EAAKE,KAAQ,CACpB,CAAC;EAAA,CACP;EACDD,gBAAgB,CAACQ,WAAW,cAAAC,MAAA,CAAcV,SAAS,CAACS,WAAW,IAAIT,SAAS,CAACW,IAAI,IAAI,WAAW,MAAG;EACnG,OAAOV,gBAAgB;AACzB,CAAC;AACM,IAAMW,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAGb,OAAO,CAAC,UAACG,KAAK;EAAA,oBAClCV,MAAA,YAAAW,aAAA,CAACP,UAAU,MAAAkB,SAAA,iBACLZ,KAAK;IACTa,CAAC,EAAC;EAAuK,EAC1K,CAAC;AAAA,CACH,CAAC;AAEK,IAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAGjB,OAAO,CAAC,UAACG,KAAK;EAAA,oBACrCV,MAAA,YAAAW,aAAA,CAACP,UAAU,MAAAkB,SAAA,iBACLZ,KAAK;IACTa,CAAC,EAAC;EAAsO,EACzO,CAAC;AAAA,CACH,CAAC;AAEK,IAAME,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGlB,OAAO,CAAC,UAACG,KAAK;EAAA,oBACrCV,MAAA,YAAAW,aAAA,CAACP,UAAU,MAAAkB,SAAA,iBACLZ,KAAK;IACTa,CAAC,EAAC;EAAuI,EAC1I,CAAC;AAAA,CACH,CAAC;AAEK,IAAMG,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAGnB,OAAO,CAAC,UAACG,KAAK;EAAA,oBACxCV,MAAA,YAAAW,aAAA,CAACP,UAAU,MAAAkB,SAAA,iBACLZ,KAAK;IACTa,CAAC,EAAC;EAA2O,EAC9O,CAAC;AAAA,CACH,CAAC;AAEK,IAAMI,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGpB,OAAO,CAAC,UAACG,KAAK;EAAA,oBACvCV,MAAA,YAAAW,aAAA,CAACP,UAAU,MAAAkB,SAAA,iBACLZ,KAAK;IACTa,CAAC,EAAC;EAA4U,EAC/U,CAAC;AAAA,CACH,CAAC","ignoreList":[]}