@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.3

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 (129) hide show
  1. package/lib/components/CharacterPicker.js +221 -0
  2. package/lib/components/EditableHtml.js +323 -0
  3. package/lib/components/MenuBar.js +693 -0
  4. package/lib/components/TiptapContainer.js +90 -0
  5. package/lib/components/buttons/done-button.js +53 -0
  6. package/lib/components/characters/characterUtils.js +112 -0
  7. package/lib/components/characters/custom-popper.js +73 -0
  8. package/lib/components/common/done-button.js +53 -0
  9. package/lib/components/icons/CssIcon.js +37 -0
  10. package/lib/components/icons/RespArea.js +95 -0
  11. package/lib/components/icons/TableIcons.js +69 -0
  12. package/lib/components/icons/TextAlign.js +194 -0
  13. package/lib/components/icons/index.js +194 -0
  14. package/lib/components/image/ImageToolbar.js +16 -0
  15. package/lib/components/image/InsertImageHandler.js +16 -0
  16. package/lib/components/media/MediaDialog.js +16 -0
  17. package/lib/components/media/MediaToolbar.js +16 -0
  18. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
  19. package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
  20. package/lib/components/respArea/DragInTheBlank.js +94 -0
  21. package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
  22. package/lib/components/respArea/InlineDropdown.js +126 -0
  23. package/lib/components/respArea/ToolbarIcon.js +105 -0
  24. package/lib/components/respArea/choice.js +2 -0
  25. package/lib/extensions/component.js +5 -5
  26. package/lib/extensions/custom-toolbar-wrapper.js +2 -4
  27. package/lib/extensions/extended-table.js +30 -0
  28. package/lib/extensions/index.js +52 -0
  29. package/lib/extensions/media.js +5 -5
  30. package/lib/extensions/responseArea.js +7 -7
  31. package/lib/index.js +16 -1481
  32. package/lib/plugins/index.js +8 -80
  33. package/lib/styles/editorContainerStyles.js +200 -0
  34. package/lib/utils/size.js +34 -0
  35. package/package.json +1 -1
  36. package/src/components/CharacterPicker.jsx +185 -0
  37. package/src/components/EditableHtml.jsx +306 -0
  38. package/src/components/MenuBar.jsx +630 -0
  39. package/src/components/TiptapContainer.jsx +96 -0
  40. package/src/components/characters/characterUtils.js +127 -0
  41. package/src/components/image/ImageToolbar.jsx +1 -0
  42. package/src/components/image/InsertImageHandler.js +1 -0
  43. package/src/components/media/MediaDialog.js +1 -0
  44. package/src/components/media/MediaToolbar.jsx +1 -0
  45. package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
  46. package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
  47. package/src/components/respArea/ToolbarIcon.jsx +68 -0
  48. package/src/extensions/component.jsx +2 -2
  49. package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
  50. package/src/extensions/extended-table.js +27 -0
  51. package/src/extensions/index.js +76 -0
  52. package/src/extensions/media.js +10 -4
  53. package/src/extensions/responseArea.js +7 -7
  54. package/src/index.jsx +3 -1440
  55. package/src/styles/editorContainerStyles.js +203 -0
  56. package/src/utils/size.js +32 -0
  57. package/src/__tests__/editor.test.jsx +0 -363
  58. package/src/__tests__/serialization.test.js +0 -291
  59. package/src/block-tags.js +0 -17
  60. package/src/editor.jsx +0 -1197
  61. package/src/extensions/characters.js +0 -46
  62. package/src/old-index.jsx +0 -162
  63. package/src/parse-html.js +0 -8
  64. package/src/plugins/README.md +0 -27
  65. package/src/plugins/characters/index.jsx +0 -284
  66. package/src/plugins/characters/utils.js +0 -447
  67. package/src/plugins/css/index.jsx +0 -340
  68. package/src/plugins/customPlugin/index.jsx +0 -85
  69. package/src/plugins/html/icons/index.jsx +0 -19
  70. package/src/plugins/html/index.jsx +0 -72
  71. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
  72. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
  73. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
  74. package/src/plugins/image/__tests__/component.test.jsx +0 -41
  75. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
  76. package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
  77. package/src/plugins/image/__tests__/index.test.js +0 -95
  78. package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
  79. package/src/plugins/image/__tests__/mock-change.js +0 -15
  80. package/src/plugins/image/alt-dialog.jsx +0 -82
  81. package/src/plugins/image/component.jsx +0 -343
  82. package/src/plugins/image/image-toolbar.jsx +0 -100
  83. package/src/plugins/image/index.jsx +0 -227
  84. package/src/plugins/image/insert-image-handler.js +0 -79
  85. package/src/plugins/index.jsx +0 -377
  86. package/src/plugins/list/__tests__/index.test.js +0 -54
  87. package/src/plugins/list/index.jsx +0 -305
  88. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
  89. package/src/plugins/math/__tests__/index.test.jsx +0 -245
  90. package/src/plugins/math/index.jsx +0 -379
  91. package/src/plugins/media/__tests__/index.test.js +0 -75
  92. package/src/plugins/media/index.jsx +0 -325
  93. package/src/plugins/media/media-dialog.js +0 -624
  94. package/src/plugins/media/media-toolbar.jsx +0 -56
  95. package/src/plugins/media/media-wrapper.jsx +0 -43
  96. package/src/plugins/rendering/index.js +0 -31
  97. package/src/plugins/respArea/index.jsx +0 -299
  98. package/src/plugins/respArea/math-templated/index.jsx +0 -104
  99. package/src/plugins/respArea/utils.jsx +0 -90
  100. package/src/plugins/table/CustomTablePlugin.js +0 -113
  101. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
  102. package/src/plugins/table/__tests__/index.test.jsx +0 -401
  103. package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
  104. package/src/plugins/table/index.jsx +0 -427
  105. package/src/plugins/table/table-toolbar.jsx +0 -136
  106. package/src/plugins/textAlign/index.jsx +0 -23
  107. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
  108. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
  109. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
  110. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
  111. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
  112. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
  113. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
  114. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
  115. package/src/plugins/toolbar/default-toolbar.jsx +0 -206
  116. package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
  117. package/src/plugins/toolbar/index.jsx +0 -23
  118. package/src/plugins/toolbar/toolbar-buttons.jsx +0 -138
  119. package/src/plugins/toolbar/toolbar.jsx +0 -338
  120. package/src/plugins/utils.js +0 -31
  121. package/src/serialization.jsx +0 -621
  122. /package/src/{plugins → components}/characters/custom-popper.js +0 -0
  123. /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
  124. /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
  125. /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
  126. /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
  127. /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
  128. /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
  129. /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
@@ -25,9 +25,9 @@ var _core = require("@tiptap/core");
25
25
 
26
26
  var _react2 = require("@tiptap/react");
27
27
 
28
- var _mediaDialog = _interopRequireDefault(require("../plugins/media/media-dialog"));
28
+ var _MediaDialog = _interopRequireDefault(require("../components/media/MediaDialog"));
29
29
 
30
- var _mediaToolbar = _interopRequireDefault(require("../plugins/media/media-toolbar"));
30
+ var _MediaToolbar = _interopRequireDefault(require("../components/media/MediaToolbar"));
31
31
 
32
32
  var _excluded = ["type", "callback", "options"];
33
33
 
@@ -195,7 +195,7 @@ var insertDialog = function insertDialog(props) {
195
195
  document.body.style.overflow = initialBodyOverflow;
196
196
  };
197
197
 
198
- var el = /*#__PURE__*/_react["default"].createElement(_mediaDialog["default"], (0, _extends2["default"])({}, rest, {
198
+ var el = /*#__PURE__*/_react["default"].createElement(_MediaDialog["default"], (0, _extends2["default"])({}, rest, {
199
199
  uploadSoundSupport: options.uploadSoundSupport,
200
200
  type: type,
201
201
  disablePortal: true,
@@ -268,9 +268,9 @@ function MediaNodeView(_ref4) {
268
268
  src: src,
269
269
  allowFullScreen: true,
270
270
  frameBorder: "0"
271
- }), /*#__PURE__*/_react["default"].createElement(_mediaToolbar["default"], {
271
+ }), /*#__PURE__*/_react["default"].createElement(_MediaToolbar["default"], {
272
272
  onEdit: handleEdit,
273
273
  onRemove: deleteNode
274
274
  }));
275
275
  }
276
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21lZGlhLmpzIl0sIm5hbWVzIjpbIk1lZGlhIiwiTm9kZSIsImNyZWF0ZSIsIm5hbWUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwidHlwZSIsInNyYyIsIndpZHRoIiwiaGVpZ2h0IiwidGl0bGUiLCJzdGFydHMiLCJlbmRzIiwiZWRpdGluZyIsInRhZyIsInVybCIsInBhcnNlSFRNTCIsImdldEF0dHJzIiwiZWwiLCJnZXRBdHRyaWJ1dGUiLCJkYXRhc2V0IiwicXVlcnlTZWxlY3RvciIsInJlbmRlckhUTUwiLCJIVE1MQXR0cmlidXRlcyIsImNvbnRyb2xzIiwiY29udHJvbHNMaXN0IiwiZnJhbWVib3JkZXIiLCJhbGxvdyIsImFsbG93ZnVsbHNjcmVlbiIsImFkZENvbW1hbmRzIiwiaW5zZXJ0TWVkaWEiLCJhdHRycyIsImNvbW1hbmRzIiwiaW5zZXJ0Q29udGVudCIsInVwZGF0ZU1lZGlhIiwidXBkYXRlQXR0cmlidXRlcyIsImFkZE5vZGVWaWV3IiwicHJvcHMiLCJvcHRpb25zIiwicmVtb3ZlRGlhbG9ncyIsInByZXZEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJuZXdFbCIsImNyZWF0ZUVsZW1lbnQiLCJjYWxsYmFjayIsInJlc3QiLCJpbml0aWFsQm9keU92ZXJmbG93IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJjbGFzc05hbWUiLCJoYW5kbGVDbG9zZSIsInZhbCIsImRhdGEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJSZWFjdERPTSIsInJlbmRlciIsImFwcGVuZENoaWxkIiwiTWVkaWFOb2RlVmlldyIsImVkaXRvciIsIm5vZGUiLCJkZWxldGVOb2RlIiwiaGFuZGxlRWRpdCIsImVkaXQiLCJjaGFpbiIsImZvY3VzIiwicnVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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LElBQUEsR0FBRyxFQUFFQSxHQUFiO0FBQWtCLElBQUEsZUFBZSxNQUFqQztBQUFrQyxJQUFBLFdBQVcsRUFBQztBQUE5QyxJQU5KLGVBU0UsZ0NBQUMsd0JBQUQ7QUFBYyxJQUFBLE1BQU0sRUFBRTRELFVBQXRCO0FBQWtDLElBQUEsUUFBUSxFQUFFRDtBQUE1QyxJQVRGLENBREY7QUFhRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcywgTm9kZSB9IGZyb20gJ0B0aXB0YXAvY29yZSc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIsIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IE1lZGlhRGlhbG9nIGZyb20gJy4uL3BsdWdpbnMvbWVkaWEvbWVkaWEtZGlhbG9nJztcbmltcG9ydCBNZWRpYVRvb2xiYXIgZnJvbSAnLi4vcGx1Z2lucy9tZWRpYS9tZWRpYS10b29sYmFyJztcblxuZXhwb3J0IGNvbnN0IE1lZGlhID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWVkaWEnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IGRlZmF1bHQ6ICd2aWRlbycgfSxcbiAgICAgIHNyYzogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB3aWR0aDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBoZWlnaHQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdGl0bGU6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgc3RhcnRzOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGVuZHM6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgZWRpdGluZzogeyBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgdGFnOiB7IGRlZmF1bHQ6ICdpZnJhbWUnIH0sIC8vICdpZnJhbWUnIG9yICdhdWRpbydcbiAgICAgIHVybDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnaWZyYW1lW2RhdGEtdHlwZT1cInZpZGVvXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAndmlkZW8nLFxuICAgICAgICAgIHRhZzogJ2lmcmFtZScsXG4gICAgICAgICAgc3JjOiBlbC5nZXRBdHRyaWJ1dGUoJ3NyYycpLFxuICAgICAgICAgIHdpZHRoOiBlbC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJyksXG4gICAgICAgICAgaGVpZ2h0OiBlbC5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpLFxuICAgICAgICAgIHRpdGxlOiBlbC5kYXRhc2V0LnRpdGxlLFxuICAgICAgICAgIHN0YXJ0czogZWwuZGF0YXNldC5zdGFydHMsXG4gICAgICAgICAgZW5kczogZWwuZGF0YXNldC5lbmRzLFxuICAgICAgICAgIHVybDogZWwuZGF0YXNldC51cmwsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdhdWRpbycsXG4gICAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICAgIHNyYzogZWwucXVlcnlTZWxlY3Rvcignc291cmNlJyk/LmdldEF0dHJpYnV0ZSgnc3JjJyksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgY29uc3QgeyB0YWcsIHNyYywgd2lkdGgsIGhlaWdodCB9ID0gSFRNTEF0dHJpYnV0ZXM7XG5cbiAgICBpZiAodGFnID09PSAnYXVkaW8nKSB7XG4gICAgICByZXR1cm4gWydhdWRpbycsIHsgY29udHJvbHM6ICdjb250cm9scycsIGNvbnRyb2xzTGlzdDogJ25vZG93bmxvYWQnIH0sIFsnc291cmNlJywgeyBzcmMsIHR5cGU6ICdhdWRpby9tcDMnIH1dXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2lmcmFtZScsXG4gICAgICBtZXJnZUF0dHJpYnV0ZXMoXG4gICAgICAgIHtcbiAgICAgICAgICAnZGF0YS10eXBlJzogJ3ZpZGVvJyxcbiAgICAgICAgICBmcmFtZWJvcmRlcjogJzAnLFxuICAgICAgICAgIGFsbG93OiAnYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZScsXG4gICAgICAgICAgYWxsb3dmdWxsc2NyZWVuOiAnJyxcbiAgICAgICAgICBzcmMsXG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoID8geyB3aWR0aCB9IDoge30sXG4gICAgICAgIGhlaWdodCA/IHsgaGVpZ2h0IH0gOiB7fSxcbiAgICAgICksXG4gICAgXTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0TWVkaWE6IChhdHRycykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7IHR5cGU6IHRoaXMubmFtZSwgYXR0cnMgfSk7XG4gICAgICB9LFxuICAgICAgdXBkYXRlTWVkaWE6IChhdHRycykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcyh0aGlzLm5hbWUsIGF0dHJzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcblxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPE1lZGlhTm9kZVZpZXcgey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuY29uc3QgcmVtb3ZlRGlhbG9ncyA9ICgpID0+IHtcbiAgY29uc3QgcHJldkRpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaW5zZXJ0LW1lZGlhLWRpYWxvZycpO1xuXG4gIHByZXZEaWFsb2dzLmZvckVhY2goKHMpID0+IHMucmVtb3ZlKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydERpYWxvZyA9IChwcm9wcykgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBjb25zdCB7IHR5cGUsIGNhbGxiYWNrLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgY29uc3QgaW5pdGlhbEJvZHlPdmVyZmxvdyA9IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c7XG5cbiAgcmVtb3ZlRGlhbG9ncygpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdpbnNlcnQtbWVkaWEtZGlhbG9nJztcbiAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKHZhbCwgZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKHZhbCwgZGF0YSk7XG4gICAgbmV3RWwucmVtb3ZlKCk7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IGluaXRpYWxCb2R5T3ZlcmZsb3c7XG4gIH07XG5cbiAgY29uc3QgZWwgPSAoXG4gICAgPE1lZGlhRGlhbG9nXG4gICAgICB7Li4ucmVzdH1cbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17b3B0aW9ucy51cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgZGlzYWJsZVBvcnRhbD17dHJ1ZX1cbiAgICAgIG9wZW49e3RydWV9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgLz5cbiAgKTtcblxuICBSZWFjdERPTS5yZW5kZXIoZWwsIG5ld0VsKTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0VsKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1lZGlhTm9kZVZpZXcoeyBlZGl0b3IsIG5vZGUsIHVwZGF0ZUF0dHJpYnV0ZXMsIGRlbGV0ZU5vZGUsIG9wdGlvbnMgfSkge1xuICBjb25zdCB7IHR5cGUsIHNyYywgd2lkdGgsIGhlaWdodCwgdGFnIH0gPSBub2RlLmF0dHJzO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoKSA9PiB7XG4gICAgaW5zZXJ0RGlhbG9nKHtcbiAgICAgIC4uLm5vZGUuYXR0cnMsXG4gICAgICBlZGl0OiB0cnVlLFxuICAgICAgY2FsbGJhY2s6ICh2YWwsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHVwZGF0ZUF0dHJpYnV0ZXMoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlTm9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5ydW4oKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbnNlcnREaWFsb2coe1xuICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICBlZGl0OiB0cnVlLFxuICAgICAgY2FsbGJhY2s6ICh2YWwsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHVwZGF0ZUF0dHJpYnV0ZXMoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlTm9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5ydW4oKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxOb2RlVmlld1dyYXBwZXIgZGF0YS10eXBlPXt0eXBlfSBzdHlsZT17eyB3aWR0aCwgaGVpZ2h0IH19PlxuICAgICAge3RhZyA9PT0gJ2F1ZGlvJyA/IChcbiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIGNvbnRyb2xzTGlzdD1cIm5vZG93bmxvYWRcIj5cbiAgICAgICAgICA8c291cmNlIHNyYz17c3JjfSAvPlxuICAgICAgICA8L2F1ZGlvPlxuICAgICAgKSA6IChcbiAgICAgICAgPGlmcmFtZSBzcmM9e3NyY30gYWxsb3dGdWxsU2NyZWVuIGZyYW1lQm9yZGVyPVwiMFwiIC8+XG4gICAgICApfVxuXG4gICAgICA8TWVkaWFUb29sYmFyIG9uRWRpdD17aGFuZGxlRWRpdH0gb25SZW1vdmU9e2RlbGV0ZU5vZGV9IC8+XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG4iXX0=
276
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21lZGlhLmpzIl0sIm5hbWVzIjpbIk1lZGlhIiwiTm9kZSIsImNyZWF0ZSIsIm5hbWUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwidHlwZSIsInNyYyIsIndpZHRoIiwiaGVpZ2h0IiwidGl0bGUiLCJzdGFydHMiLCJlbmRzIiwiZWRpdGluZyIsInRhZyIsInVybCIsInBhcnNlSFRNTCIsImdldEF0dHJzIiwiZWwiLCJnZXRBdHRyaWJ1dGUiLCJkYXRhc2V0IiwicXVlcnlTZWxlY3RvciIsInJlbmRlckhUTUwiLCJIVE1MQXR0cmlidXRlcyIsImNvbnRyb2xzIiwiY29udHJvbHNMaXN0IiwiZnJhbWVib3JkZXIiLCJhbGxvdyIsImFsbG93ZnVsbHNjcmVlbiIsImFkZENvbW1hbmRzIiwiaW5zZXJ0TWVkaWEiLCJhdHRycyIsImNvbW1hbmRzIiwiaW5zZXJ0Q29udGVudCIsInVwZGF0ZU1lZGlhIiwidXBkYXRlQXR0cmlidXRlcyIsImFkZE5vZGVWaWV3IiwicHJvcHMiLCJvcHRpb25zIiwicmVtb3ZlRGlhbG9ncyIsInByZXZEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJuZXdFbCIsImNyZWF0ZUVsZW1lbnQiLCJjYWxsYmFjayIsInJlc3QiLCJpbml0aWFsQm9keU92ZXJmbG93IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJjbGFzc05hbWUiLCJoYW5kbGVDbG9zZSIsInZhbCIsImRhdGEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJSZWFjdERPTSIsInJlbmRlciIsImFwcGVuZENoaWxkIiwiTWVkaWFOb2RlVmlldyIsImVkaXRvciIsIm5vZGUiLCJkZWxldGVOb2RlIiwiaGFuZGxlRWRpdCIsImVkaXQiLCJjaGFpbiIsImZvY3VzIiwicnVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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QVEsSUFBQSxHQUFHLEVBQUVBLEdBQWI7QUFBa0IsSUFBQSxlQUFlLE1BQWpDO0FBQWtDLElBQUEsV0FBVyxFQUFDO0FBQTlDLElBTkosZUFTRSxnQ0FBQyx3QkFBRDtBQUFjLElBQUEsTUFBTSxFQUFFNEQsVUFBdEI7QUFBa0MsSUFBQSxRQUFRLEVBQUVEO0FBQTVDLElBVEYsQ0FERjtBQWFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgbWVyZ2VBdHRyaWJ1dGVzLCBOb2RlIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciwgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgTWVkaWFEaWFsb2cgZnJvbSAnLi4vY29tcG9uZW50cy9tZWRpYS9NZWRpYURpYWxvZyc7XG5pbXBvcnQgTWVkaWFUb29sYmFyIGZyb20gJy4uL2NvbXBvbmVudHMvbWVkaWEvTWVkaWFUb29sYmFyJztcblxuZXhwb3J0IGNvbnN0IE1lZGlhID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWVkaWEnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IGRlZmF1bHQ6ICd2aWRlbycgfSxcbiAgICAgIHNyYzogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB3aWR0aDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBoZWlnaHQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdGl0bGU6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgc3RhcnRzOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGVuZHM6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgZWRpdGluZzogeyBkZWZhdWx0OiBmYWxzZSB9LFxuICAgICAgdGFnOiB7IGRlZmF1bHQ6ICdpZnJhbWUnIH0sIC8vICdpZnJhbWUnIG9yICdhdWRpbydcbiAgICAgIHVybDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnaWZyYW1lW2RhdGEtdHlwZT1cInZpZGVvXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAndmlkZW8nLFxuICAgICAgICAgIHRhZzogJ2lmcmFtZScsXG4gICAgICAgICAgc3JjOiBlbC5nZXRBdHRyaWJ1dGUoJ3NyYycpLFxuICAgICAgICAgIHdpZHRoOiBlbC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJyksXG4gICAgICAgICAgaGVpZ2h0OiBlbC5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpLFxuICAgICAgICAgIHRpdGxlOiBlbC5kYXRhc2V0LnRpdGxlLFxuICAgICAgICAgIHN0YXJ0czogZWwuZGF0YXNldC5zdGFydHMsXG4gICAgICAgICAgZW5kczogZWwuZGF0YXNldC5lbmRzLFxuICAgICAgICAgIHVybDogZWwuZGF0YXNldC51cmwsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdhdWRpbycsXG4gICAgICAgICAgdGFnOiAnYXVkaW8nLFxuICAgICAgICAgIHNyYzogZWwucXVlcnlTZWxlY3Rvcignc291cmNlJyk/LmdldEF0dHJpYnV0ZSgnc3JjJyksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgY29uc3QgeyB0YWcsIHNyYywgd2lkdGgsIGhlaWdodCB9ID0gSFRNTEF0dHJpYnV0ZXM7XG5cbiAgICBpZiAodGFnID09PSAnYXVkaW8nKSB7XG4gICAgICByZXR1cm4gWydhdWRpbycsIHsgY29udHJvbHM6ICdjb250cm9scycsIGNvbnRyb2xzTGlzdDogJ25vZG93bmxvYWQnIH0sIFsnc291cmNlJywgeyBzcmMsIHR5cGU6ICdhdWRpby9tcDMnIH1dXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2lmcmFtZScsXG4gICAgICBtZXJnZUF0dHJpYnV0ZXMoXG4gICAgICAgIHtcbiAgICAgICAgICAnZGF0YS10eXBlJzogJ3ZpZGVvJyxcbiAgICAgICAgICBmcmFtZWJvcmRlcjogJzAnLFxuICAgICAgICAgIGFsbG93OiAnYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZScsXG4gICAgICAgICAgYWxsb3dmdWxsc2NyZWVuOiAnJyxcbiAgICAgICAgICBzcmMsXG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoID8geyB3aWR0aCB9IDoge30sXG4gICAgICAgIGhlaWdodCA/IHsgaGVpZ2h0IH0gOiB7fSxcbiAgICAgICksXG4gICAgXTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0TWVkaWE6IChhdHRycykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7IHR5cGU6IHRoaXMubmFtZSwgYXR0cnMgfSk7XG4gICAgICB9LFxuICAgICAgdXBkYXRlTWVkaWE6IChhdHRycykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcyh0aGlzLm5hbWUsIGF0dHJzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcblxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPE1lZGlhTm9kZVZpZXcgey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuY29uc3QgcmVtb3ZlRGlhbG9ncyA9ICgpID0+IHtcbiAgY29uc3QgcHJldkRpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaW5zZXJ0LW1lZGlhLWRpYWxvZycpO1xuXG4gIHByZXZEaWFsb2dzLmZvckVhY2goKHMpID0+IHMucmVtb3ZlKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydERpYWxvZyA9IChwcm9wcykgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBjb25zdCB7IHR5cGUsIGNhbGxiYWNrLCBvcHRpb25zLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgY29uc3QgaW5pdGlhbEJvZHlPdmVyZmxvdyA9IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c7XG5cbiAgcmVtb3ZlRGlhbG9ncygpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdpbnNlcnQtbWVkaWEtZGlhbG9nJztcbiAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKHZhbCwgZGF0YSkgPT4ge1xuICAgIGNhbGxiYWNrKHZhbCwgZGF0YSk7XG4gICAgbmV3RWwucmVtb3ZlKCk7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IGluaXRpYWxCb2R5T3ZlcmZsb3c7XG4gIH07XG5cbiAgY29uc3QgZWwgPSAoXG4gICAgPE1lZGlhRGlhbG9nXG4gICAgICB7Li4ucmVzdH1cbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17b3B0aW9ucy51cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICB0eXBlPXt0eXBlfVxuICAgICAgZGlzYWJsZVBvcnRhbD17dHJ1ZX1cbiAgICAgIG9wZW49e3RydWV9XG4gICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgLz5cbiAgKTtcblxuICBSZWFjdERPTS5yZW5kZXIoZWwsIG5ld0VsKTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0VsKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1lZGlhTm9kZVZpZXcoeyBlZGl0b3IsIG5vZGUsIHVwZGF0ZUF0dHJpYnV0ZXMsIGRlbGV0ZU5vZGUsIG9wdGlvbnMgfSkge1xuICBjb25zdCB7IHR5cGUsIHNyYywgd2lkdGgsIGhlaWdodCwgdGFnIH0gPSBub2RlLmF0dHJzO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoKSA9PiB7XG4gICAgaW5zZXJ0RGlhbG9nKHtcbiAgICAgIC4uLm5vZGUuYXR0cnMsXG4gICAgICBlZGl0OiB0cnVlLFxuICAgICAgY2FsbGJhY2s6ICh2YWwsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHVwZGF0ZUF0dHJpYnV0ZXMoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlTm9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yXG4gICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgIC5ydW4oKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbnNlcnREaWFsb2coe1xuICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICBlZGl0OiB0cnVlLFxuICAgICAgY2FsbGJhY2s6ICh2YWwsIGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHVwZGF0ZUF0dHJpYnV0ZXMoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlTm9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZWRpdG9yXG4gICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgIC5ydW4oKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxOb2RlVmlld1dyYXBwZXIgZGF0YS10eXBlPXt0eXBlfSBzdHlsZT17eyB3aWR0aCwgaGVpZ2h0IH19PlxuICAgICAge3RhZyA9PT0gJ2F1ZGlvJyA/IChcbiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIGNvbnRyb2xzTGlzdD1cIm5vZG93bmxvYWRcIj5cbiAgICAgICAgICA8c291cmNlIHNyYz17c3JjfSAvPlxuICAgICAgICA8L2F1ZGlvPlxuICAgICAgKSA6IChcbiAgICAgICAgPGlmcmFtZSBzcmM9e3NyY30gYWxsb3dGdWxsU2NyZWVuIGZyYW1lQm9yZGVyPVwiMFwiIC8+XG4gICAgICApfVxuXG4gICAgICA8TWVkaWFUb29sYmFyIG9uRWRpdD17aGFuZGxlRWRpdH0gb25SZW1vdmU9e2RlbGV0ZU5vZGV9IC8+XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG4iXX0=
@@ -13,11 +13,11 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _react2 = require("@tiptap/react");
15
15
 
16
- var _explicitConstructedResponse = _interopRequireDefault(require("../plugins/respArea/explicit-constructed-response"));
16
+ var _ExplicitConstructedResponse = _interopRequireDefault(require("../components/respArea/ExplicitConstructedResponse"));
17
17
 
18
- var _dragInTheBlank = _interopRequireDefault(require("../plugins/respArea/drag-in-the-blank"));
18
+ var _DragInTheBlank = _interopRequireDefault(require("../components/respArea/DragInTheBlank/DragInTheBlank"));
19
19
 
20
- var _inlineDropdown = _interopRequireDefault(require("../plugins/respArea/inline-dropdown"));
20
+ var _InlineDropdown = _interopRequireDefault(require("../components/respArea/InlineDropdown"));
21
21
 
22
22
  var _core = require("@tiptap/core");
23
23
 
@@ -108,7 +108,7 @@ var ExplicitConstructedResponseNode = _react2.Node.create({
108
108
  var _this = this;
109
109
 
110
110
  return (0, _react2.ReactNodeViewRenderer)(function (props) {
111
- return /*#__PURE__*/_react["default"].createElement(_explicitConstructedResponse["default"], _objectSpread(_objectSpread({}, props), {}, {
111
+ return /*#__PURE__*/_react["default"].createElement(_ExplicitConstructedResponse["default"], _objectSpread(_objectSpread({}, props), {}, {
112
112
  options: _this.options
113
113
  }));
114
114
  });
@@ -216,7 +216,7 @@ var DragInTheBlankNode = _react2.Node.create({
216
216
  var _this2 = this;
217
217
 
218
218
  return (0, _react2.ReactNodeViewRenderer)(function (props) {
219
- return /*#__PURE__*/_react["default"].createElement(_dragInTheBlank["default"], _objectSpread(_objectSpread({}, props), {}, {
219
+ return /*#__PURE__*/_react["default"].createElement(_DragInTheBlank["default"], _objectSpread(_objectSpread({}, props), {}, {
220
220
  options: _this2.options
221
221
  }));
222
222
  });
@@ -267,7 +267,7 @@ var InlineDropdownNode = _react2.Node.create({
267
267
  var _this3 = this;
268
268
 
269
269
  return (0, _react2.ReactNodeViewRenderer)(function (props) {
270
- return /*#__PURE__*/_react["default"].createElement(_inlineDropdown["default"], _objectSpread(_objectSpread({}, props), {}, {
270
+ return /*#__PURE__*/_react["default"].createElement(_InlineDropdown["default"], _objectSpread(_objectSpread({}, props), {}, {
271
271
  options: _this3.options
272
272
  }));
273
273
  });
@@ -275,4 +275,4 @@ var InlineDropdownNode = _react2.Node.create({
275
275
  });
276
276
 
277
277
  exports.InlineDropdownNode = InlineDropdownNode;
278
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYS5qcyJdLCJuYW1lcyI6WyJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJFeHRlbnNpb24iLCJjcmVhdGUiLCJuYW1lIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRSZXNwb25zZUFyZWEiLCJ0eXBlIiwidHIiLCJzdGF0ZSIsImRpc3BhdGNoIiwic2NoZW1hIiwic2VsZWN0aW9uIiwicG9zaXRpb24iLCIkZnJvbSIsInBvcyIsIlJFU1BfTUFQIiwibm9kZSIsIm5vZGVzIiwiaW5kZXgiLCJpZCIsInZhbHVlIiwiaW5zZXJ0IiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIk5vZGUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImRhdGFzZXQiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsIk1hdGhUZW1wbGF0ZWROb2RlIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEscUJBQXFCLEdBQUdDLGdCQUFVQyxNQUFWLENBQWlCO0FBQ3BEQyxFQUFBQSxJQUFJLEVBQUUsY0FEOEM7QUFFcERDLEVBQUFBLFdBRm9ELHlCQUV0QztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUUsNEJBQUNDLElBQUQ7QUFBQSxlQUFVLGdCQUE2QjtBQUFBLGNBQTFCQyxFQUEwQixRQUExQkEsRUFBMEI7QUFBQSxjQUF0QkMsS0FBc0IsUUFBdEJBLEtBQXNCO0FBQUEsY0FBZkMsUUFBZSxRQUFmQSxRQUFlO0FBQ3pELGNBQVFDLE1BQVIsR0FBOEJG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SW5saW5lTm9kZXMuanNcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb2RlLCBSZWFjdE5vZGVWaWV3UmVuZGVyZXIsIFJlYWN0UmVuZGVyZXIgfSBmcm9tIFwiQHRpcHRhcC9yZWFjdFwiO1xuaW1wb3J0IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSBmcm9tICcuLi9wbHVnaW5zL3Jlc3BBcmVhL2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlJztcbmltcG9ydCBEcmFnSW5UaGVCbGFuayBmcm9tICcuLi9wbHVnaW5zL3Jlc3BBcmVhL2RyYWctaW4tdGhlLWJsYW5rJztcbmltcG9ydCBJbmxpbmVEcm9wZG93biBmcm9tICcuLi9wbHVnaW5zL3Jlc3BBcmVhL2lubGluZS1kcm9wZG93bic7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBNYXRoVG9vbGJhciB9IGZyb20gXCJAcGllLWxpYi9tYXRoLXRvb2xiYXJcIjtcbmltcG9ydCB0aXBweSBmcm9tIFwidGlwcHkuanNcIjtcblxuZXhwb3J0IGNvbnN0IFJlc3BvbnNlQXJlYUV4dGVuc2lvbiA9IEV4dGVuc2lvbi5jcmVhdGUoe1xuICBuYW1lOiAncmVzcG9uc2VBcmVhJyxcbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluc2VydFJlc3BvbnNlQXJlYTogKHR5cGUpID0+ICh7IHRyLCBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjaGVtYSwgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuICAgICAgICBjb25zdCBSRVNQX01BUCA9IHtcbiAgICAgICAgICAnZHJhZy1pbi10aGUtYmxhbmsnOiAnZHJhZ19pbl90aGVfYmxhbmsnLFxuICAgICAgICAgICdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZSc6ICdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsXG4gICAgICAgICAgJ2lubGluZS1kcm9wZG93bic6ICdpbmxpbmVfZHJvcGRvd24nLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSBzY2hlbWEubm9kZXNbUkVTUF9NQVBbdHlwZV1dLmNyZWF0ZSh7XG4gICAgICAgICAgaW5kZXg6ICcxJyxcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgICAgdHIuaW5zZXJ0KHBvc2l0aW9uLCBub2RlKTtcbiAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSBOb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5kZXg6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdmFsdWU6IHsgZGVmYXVsdDogJycgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZVwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgICdkYXRhLXR5cGUnOiAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIE1hdGhUZW1wbGF0ZWQgTm9kZVxuICovXG5leHBvcnQgY29uc3QgTWF0aFRlbXBsYXRlZE5vZGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6ICdtYXRoX3RlbXBsYXRlZCcsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB2YWx1ZTogeyBkZWZhdWx0OiAnJyB9LFxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cIm1hdGhfdGVtcGxhdGVkXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtdHlwZSc6ICdtYXRoX3RlbXBsYXRlZCcsXG4gICAgICAgICdkYXRhLWluZGV4JzogSFRNTEF0dHJpYnV0ZXMuaW5kZXgsXG4gICAgICAgICdkYXRhLXZhbHVlJzogSFRNTEF0dHJpYnV0ZXMudmFsdWUsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKCkgPT4gPGRpdj48L2Rpdj4pO1xuICB9LFxufSk7XG5cbi8qKlxuICogRHJhZ0luVGhlQmxhbmsgTm9kZVxuICovXG5leHBvcnQgY29uc3QgRHJhZ0luVGhlQmxhbmtOb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnZHJhZ19pbl90aGVfYmxhbmsnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5kZXg6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgaWQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdmFsdWU6IHsgZGVmYXVsdDogJycgfSxcbiAgICAgIGluVGFibGU6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cImRyYWdfaW5fdGhlX2JsYW5rXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICBpZDogZWwuZGF0YXNldC5pZCxcbiAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgICAgICBpblRhYmxlOiBlbC5kYXRhc2V0LmluVGFibGUsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgICdkYXRhLXR5cGUnOiAnZHJhZ19pbl90aGVfYmxhbmsnLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS1pZCc6IEhUTUxBdHRyaWJ1dGVzLmlkLFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgICAnZGF0YS1pbi10YWJsZSc6IEhUTUxBdHRyaWJ1dGVzLmluVGFibGUsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8RHJhZ0luVGhlQmxhbmsgey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBJbmxpbmVEcm9wZG93biBOb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBJbmxpbmVEcm9wZG93bk5vZGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6ICdpbmxpbmVfZHJvcGRvd24nLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5kZXg6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdmFsdWU6IHsgZGVmYXVsdDogJycgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJpbmxpbmVfZHJvcGRvd25cIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgIHZhbHVlOiBlbC5kYXRhc2V0LnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ2lubGluZV9kcm9wZG93bicsXG4gICAgICAgICdkYXRhLWluZGV4JzogSFRNTEF0dHJpYnV0ZXMuaW5kZXgsXG4gICAgICAgICdkYXRhLXZhbHVlJzogSFRNTEF0dHJpYnV0ZXMudmFsdWUsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8SW5saW5lRHJvcGRvd24gey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcbiJdfQ==
278
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYS5qcyJdLCJuYW1lcyI6WyJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJFeHRlbnNpb24iLCJjcmVhdGUiLCJuYW1lIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRSZXNwb25zZUFyZWEiLCJ0eXBlIiwidHIiLCJzdGF0ZSIsImRpc3BhdGNoIiwic2NoZW1hIiwic2VsZWN0aW9uIiwicG9zaXRpb24iLCIkZnJvbSIsInBvcyIsIlJFU1BfTUFQIiwibm9kZSIsIm5vZGVzIiwiaW5kZXgiLCJpZCIsInZhbHVlIiwiaW5zZXJ0IiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIk5vZGUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImRhdGFzZXQiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsIk1hdGhUZW1wbGF0ZWROb2RlIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEscUJBQXFCLEdBQUdDLGdCQUFVQyxNQUFWLENBQWlCO0FBQ3BEQyxFQUFBQSxJQUFJLEVBQUUsY0FEOEM7QUFFcERDLEVBQUFBLFdBRm9ELHlCQUV0QztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUUsNEJBQUNDLElBQUQ7QUFBQSxlQUFVLGdCQUE2QjtBQUFBLGNBQTFCQyxFQUEwQixRQUExQkEsRUFBMEI7QUFBQSxjQUF0QkMsS0FBc0IsUUFBdEJBLEtBQXNCO0FBQUEsY0FBZkMsUUFBZSxRQUFmQSxRQUFlO0FBQ3pELGNBQVFDLE1BQVIsR0FBOEJG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SW5saW5lTm9kZXMuanNcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb2RlLCBSZWFjdE5vZGVWaWV3UmVuZGVyZXIsIFJlYWN0UmVuZGVyZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UgZnJvbSAnLi4vY29tcG9uZW50cy9yZXNwQXJlYS9FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UnO1xuaW1wb3J0IERyYWdJblRoZUJsYW5rIGZyb20gJy4uL2NvbXBvbmVudHMvcmVzcEFyZWEvRHJhZ0luVGhlQmxhbmsvRHJhZ0luVGhlQmxhbmsnO1xuaW1wb3J0IElubGluZURyb3Bkb3duIGZyb20gJy4uL2NvbXBvbmVudHMvcmVzcEFyZWEvSW5saW5lRHJvcGRvd24nO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE1hdGhUb29sYmFyIH0gZnJvbSAnQHBpZS1saWIvbWF0aC10b29sYmFyJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5cbmV4cG9ydCBjb25zdCBSZXNwb25zZUFyZWFFeHRlbnNpb24gPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogJ3Jlc3BvbnNlQXJlYScsXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbnNlcnRSZXNwb25zZUFyZWE6ICh0eXBlKSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBzY2hlbWEsIHNlbGVjdGlvbiB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZWN0aW9uLiRmcm9tLnBvcztcbiAgICAgICAgY29uc3QgUkVTUF9NQVAgPSB7XG4gICAgICAgICAgJ2RyYWctaW4tdGhlLWJsYW5rJzogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgICAgICAgICAnZXhwbGljaXQtY29uc3RydWN0ZWQtcmVzcG9uc2UnOiAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnLFxuICAgICAgICAgICdpbmxpbmUtZHJvcGRvd24nOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBub2RlID0gc2NoZW1hLm5vZGVzW1JFU1BfTUFQW3R5cGVdXS5jcmVhdGUoe1xuICAgICAgICAgIGluZGV4OiAnMScsXG4gICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgIHRyLmluc2VydChwb3NpdGlvbiwgbm9kZSk7XG4gICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59KTtcblxuLyoqXG4gKiBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UgTm9kZVxuICovXG5leHBvcnQgY29uc3QgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwiZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2VcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgIHZhbHVlOiBlbC5kYXRhc2V0LnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2Ugey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBNYXRoVGVtcGxhdGVkIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IE1hdGhUZW1wbGF0ZWROb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWF0aF90ZW1wbGF0ZWQnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5kZXg6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdmFsdWU6IHsgZGVmYXVsdDogJycgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJtYXRoX3RlbXBsYXRlZFwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgICdkYXRhLXR5cGUnOiAnbWF0aF90ZW1wbGF0ZWQnLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKCgpID0+IDxkaXY+PC9kaXY+KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIERyYWdJblRoZUJsYW5rIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IERyYWdJblRoZUJsYW5rTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGlkOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgICBpblRhYmxlOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJkcmFnX2luX3RoZV9ibGFua1wiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgaWQ6IGVsLmRhdGFzZXQuaWQsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgICAgaW5UYWJsZTogZWwuZGF0YXNldC5pblRhYmxlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtaWQnOiBIVE1MQXR0cmlidXRlcy5pZCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgICAgJ2RhdGEtaW4tdGFibGUnOiBIVE1MQXR0cmlidXRlcy5pblRhYmxlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPERyYWdJblRoZUJsYW5rIHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbi8qKlxuICogSW5saW5lRHJvcGRvd24gTm9kZVxuICovXG5leHBvcnQgY29uc3QgSW5saW5lRHJvcGRvd25Ob2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtdHlwZSc6ICdpbmxpbmVfZHJvcGRvd24nLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPElubGluZURyb3Bkb3duIHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG4iXX0=