@storybook/components 6.5.0-alpha.3 → 6.5.0-alpha.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 (496) hide show
  1. package/dist/cjs/ActionBar/ActionBar.js +4 -2
  2. package/dist/cjs/ActionBar/ActionBar.stories.js +1 -1
  3. package/dist/cjs/Button/Button.js +8 -6
  4. package/dist/cjs/Loader/Loader.js +12 -8
  5. package/dist/cjs/Loader/Loader.stories.js +1 -1
  6. package/dist/cjs/ScrollArea/GlobalScrollAreaStyles.js +1 -1
  7. package/dist/cjs/ScrollArea/OverlayScrollbars.js +33 -14
  8. package/dist/cjs/ScrollArea/ScrollArea.js +12 -11
  9. package/dist/cjs/ScrollArea/ScrollArea.stories.js +6 -6
  10. package/dist/cjs/Zoom/Zoom.js +1 -1
  11. package/dist/cjs/Zoom/Zoom.stories.js +9 -7
  12. package/dist/cjs/Zoom/ZoomElement.js +9 -8
  13. package/dist/cjs/Zoom/ZoomIFrame.js +8 -8
  14. package/dist/cjs/addon-panel/addon-panel.js +5 -5
  15. package/dist/cjs/bar/bar.js +16 -10
  16. package/dist/cjs/bar/button.js +6 -4
  17. package/dist/cjs/bar/button.stories.js +1 -1
  18. package/dist/cjs/bar/separator.js +7 -7
  19. package/dist/cjs/blocks/ArgsTable/ArgControl.js +8 -6
  20. package/dist/cjs/blocks/ArgsTable/ArgJsDoc.js +5 -3
  21. package/dist/cjs/blocks/ArgsTable/ArgRow.js +2 -2
  22. package/dist/cjs/blocks/ArgsTable/ArgRow.stories.js +3 -3
  23. package/dist/cjs/blocks/ArgsTable/ArgValue.js +12 -12
  24. package/dist/cjs/blocks/ArgsTable/ArgsTable.js +12 -8
  25. package/dist/cjs/blocks/ArgsTable/ArgsTable.stories.js +6 -6
  26. package/dist/cjs/blocks/ArgsTable/SectionRow.js +8 -6
  27. package/dist/cjs/blocks/ArgsTable/SectionRow.stories.js +3 -3
  28. package/dist/cjs/blocks/ArgsTable/TabbedArgsTable.js +10 -6
  29. package/dist/cjs/blocks/ArgsTable/TabbedArgsTable.stories.js +1 -1
  30. package/dist/cjs/blocks/ArgsTable/index.js +2 -0
  31. package/dist/cjs/blocks/ColorPalette.js +5 -3
  32. package/dist/cjs/blocks/ColorPalette.stories.js +1 -1
  33. package/dist/cjs/blocks/Description.js +4 -4
  34. package/dist/cjs/blocks/Description.stories.js +1 -1
  35. package/dist/cjs/blocks/DocsPage.js +4 -4
  36. package/dist/cjs/blocks/DocsPage.stories.js +6 -6
  37. package/dist/cjs/blocks/EmptyBlock.js +2 -2
  38. package/dist/cjs/blocks/EmptyBlock.stories.js +1 -1
  39. package/dist/cjs/blocks/IFrame.js +13 -11
  40. package/dist/cjs/blocks/IconGallery.js +6 -4
  41. package/dist/cjs/blocks/IconGallery.stories.js +1 -1
  42. package/dist/cjs/blocks/Preview.js +16 -12
  43. package/dist/cjs/blocks/Preview.stories.js +6 -6
  44. package/dist/cjs/blocks/Source.js +6 -4
  45. package/dist/cjs/blocks/Source.stories.js +1 -1
  46. package/dist/cjs/blocks/Story.js +16 -10
  47. package/dist/cjs/blocks/Story.stories.js +9 -7
  48. package/dist/cjs/blocks/Toolbar.js +11 -9
  49. package/dist/cjs/blocks/Typeset.js +5 -3
  50. package/dist/cjs/blocks/Typeset.stories.js +1 -1
  51. package/dist/cjs/blocks/index.js +2 -0
  52. package/dist/cjs/brand/StorybookLogo.js +5 -3
  53. package/dist/cjs/brand/StorybookLogo.stories.js +1 -1
  54. package/dist/cjs/controls/Boolean.js +5 -5
  55. package/dist/cjs/controls/Boolean.stories.js +9 -7
  56. package/dist/cjs/controls/Color.js +13 -11
  57. package/dist/cjs/controls/Color.stories.js +9 -7
  58. package/dist/cjs/controls/Date.js +8 -8
  59. package/dist/cjs/controls/Date.stories.js +9 -7
  60. package/dist/cjs/controls/Files.js +7 -5
  61. package/dist/cjs/controls/Number.js +17 -8
  62. package/dist/cjs/controls/Number.stories.js +9 -7
  63. package/dist/cjs/controls/Object.js +8 -6
  64. package/dist/cjs/controls/Object.stories.js +9 -7
  65. package/dist/cjs/controls/Range.js +7 -7
  66. package/dist/cjs/controls/Range.stories.js +9 -7
  67. package/dist/cjs/controls/Text.js +8 -6
  68. package/dist/cjs/controls/Text.stories.js +9 -7
  69. package/dist/cjs/controls/helpers.js +2 -2
  70. package/dist/cjs/controls/index.js +8 -8
  71. package/dist/cjs/controls/options/Checkbox.js +9 -7
  72. package/dist/cjs/controls/options/Options.js +2 -0
  73. package/dist/cjs/controls/options/Options.stories.js +9 -7
  74. package/dist/cjs/controls/options/Select.js +2 -0
  75. package/dist/cjs/controls/options/helpers.js +7 -5
  76. package/dist/cjs/controls/options/index.js +2 -0
  77. package/dist/cjs/controls/react-editable-json-tree/JsonNodes.js +1748 -0
  78. package/dist/cjs/controls/react-editable-json-tree/index.js +36 -83
  79. package/dist/cjs/controls/react-editable-json-tree/types/dataTypes.js +12 -15
  80. package/dist/cjs/controls/react-editable-json-tree/types/inputUsageTypes.js +3 -6
  81. package/dist/cjs/controls/react-editable-json-tree/utils/objectTypes.js +3 -3
  82. package/dist/cjs/controls/react-editable-json-tree/utils/parse.js +2 -5
  83. package/dist/cjs/controls/react-editable-json-tree/utils/styles.js +1 -1
  84. package/dist/cjs/controls/types.js +5 -1
  85. package/dist/cjs/form/field/field.js +3 -1
  86. package/dist/cjs/form/form.stories.js +5 -3
  87. package/dist/cjs/form/input/input.js +15 -10
  88. package/dist/cjs/html.js +2 -0
  89. package/dist/cjs/icon/icon.js +28 -7
  90. package/dist/cjs/icon/icon.stories.js +2 -0
  91. package/dist/cjs/icon/icons.js +1 -1
  92. package/dist/cjs/index.js +296 -73
  93. package/dist/cjs/placeholder/placeholder.js +15 -9
  94. package/dist/cjs/placeholder/placeholder.stories.js +6 -6
  95. package/dist/cjs/spaced/Spaced.js +3 -1
  96. package/dist/cjs/syntaxhighlighter/lazy-syntaxhighlighter.js +8 -8
  97. package/dist/cjs/syntaxhighlighter/syntaxhighlighter-types.js +5 -1
  98. package/dist/cjs/syntaxhighlighter/syntaxhighlighter.js +15 -10
  99. package/dist/cjs/syntaxhighlighter/syntaxhighlighter.stories.js +5 -5
  100. package/dist/cjs/tabs/tabs.js +13 -11
  101. package/dist/cjs/tabs/tabs.stories.js +6 -4
  102. package/dist/cjs/tooltip/ListItem.js +7 -4
  103. package/dist/cjs/tooltip/Tooltip.js +5 -3
  104. package/dist/cjs/tooltip/TooltipLinkList.js +12 -9
  105. package/dist/cjs/tooltip/TooltipLinkList.stories.js +5 -5
  106. package/dist/cjs/tooltip/TooltipMessage.js +3 -1
  107. package/dist/cjs/tooltip/TooltipNote.js +3 -1
  108. package/dist/cjs/tooltip/WithTooltip.js +14 -9
  109. package/dist/cjs/tooltip/lazy-WithTooltip.js +9 -10
  110. package/dist/cjs/typography/DocumentFormatting.js +6 -555
  111. package/dist/cjs/typography/DocumentWrapper.stories.js +1 -1
  112. package/dist/cjs/typography/ResetWrapper.js +21 -0
  113. package/dist/cjs/typography/components.js +126 -0
  114. package/dist/cjs/typography/elements/A.js +36 -0
  115. package/dist/cjs/typography/elements/Blockquote.js +27 -0
  116. package/dist/cjs/typography/elements/Code.js +109 -0
  117. package/dist/cjs/typography/elements/DL.js +44 -0
  118. package/dist/cjs/typography/elements/Div.js +14 -0
  119. package/dist/cjs/typography/elements/H1.js +20 -0
  120. package/dist/cjs/typography/elements/H2.js +21 -0
  121. package/dist/cjs/typography/elements/H3.js +19 -0
  122. package/dist/cjs/typography/elements/H4.js +19 -0
  123. package/dist/cjs/typography/elements/H5.js +19 -0
  124. package/dist/cjs/typography/elements/H6.js +20 -0
  125. package/dist/cjs/typography/elements/HR.js +20 -0
  126. package/dist/cjs/typography/elements/Img.js +14 -0
  127. package/dist/cjs/typography/elements/LI.js +31 -0
  128. package/dist/cjs/typography/elements/Link.js +44 -0
  129. package/dist/cjs/typography/elements/OL.js +28 -0
  130. package/dist/cjs/typography/elements/P.js +24 -0
  131. package/dist/cjs/typography/elements/Pre.js +53 -0
  132. package/dist/cjs/typography/elements/Span.js +92 -0
  133. package/dist/cjs/typography/elements/TT.js +14 -0
  134. package/dist/cjs/typography/elements/Table.js +50 -0
  135. package/dist/cjs/typography/elements/UL.js +28 -0
  136. package/dist/cjs/typography/{shared.js → lib/common.js} +1 -1
  137. package/dist/cjs/typography/lib/isReactChildString.js +12 -0
  138. package/dist/cjs/typography/link/link.js +5 -3
  139. package/dist/cjs/utils/getStoryHref.js +71 -0
  140. package/dist/esm/ActionBar/ActionBar.js +5 -3
  141. package/dist/esm/Button/Button.js +3 -1
  142. package/dist/esm/Loader/Loader.js +5 -3
  143. package/dist/esm/ScrollArea/OverlayScrollbars.js +12 -10
  144. package/dist/esm/ScrollArea/ScrollArea.js +7 -5
  145. package/dist/esm/Zoom/Zoom.js +4 -4
  146. package/dist/esm/Zoom/Zoom.stories.js +3 -2
  147. package/dist/esm/Zoom/ZoomElement.js +5 -4
  148. package/dist/esm/Zoom/ZoomIFrame.js +6 -6
  149. package/dist/esm/bar/bar.js +7 -4
  150. package/dist/esm/bar/button.js +2 -1
  151. package/dist/esm/bar/separator.js +1 -0
  152. package/dist/esm/blocks/ArgsTable/ArgControl.js +3 -2
  153. package/dist/esm/blocks/ArgsTable/ArgJsDoc.js +2 -1
  154. package/dist/esm/blocks/ArgsTable/ArgRow.js +1 -1
  155. package/dist/esm/blocks/ArgsTable/ArgRow.stories.js +1 -1
  156. package/dist/esm/blocks/ArgsTable/ArgValue.js +5 -5
  157. package/dist/esm/blocks/ArgsTable/ArgsTable.js +6 -4
  158. package/dist/esm/blocks/ArgsTable/SectionRow.js +3 -2
  159. package/dist/esm/blocks/ArgsTable/SectionRow.stories.js +1 -1
  160. package/dist/esm/blocks/ArgsTable/TabbedArgsTable.js +17 -14
  161. package/dist/esm/blocks/ColorPalette.js +4 -2
  162. package/dist/esm/blocks/Description.js +2 -2
  163. package/dist/esm/blocks/DocsPage.js +1 -1
  164. package/dist/esm/blocks/EmptyBlock.js +1 -1
  165. package/dist/esm/blocks/IFrame.js +16 -14
  166. package/dist/esm/blocks/IconGallery.js +4 -2
  167. package/dist/esm/blocks/Preview.js +17 -15
  168. package/dist/esm/blocks/Source.js +2 -1
  169. package/dist/esm/blocks/Story.js +10 -5
  170. package/dist/esm/blocks/Story.stories.js +3 -2
  171. package/dist/esm/blocks/Toolbar.js +8 -6
  172. package/dist/esm/blocks/Typeset.js +6 -4
  173. package/dist/esm/brand/StorybookLogo.js +2 -1
  174. package/dist/esm/controls/Boolean.stories.js +3 -2
  175. package/dist/esm/controls/Color.js +7 -5
  176. package/dist/esm/controls/Color.stories.js +3 -2
  177. package/dist/esm/controls/Date.js +3 -3
  178. package/dist/esm/controls/Date.stories.js +3 -2
  179. package/dist/esm/controls/Files.js +4 -3
  180. package/dist/esm/controls/Number.js +11 -3
  181. package/dist/esm/controls/Number.stories.js +3 -2
  182. package/dist/esm/controls/Object.js +4 -4
  183. package/dist/esm/controls/Object.stories.js +3 -2
  184. package/dist/esm/controls/Range.js +1 -1
  185. package/dist/esm/controls/Range.stories.js +3 -2
  186. package/dist/esm/controls/Text.js +3 -2
  187. package/dist/esm/controls/Text.stories.js +3 -2
  188. package/dist/esm/controls/helpers.js +1 -1
  189. package/dist/esm/controls/index.js +3 -3
  190. package/dist/esm/controls/options/Checkbox.js +4 -3
  191. package/dist/esm/controls/options/Options.js +1 -0
  192. package/dist/esm/controls/options/Options.stories.js +3 -2
  193. package/dist/esm/controls/options/Select.js +1 -0
  194. package/dist/esm/controls/options/helpers.js +4 -3
  195. package/dist/esm/controls/react-editable-json-tree/JsonNodes.js +1703 -0
  196. package/dist/esm/controls/react-editable-json-tree/index.js +29 -73
  197. package/dist/esm/controls/react-editable-json-tree/types/dataTypes.js +1 -13
  198. package/dist/esm/controls/react-editable-json-tree/types/deltaTypes.js +1 -3
  199. package/dist/esm/controls/react-editable-json-tree/types/inputUsageTypes.js +1 -4
  200. package/dist/esm/controls/react-editable-json-tree/utils/objectTypes.js +5 -9
  201. package/dist/esm/controls/react-editable-json-tree/utils/parse.js +2 -4
  202. package/dist/esm/controls/react-editable-json-tree/utils/styles.js +4 -7
  203. package/dist/esm/controls/types.js +1 -0
  204. package/dist/esm/form/field/field.js +5 -3
  205. package/dist/esm/form/form.stories.js +3 -2
  206. package/dist/esm/form/input/input.js +11 -6
  207. package/dist/esm/icon/icon.js +7 -6
  208. package/dist/esm/icon/icon.stories.js +1 -0
  209. package/dist/esm/index.js +30 -5
  210. package/dist/esm/placeholder/placeholder.js +16 -12
  211. package/dist/esm/spaced/Spaced.js +6 -4
  212. package/dist/esm/syntaxhighlighter/lazy-syntaxhighlighter.js +3 -3
  213. package/dist/esm/syntaxhighlighter/syntaxhighlighter-types.js +1 -0
  214. package/dist/esm/syntaxhighlighter/syntaxhighlighter.js +17 -14
  215. package/dist/esm/tabs/tabs.js +7 -6
  216. package/dist/esm/tabs/tabs.stories.js +2 -1
  217. package/dist/esm/tooltip/ListItem.js +7 -4
  218. package/dist/esm/tooltip/Tooltip.js +4 -2
  219. package/dist/esm/tooltip/TooltipLinkList.js +5 -3
  220. package/dist/esm/tooltip/TooltipMessage.js +6 -4
  221. package/dist/esm/tooltip/TooltipNote.js +5 -3
  222. package/dist/esm/tooltip/WithTooltip.js +7 -4
  223. package/dist/esm/tooltip/lazy-WithTooltip.js +4 -4
  224. package/dist/esm/typography/DocumentFormatting.js +4 -480
  225. package/dist/esm/typography/ResetWrapper.js +11 -0
  226. package/dist/esm/typography/components.js +92 -0
  227. package/dist/esm/typography/elements/A.js +25 -0
  228. package/dist/esm/typography/elements/Blockquote.js +16 -0
  229. package/dist/esm/typography/elements/Code.js +64 -0
  230. package/dist/esm/typography/elements/DL.js +32 -0
  231. package/dist/esm/typography/elements/Div.js +3 -0
  232. package/dist/esm/typography/elements/H1.js +9 -0
  233. package/dist/esm/typography/elements/H2.js +10 -0
  234. package/dist/esm/typography/elements/H3.js +8 -0
  235. package/dist/esm/typography/elements/H4.js +8 -0
  236. package/dist/esm/typography/elements/H5.js +8 -0
  237. package/dist/esm/typography/elements/H6.js +9 -0
  238. package/dist/esm/typography/elements/HR.js +10 -0
  239. package/dist/esm/typography/elements/Img.js +4 -0
  240. package/dist/esm/typography/elements/LI.js +20 -0
  241. package/dist/esm/typography/elements/Link.js +29 -0
  242. package/dist/esm/typography/elements/OL.js +15 -0
  243. package/dist/esm/typography/elements/P.js +13 -0
  244. package/dist/esm/typography/elements/Pre.js +42 -0
  245. package/dist/esm/typography/elements/Span.js +81 -0
  246. package/dist/esm/typography/elements/TT.js +3 -0
  247. package/dist/esm/typography/elements/Table.js +39 -0
  248. package/dist/esm/typography/elements/UL.js +15 -0
  249. package/dist/esm/typography/{shared.js → lib/common.js} +0 -0
  250. package/dist/esm/typography/lib/isReactChildString.js +3 -0
  251. package/dist/esm/typography/link/link.js +2 -1
  252. package/dist/esm/utils/getStoryHref.js +46 -0
  253. package/dist/modern/ActionBar/ActionBar.js +4 -2
  254. package/dist/modern/Badge/Badge.js +1 -1
  255. package/dist/modern/Button/Button.js +3 -1
  256. package/dist/modern/Loader/Loader.js +4 -2
  257. package/dist/modern/ScrollArea/OverlayScrollbars.js +10 -8
  258. package/dist/modern/ScrollArea/ScrollArea.js +7 -5
  259. package/dist/modern/Zoom/Zoom.js +4 -4
  260. package/dist/modern/Zoom/ZoomElement.js +2 -2
  261. package/dist/modern/bar/bar.js +4 -2
  262. package/dist/modern/bar/button.js +4 -2
  263. package/dist/modern/blocks/ArgsTable/ArgJsDoc.js +1 -1
  264. package/dist/modern/blocks/ArgsTable/ArgRow.js +1 -1
  265. package/dist/modern/blocks/ArgsTable/ArgRow.stories.js +1 -1
  266. package/dist/modern/blocks/ArgsTable/ArgValue.js +1 -1
  267. package/dist/modern/blocks/ArgsTable/ArgsTable.js +1 -1
  268. package/dist/modern/blocks/ArgsTable/SectionRow.stories.js +1 -1
  269. package/dist/modern/blocks/ArgsTable/TabbedArgsTable.js +4 -2
  270. package/dist/modern/blocks/ColorPalette.js +5 -3
  271. package/dist/modern/blocks/Description.js +2 -2
  272. package/dist/modern/blocks/DocsPage.js +1 -1
  273. package/dist/modern/blocks/EmptyBlock.js +1 -1
  274. package/dist/modern/blocks/IFrame.js +3 -1
  275. package/dist/modern/blocks/IconGallery.js +5 -3
  276. package/dist/modern/blocks/Preview.js +5 -3
  277. package/dist/modern/blocks/Source.js +3 -1
  278. package/dist/modern/blocks/Story.js +9 -4
  279. package/dist/modern/blocks/Toolbar.js +6 -3
  280. package/dist/modern/blocks/Typeset.js +5 -3
  281. package/dist/modern/brand/StorybookIcon.js +1 -1
  282. package/dist/modern/brand/StorybookLogo.js +4 -2
  283. package/dist/modern/controls/Color.js +4 -2
  284. package/dist/modern/controls/Number.js +7 -0
  285. package/dist/modern/controls/Object.js +1 -2
  286. package/dist/modern/controls/index.js +2 -2
  287. package/dist/modern/controls/react-editable-json-tree/JsonNodes.js +1539 -0
  288. package/dist/modern/controls/react-editable-json-tree/index.js +18 -57
  289. package/dist/modern/controls/react-editable-json-tree/types/dataTypes.js +1 -13
  290. package/dist/modern/controls/react-editable-json-tree/types/deltaTypes.js +1 -3
  291. package/dist/modern/controls/react-editable-json-tree/types/inputUsageTypes.js +1 -4
  292. package/dist/modern/controls/react-editable-json-tree/utils/objectTypes.js +3 -7
  293. package/dist/modern/controls/react-editable-json-tree/utils/parse.js +2 -4
  294. package/dist/modern/controls/react-editable-json-tree/utils/styles.js +4 -7
  295. package/dist/modern/controls/types.js +1 -0
  296. package/dist/modern/form/field/field.js +4 -2
  297. package/dist/modern/form/input/input.js +9 -4
  298. package/dist/modern/icon/icon.js +6 -4
  299. package/dist/modern/index.js +29 -5
  300. package/dist/modern/placeholder/placeholder.js +4 -2
  301. package/dist/modern/spaced/Spaced.js +4 -2
  302. package/dist/modern/syntaxhighlighter/lazy-syntaxhighlighter.js +2 -2
  303. package/dist/modern/syntaxhighlighter/syntaxhighlighter-types.js +1 -0
  304. package/dist/modern/syntaxhighlighter/syntaxhighlighter.js +4 -2
  305. package/dist/modern/tooltip/ListItem.js +7 -4
  306. package/dist/modern/tooltip/Tooltip.js +4 -2
  307. package/dist/modern/tooltip/TooltipLinkList.js +6 -3
  308. package/dist/modern/tooltip/TooltipMessage.js +4 -2
  309. package/dist/modern/tooltip/TooltipNote.js +4 -2
  310. package/dist/modern/tooltip/WithTooltip.js +7 -4
  311. package/dist/modern/tooltip/lazy-WithTooltip.js +3 -3
  312. package/dist/modern/typography/DocumentFormatting.js +2 -413
  313. package/dist/modern/typography/ResetWrapper.js +11 -0
  314. package/dist/modern/typography/components.js +48 -0
  315. package/dist/modern/typography/elements/A.js +24 -0
  316. package/dist/modern/typography/elements/Blockquote.js +15 -0
  317. package/dist/modern/typography/elements/Code.js +52 -0
  318. package/dist/modern/typography/elements/DL.js +31 -0
  319. package/dist/modern/typography/elements/Div.js +3 -0
  320. package/dist/modern/typography/elements/H1.js +8 -0
  321. package/dist/modern/typography/elements/H2.js +9 -0
  322. package/dist/modern/typography/elements/H3.js +7 -0
  323. package/dist/modern/typography/elements/H4.js +7 -0
  324. package/dist/modern/typography/elements/H5.js +7 -0
  325. package/dist/modern/typography/elements/H6.js +8 -0
  326. package/dist/modern/typography/elements/HR.js +9 -0
  327. package/dist/modern/typography/elements/Img.js +4 -0
  328. package/dist/modern/typography/elements/LI.js +19 -0
  329. package/dist/modern/typography/elements/Link.js +24 -0
  330. package/dist/modern/typography/elements/OL.js +14 -0
  331. package/dist/modern/typography/elements/P.js +12 -0
  332. package/dist/modern/typography/elements/Pre.js +41 -0
  333. package/dist/modern/typography/elements/Span.js +80 -0
  334. package/dist/modern/typography/elements/TT.js +3 -0
  335. package/dist/modern/typography/elements/Table.js +38 -0
  336. package/dist/modern/typography/elements/UL.js +14 -0
  337. package/dist/modern/typography/{shared.js → lib/common.js} +0 -0
  338. package/dist/modern/typography/lib/isReactChildString.js +1 -0
  339. package/dist/modern/typography/link/link.js +4 -2
  340. package/dist/modern/utils/getStoryHref.js +13 -0
  341. package/dist/ts3.4/Button/Button.d.ts +2 -2
  342. package/dist/ts3.4/Colors/SideBySide.d.ts +1 -1
  343. package/dist/ts3.4/Loader/Loader.d.ts +1 -1
  344. package/dist/ts3.4/ScrollArea/OverlayScrollbars.d.ts +3 -3
  345. package/dist/ts3.4/Zoom/Zoom.d.ts +4 -4
  346. package/dist/ts3.4/Zoom/ZoomIFrame.d.ts +2 -2
  347. package/dist/ts3.4/bar/button.d.ts +6 -6
  348. package/dist/ts3.4/blocks/ArgsTable/ArgJsDoc.d.ts +1 -1
  349. package/dist/ts3.4/blocks/ColorPalette.d.ts +2 -2
  350. package/dist/ts3.4/blocks/DocsPage.d.ts +1 -1
  351. package/dist/ts3.4/blocks/Story.d.ts +1 -1
  352. package/dist/ts3.4/controls/Color.d.ts +2 -2
  353. package/dist/ts3.4/controls/Object.d.ts +2 -2
  354. package/dist/ts3.4/controls/index.d.ts +5 -4
  355. package/dist/ts3.4/controls/react-editable-json-tree/JsonNodes.d.ts +247 -0
  356. package/dist/ts3.4/controls/react-editable-json-tree/index.d.ts +42 -0
  357. package/dist/ts3.4/controls/react-editable-json-tree/types/dataTypes.d.ts +12 -0
  358. package/dist/ts3.4/controls/react-editable-json-tree/types/deltaTypes.d.ts +4 -0
  359. package/dist/ts3.4/controls/react-editable-json-tree/types/inputUsageTypes.d.ts +3 -0
  360. package/dist/ts3.4/controls/react-editable-json-tree/utils/objectTypes.d.ts +13 -0
  361. package/dist/ts3.4/controls/react-editable-json-tree/utils/parse.d.ts +6 -0
  362. package/dist/ts3.4/controls/react-editable-json-tree/utils/styles.d.ts +59 -0
  363. package/dist/ts3.4/form/index.d.ts +4 -4
  364. package/dist/ts3.4/form/input/input.d.ts +3 -3
  365. package/dist/ts3.4/index.d.ts +46 -2
  366. package/dist/ts3.4/syntaxhighlighter/lazy-syntaxhighlighter.d.ts +2 -2
  367. package/dist/ts3.4/syntaxhighlighter/syntaxhighlighter-types.d.ts +2 -2
  368. package/dist/ts3.4/tabs/tabs.d.ts +1 -1
  369. package/dist/ts3.4/tooltip/ListItem.d.ts +1 -1
  370. package/dist/ts3.4/tooltip/lazy-WithTooltip.d.ts +3 -3
  371. package/dist/ts3.4/typography/DocumentFormatting.d.ts +4 -55
  372. package/dist/ts3.4/typography/ResetWrapper.d.ts +9 -0
  373. package/dist/ts3.4/typography/components.d.ts +25 -0
  374. package/dist/ts3.4/typography/elements/A.d.ts +6 -0
  375. package/dist/ts3.4/typography/elements/Blockquote.d.ts +6 -0
  376. package/dist/ts3.4/typography/elements/Code.d.ts +6 -0
  377. package/dist/ts3.4/typography/elements/DL.d.ts +4 -0
  378. package/dist/ts3.4/typography/elements/Div.d.ts +4 -0
  379. package/dist/ts3.4/typography/elements/H1.d.ts +6 -0
  380. package/dist/ts3.4/typography/elements/H2.d.ts +6 -0
  381. package/dist/ts3.4/typography/elements/H3.d.ts +6 -0
  382. package/dist/ts3.4/typography/elements/H4.d.ts +6 -0
  383. package/dist/ts3.4/typography/elements/H5.d.ts +6 -0
  384. package/dist/ts3.4/typography/elements/H6.d.ts +6 -0
  385. package/dist/ts3.4/typography/elements/HR.d.ts +2 -0
  386. package/dist/ts3.4/typography/elements/Img.d.ts +2 -0
  387. package/dist/ts3.4/typography/elements/LI.d.ts +6 -0
  388. package/dist/ts3.4/typography/elements/Link.d.ts +2 -0
  389. package/dist/ts3.4/typography/elements/OL.d.ts +4 -0
  390. package/dist/ts3.4/typography/elements/P.d.ts +6 -0
  391. package/dist/ts3.4/typography/elements/Pre.d.ts +6 -0
  392. package/dist/ts3.4/typography/elements/Span.d.ts +6 -0
  393. package/dist/ts3.4/typography/elements/TT.d.ts +4 -0
  394. package/dist/ts3.4/typography/elements/Table.d.ts +6 -0
  395. package/dist/ts3.4/typography/elements/UL.d.ts +4 -0
  396. package/dist/ts3.4/typography/{shared.d.ts → lib/common.d.ts} +0 -0
  397. package/dist/ts3.4/typography/lib/isReactChildString.d.ts +2 -0
  398. package/dist/ts3.4/utils/getStoryHref.d.ts +1 -0
  399. package/dist/ts3.9/Button/Button.d.ts +2 -2
  400. package/dist/ts3.9/Colors/SideBySide.d.ts +1 -1
  401. package/dist/ts3.9/Loader/Loader.d.ts +1 -1
  402. package/dist/ts3.9/ScrollArea/OverlayScrollbars.d.ts +3 -3
  403. package/dist/ts3.9/Zoom/Zoom.d.ts +4 -4
  404. package/dist/ts3.9/Zoom/ZoomIFrame.d.ts +2 -2
  405. package/dist/ts3.9/bar/button.d.ts +6 -6
  406. package/dist/ts3.9/blocks/ArgsTable/ArgJsDoc.d.ts +1 -1
  407. package/dist/ts3.9/blocks/ColorPalette.d.ts +2 -2
  408. package/dist/ts3.9/blocks/DocsPage.d.ts +1 -1
  409. package/dist/ts3.9/blocks/Story.d.ts +1 -1
  410. package/dist/ts3.9/controls/Color.d.ts +2 -2
  411. package/dist/ts3.9/controls/Object.d.ts +2 -2
  412. package/dist/ts3.9/controls/index.d.ts +5 -4
  413. package/dist/ts3.9/controls/react-editable-json-tree/JsonNodes.d.ts +247 -0
  414. package/dist/ts3.9/controls/react-editable-json-tree/index.d.ts +42 -0
  415. package/dist/ts3.9/controls/react-editable-json-tree/types/dataTypes.d.ts +12 -0
  416. package/dist/ts3.9/controls/react-editable-json-tree/types/deltaTypes.d.ts +4 -0
  417. package/dist/ts3.9/controls/react-editable-json-tree/types/inputUsageTypes.d.ts +3 -0
  418. package/dist/ts3.9/controls/react-editable-json-tree/utils/objectTypes.d.ts +13 -0
  419. package/dist/ts3.9/controls/react-editable-json-tree/utils/parse.d.ts +6 -0
  420. package/dist/ts3.9/controls/react-editable-json-tree/utils/styles.d.ts +59 -0
  421. package/dist/ts3.9/form/index.d.ts +4 -4
  422. package/dist/ts3.9/form/input/input.d.ts +3 -3
  423. package/dist/ts3.9/index.d.ts +46 -2
  424. package/dist/ts3.9/syntaxhighlighter/lazy-syntaxhighlighter.d.ts +2 -2
  425. package/dist/ts3.9/syntaxhighlighter/syntaxhighlighter-types.d.ts +2 -2
  426. package/dist/ts3.9/tabs/tabs.d.ts +1 -1
  427. package/dist/ts3.9/tooltip/ListItem.d.ts +1 -1
  428. package/dist/ts3.9/tooltip/lazy-WithTooltip.d.ts +3 -3
  429. package/dist/ts3.9/typography/DocumentFormatting.d.ts +4 -55
  430. package/dist/ts3.9/typography/ResetWrapper.d.ts +9 -0
  431. package/dist/ts3.9/typography/components.d.ts +25 -0
  432. package/dist/ts3.9/typography/elements/A.d.ts +6 -0
  433. package/dist/ts3.9/typography/elements/Blockquote.d.ts +6 -0
  434. package/dist/ts3.9/typography/elements/Code.d.ts +6 -0
  435. package/dist/ts3.9/typography/elements/DL.d.ts +4 -0
  436. package/dist/ts3.9/typography/elements/Div.d.ts +4 -0
  437. package/dist/ts3.9/typography/elements/H1.d.ts +6 -0
  438. package/dist/ts3.9/typography/elements/H2.d.ts +6 -0
  439. package/dist/ts3.9/typography/elements/H3.d.ts +6 -0
  440. package/dist/ts3.9/typography/elements/H4.d.ts +6 -0
  441. package/dist/ts3.9/typography/elements/H5.d.ts +6 -0
  442. package/dist/ts3.9/typography/elements/H6.d.ts +6 -0
  443. package/dist/ts3.9/typography/elements/HR.d.ts +2 -0
  444. package/dist/ts3.9/typography/elements/Img.d.ts +2 -0
  445. package/dist/ts3.9/typography/elements/LI.d.ts +6 -0
  446. package/dist/ts3.9/typography/elements/Link.d.ts +2 -0
  447. package/dist/ts3.9/typography/elements/OL.d.ts +4 -0
  448. package/dist/ts3.9/typography/elements/P.d.ts +6 -0
  449. package/dist/ts3.9/typography/elements/Pre.d.ts +6 -0
  450. package/dist/ts3.9/typography/elements/Span.d.ts +6 -0
  451. package/dist/ts3.9/typography/elements/TT.d.ts +4 -0
  452. package/dist/ts3.9/typography/elements/Table.d.ts +6 -0
  453. package/dist/ts3.9/typography/elements/UL.d.ts +4 -0
  454. package/dist/ts3.9/typography/{shared.d.ts → lib/common.d.ts} +1 -1
  455. package/dist/ts3.9/typography/lib/isReactChildString.d.ts +2 -0
  456. package/dist/ts3.9/utils/getStoryHref.d.ts +1 -0
  457. package/package.json +6 -5
  458. package/dist/cjs/Colors/colorpalette.stories.mdx +0 -125
  459. package/dist/cjs/blocks/DocsPageExampleCaption.md +0 -92
  460. package/dist/cjs/blocks/DocsPageExampleCaption.mdx +0 -92
  461. package/dist/cjs/controls/react-editable-json-tree/LICENSE.md +0 -14
  462. package/dist/cjs/controls/react-editable-json-tree/components/JsonAddValue.js +0 -228
  463. package/dist/cjs/controls/react-editable-json-tree/components/JsonArray.js +0 -507
  464. package/dist/cjs/controls/react-editable-json-tree/components/JsonFunctionValue.js +0 -321
  465. package/dist/cjs/controls/react-editable-json-tree/components/JsonNode.js +0 -422
  466. package/dist/cjs/controls/react-editable-json-tree/components/JsonObject.js +0 -509
  467. package/dist/cjs/controls/react-editable-json-tree/components/JsonValue.js +0 -312
  468. package/dist/cjs/typings.d.js +0 -1
  469. package/dist/cjs/typography/DocumentFormattingSample.md +0 -141
  470. package/dist/cjs/typography/typography.stories.mdx +0 -75
  471. package/dist/esm/Colors/colorpalette.stories.mdx +0 -125
  472. package/dist/esm/blocks/DocsPageExampleCaption.md +0 -92
  473. package/dist/esm/blocks/DocsPageExampleCaption.mdx +0 -92
  474. package/dist/esm/controls/react-editable-json-tree/LICENSE.md +0 -14
  475. package/dist/esm/controls/react-editable-json-tree/components/JsonAddValue.js +0 -194
  476. package/dist/esm/controls/react-editable-json-tree/components/JsonArray.js +0 -465
  477. package/dist/esm/controls/react-editable-json-tree/components/JsonFunctionValue.js +0 -282
  478. package/dist/esm/controls/react-editable-json-tree/components/JsonNode.js +0 -387
  479. package/dist/esm/controls/react-editable-json-tree/components/JsonObject.js +0 -467
  480. package/dist/esm/controls/react-editable-json-tree/components/JsonValue.js +0 -272
  481. package/dist/esm/typings.d.js +0 -0
  482. package/dist/esm/typography/DocumentFormattingSample.md +0 -141
  483. package/dist/esm/typography/typography.stories.mdx +0 -75
  484. package/dist/modern/Colors/colorpalette.stories.mdx +0 -125
  485. package/dist/modern/blocks/DocsPageExampleCaption.md +0 -92
  486. package/dist/modern/blocks/DocsPageExampleCaption.mdx +0 -92
  487. package/dist/modern/controls/react-editable-json-tree/LICENSE.md +0 -14
  488. package/dist/modern/controls/react-editable-json-tree/components/JsonAddValue.js +0 -148
  489. package/dist/modern/controls/react-editable-json-tree/components/JsonArray.js +0 -392
  490. package/dist/modern/controls/react-editable-json-tree/components/JsonFunctionValue.js +0 -215
  491. package/dist/modern/controls/react-editable-json-tree/components/JsonNode.js +0 -339
  492. package/dist/modern/controls/react-editable-json-tree/components/JsonObject.js +0 -394
  493. package/dist/modern/controls/react-editable-json-tree/components/JsonValue.js +0 -202
  494. package/dist/modern/typings.d.js +0 -0
  495. package/dist/modern/typography/DocumentFormattingSample.md +0 -141
  496. package/dist/modern/typography/typography.stories.mdx +0 -75
@@ -0,0 +1,1748 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ require("core-js/modules/es.reflect.construct.js");
6
+
7
+ require("core-js/modules/es.symbol.js");
8
+
9
+ require("core-js/modules/es.symbol.description.js");
10
+
11
+ require("core-js/modules/es.symbol.iterator.js");
12
+
13
+ require("core-js/modules/es.array.iterator.js");
14
+
15
+ require("core-js/modules/es.string.iterator.js");
16
+
17
+ require("core-js/modules/web.dom-collections.iterator.js");
18
+
19
+ require("core-js/modules/es.array.from.js");
20
+
21
+ require("core-js/modules/es.array.slice.js");
22
+
23
+ require("core-js/modules/es.regexp.exec.js");
24
+
25
+ require("core-js/modules/es.weak-map.js");
26
+
27
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
28
+
29
+ Object.defineProperty(exports, "__esModule", {
30
+ value: true
31
+ });
32
+ exports.JsonValue = exports.JsonObject = exports.JsonNode = exports.JsonFunctionValue = exports.JsonArray = exports.JsonAddValue = void 0;
33
+
34
+ require("core-js/modules/es.string.repeat.js");
35
+
36
+ require("core-js/modules/es.array.concat.js");
37
+
38
+ require("core-js/modules/es.function.name.js");
39
+
40
+ require("core-js/modules/es.array.splice.js");
41
+
42
+ require("core-js/modules/es.object.to-string.js");
43
+
44
+ require("core-js/modules/es.promise.js");
45
+
46
+ require("core-js/modules/es.array.map.js");
47
+
48
+ require("core-js/modules/es.regexp.to-string.js");
49
+
50
+ require("core-js/modules/es.object.get-own-property-names.js");
51
+
52
+ require("core-js/modules/es.object.get-prototype-of.js");
53
+
54
+ var _react = _interopRequireWildcard(require("react"));
55
+
56
+ var inputUsageTypes = _interopRequireWildcard(require("./types/inputUsageTypes"));
57
+
58
+ var dataTypes = _interopRequireWildcard(require("./types/dataTypes"));
59
+
60
+ var deltaTypes = _interopRequireWildcard(require("./types/deltaTypes"));
61
+
62
+ var _objectTypes = require("./utils/objectTypes");
63
+
64
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
65
+
66
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
67
+
68
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
69
+
70
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
71
+
72
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
73
+
74
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
75
+
76
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
77
+
78
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
79
+
80
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
81
+
82
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
83
+
84
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
85
+
86
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
87
+
88
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
89
+
90
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
91
+
92
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
93
+
94
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
95
+
96
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
97
+
98
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
99
+
100
+ var JsonAddValue = /*#__PURE__*/function (_Component) {
101
+ _inherits(JsonAddValue, _Component);
102
+
103
+ var _super = _createSuper(JsonAddValue);
104
+
105
+ function JsonAddValue(props) {
106
+ var _this;
107
+
108
+ _classCallCheck(this, JsonAddValue);
109
+
110
+ _this = _super.call(this, props);
111
+ _this.state = {
112
+ inputRefKey: null,
113
+ inputRefValue: null
114
+ }; // Bind
115
+
116
+ _this.refInputValue = _this.refInputValue.bind(_assertThisInitialized(_this));
117
+ _this.refInputKey = _this.refInputKey.bind(_assertThisInitialized(_this));
118
+ _this.onKeydown = _this.onKeydown.bind(_assertThisInitialized(_this));
119
+ _this.onSubmit = _this.onSubmit.bind(_assertThisInitialized(_this));
120
+ return _this;
121
+ }
122
+
123
+ _createClass(JsonAddValue, [{
124
+ key: "componentDidMount",
125
+ value: function componentDidMount() {
126
+ var _this$state = this.state,
127
+ inputRefKey = _this$state.inputRefKey,
128
+ inputRefValue = _this$state.inputRefValue;
129
+ var onlyValue = this.props.onlyValue;
130
+
131
+ if (inputRefKey && typeof inputRefKey.focus === 'function') {
132
+ inputRefKey.focus();
133
+ }
134
+
135
+ if (onlyValue && inputRefValue && typeof inputRefValue.focus === 'function') {
136
+ inputRefValue.focus();
137
+ }
138
+
139
+ document.addEventListener('keydown', this.onKeydown);
140
+ }
141
+ }, {
142
+ key: "componentWillUnmount",
143
+ value: function componentWillUnmount() {
144
+ document.removeEventListener('keydown', this.onKeydown);
145
+ }
146
+ }, {
147
+ key: "onKeydown",
148
+ value: function onKeydown(event) {
149
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.repeat) return;
150
+
151
+ if (event.code === 'Enter' || event.key === 'Enter') {
152
+ event.preventDefault();
153
+ this.onSubmit();
154
+ }
155
+
156
+ if (event.code === 'Escape' || event.key === 'Escape') {
157
+ event.preventDefault();
158
+ this.props.handleCancel();
159
+ }
160
+ }
161
+ }, {
162
+ key: "onSubmit",
163
+ value: function onSubmit() {
164
+ var _this$props = this.props,
165
+ handleAdd = _this$props.handleAdd,
166
+ onlyValue = _this$props.onlyValue,
167
+ onSubmitValueParser = _this$props.onSubmitValueParser,
168
+ keyPath = _this$props.keyPath,
169
+ deep = _this$props.deep;
170
+ var _this$state2 = this.state,
171
+ inputRefKey = _this$state2.inputRefKey,
172
+ inputRefValue = _this$state2.inputRefValue;
173
+ var result = {}; // Check if we have the key
174
+
175
+ if (!onlyValue) {
176
+ // Check that there is a key
177
+ if (!inputRefKey.value) {
178
+ // Empty key => Not authorized
179
+ return;
180
+ }
181
+
182
+ result.key = inputRefKey.value;
183
+ }
184
+
185
+ result.newValue = onSubmitValueParser(false, keyPath, deep, result.key, inputRefValue.value);
186
+ handleAdd(result);
187
+ }
188
+ }, {
189
+ key: "refInputKey",
190
+ value: function refInputKey(node) {
191
+ // @ts-ignore
192
+ this.state.inputRefKey = node;
193
+ }
194
+ }, {
195
+ key: "refInputValue",
196
+ value: function refInputValue(node) {
197
+ // @ts-ignore
198
+ this.state.inputRefValue = node;
199
+ }
200
+ }, {
201
+ key: "render",
202
+ value: function render() {
203
+ var _this$props2 = this.props,
204
+ handleCancel = _this$props2.handleCancel,
205
+ onlyValue = _this$props2.onlyValue,
206
+ addButtonElement = _this$props2.addButtonElement,
207
+ cancelButtonElement = _this$props2.cancelButtonElement,
208
+ inputElementGenerator = _this$props2.inputElementGenerator,
209
+ keyPath = _this$props2.keyPath,
210
+ deep = _this$props2.deep;
211
+ var addButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(addButtonElement, {
212
+ onClick: this.onSubmit
213
+ });
214
+ var cancelButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(cancelButtonElement, {
215
+ onClick: handleCancel
216
+ });
217
+ var inputElementValue = inputElementGenerator(inputUsageTypes.VALUE, keyPath, deep);
218
+ var inputElementValueLayout = /*#__PURE__*/(0, _react.cloneElement)(inputElementValue, {
219
+ placeholder: 'Value',
220
+ ref: this.refInputValue
221
+ });
222
+ var inputElementKeyLayout = null;
223
+
224
+ if (!onlyValue) {
225
+ var inputElementKey = inputElementGenerator(inputUsageTypes.KEY, keyPath, deep);
226
+ inputElementKeyLayout = /*#__PURE__*/(0, _react.cloneElement)(inputElementKey, {
227
+ placeholder: 'Key',
228
+ ref: this.refInputKey
229
+ });
230
+ }
231
+
232
+ return /*#__PURE__*/_react.default.createElement("span", {
233
+ className: "rejt-add-value-node"
234
+ }, inputElementKeyLayout, inputElementValueLayout, cancelButtonElementLayout, addButtonElementLayout);
235
+ }
236
+ }]);
237
+
238
+ return JsonAddValue;
239
+ }(_react.Component);
240
+
241
+ exports.JsonAddValue = JsonAddValue;
242
+ JsonAddValue.displayName = "JsonAddValue";
243
+ // @ts-ignore
244
+ JsonAddValue.defaultProps = {
245
+ onlyValue: false,
246
+ addButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "+"),
247
+ cancelButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "c")
248
+ };
249
+
250
+ var JsonArray = /*#__PURE__*/function (_Component2) {
251
+ _inherits(JsonArray, _Component2);
252
+
253
+ var _super2 = _createSuper(JsonArray);
254
+
255
+ function JsonArray(props) {
256
+ var _this2;
257
+
258
+ _classCallCheck(this, JsonArray);
259
+
260
+ _this2 = _super2.call(this, props);
261
+ var keyPath = [].concat(_toConsumableArray(props.keyPath), [props.name]);
262
+ _this2.state = {
263
+ data: props.data,
264
+ name: props.name,
265
+ keyPath: keyPath,
266
+ deep: props.deep,
267
+ nextDeep: props.deep + 1,
268
+ collapsed: props.isCollapsed(keyPath, props.deep, props.data),
269
+ addFormVisible: false
270
+ }; // Bind
271
+
272
+ _this2.handleCollapseMode = _this2.handleCollapseMode.bind(_assertThisInitialized(_this2));
273
+ _this2.handleRemoveItem = _this2.handleRemoveItem.bind(_assertThisInitialized(_this2));
274
+ _this2.handleAddMode = _this2.handleAddMode.bind(_assertThisInitialized(_this2));
275
+ _this2.handleAddValueAdd = _this2.handleAddValueAdd.bind(_assertThisInitialized(_this2));
276
+ _this2.handleAddValueCancel = _this2.handleAddValueCancel.bind(_assertThisInitialized(_this2));
277
+ _this2.handleEditValue = _this2.handleEditValue.bind(_assertThisInitialized(_this2));
278
+ _this2.onChildUpdate = _this2.onChildUpdate.bind(_assertThisInitialized(_this2));
279
+ _this2.renderCollapsed = _this2.renderCollapsed.bind(_assertThisInitialized(_this2));
280
+ _this2.renderNotCollapsed = _this2.renderNotCollapsed.bind(_assertThisInitialized(_this2));
281
+ return _this2;
282
+ }
283
+
284
+ _createClass(JsonArray, [{
285
+ key: "onChildUpdate",
286
+ value: function onChildUpdate(childKey, childData) {
287
+ var _this$state3 = this.state,
288
+ data = _this$state3.data,
289
+ keyPath = _this$state3.keyPath; // Update data
290
+ // @ts-ignore
291
+
292
+ data[childKey] = childData; // Put new data
293
+
294
+ this.setState({
295
+ data: data
296
+ }); // Spread
297
+
298
+ var onUpdate = this.props.onUpdate;
299
+ var size = keyPath.length;
300
+ onUpdate(keyPath[size - 1], data);
301
+ }
302
+ }, {
303
+ key: "handleAddMode",
304
+ value: function handleAddMode() {
305
+ this.setState({
306
+ addFormVisible: true
307
+ });
308
+ }
309
+ }, {
310
+ key: "handleCollapseMode",
311
+ value: function handleCollapseMode() {
312
+ this.setState(function (state) {
313
+ return {
314
+ collapsed: !state.collapsed
315
+ };
316
+ });
317
+ }
318
+ }, {
319
+ key: "handleRemoveItem",
320
+ value: function handleRemoveItem(index) {
321
+ var _this3 = this;
322
+
323
+ return function () {
324
+ var _this3$props = _this3.props,
325
+ beforeRemoveAction = _this3$props.beforeRemoveAction,
326
+ logger = _this3$props.logger;
327
+ var _this3$state = _this3.state,
328
+ data = _this3$state.data,
329
+ keyPath = _this3$state.keyPath,
330
+ deep = _this3$state.nextDeep;
331
+ var oldValue = data[index]; // Before Remove Action
332
+
333
+ beforeRemoveAction(index, keyPath, deep, oldValue).then(function () {
334
+ var deltaUpdateResult = {
335
+ keyPath: keyPath,
336
+ deep: deep,
337
+ key: index,
338
+ oldValue: oldValue,
339
+ type: deltaTypes.REMOVE_DELTA_TYPE
340
+ };
341
+ data.splice(index, 1);
342
+
343
+ _this3.setState({
344
+ data: data
345
+ }); // Spread new update
346
+
347
+
348
+ var _this3$props2 = _this3.props,
349
+ onUpdate = _this3$props2.onUpdate,
350
+ onDeltaUpdate = _this3$props2.onDeltaUpdate;
351
+ onUpdate(keyPath[keyPath.length - 1], data); // Spread delta update
352
+
353
+ onDeltaUpdate(deltaUpdateResult);
354
+ }).catch(logger.error);
355
+ };
356
+ }
357
+ }, {
358
+ key: "handleAddValueAdd",
359
+ value: function handleAddValueAdd(_ref) {
360
+ var _this4 = this;
361
+
362
+ var newValue = _ref.newValue;
363
+ var _this$state4 = this.state,
364
+ data = _this$state4.data,
365
+ keyPath = _this$state4.keyPath,
366
+ deep = _this$state4.nextDeep;
367
+ var _this$props3 = this.props,
368
+ beforeAddAction = _this$props3.beforeAddAction,
369
+ logger = _this$props3.logger;
370
+ beforeAddAction(data.length, keyPath, deep, newValue).then(function () {
371
+ // Update data
372
+ var newData = [].concat(_toConsumableArray(data), [newValue]);
373
+
374
+ _this4.setState({
375
+ data: newData
376
+ }); // Cancel add to close
377
+
378
+
379
+ _this4.handleAddValueCancel(); // Spread new update
380
+
381
+
382
+ var _this4$props = _this4.props,
383
+ onUpdate = _this4$props.onUpdate,
384
+ onDeltaUpdate = _this4$props.onDeltaUpdate;
385
+ onUpdate(keyPath[keyPath.length - 1], newData); // Spread delta update
386
+
387
+ onDeltaUpdate({
388
+ type: deltaTypes.ADD_DELTA_TYPE,
389
+ keyPath: keyPath,
390
+ deep: deep,
391
+ key: newData.length - 1,
392
+ newValue: newValue
393
+ });
394
+ }).catch(logger.error);
395
+ }
396
+ }, {
397
+ key: "handleAddValueCancel",
398
+ value: function handleAddValueCancel() {
399
+ this.setState({
400
+ addFormVisible: false
401
+ });
402
+ }
403
+ }, {
404
+ key: "handleEditValue",
405
+ value: function handleEditValue(_ref2) {
406
+ var _this5 = this;
407
+
408
+ var key = _ref2.key,
409
+ value = _ref2.value;
410
+ return new Promise(function (resolve, reject) {
411
+ var beforeUpdateAction = _this5.props.beforeUpdateAction;
412
+ var _this5$state = _this5.state,
413
+ data = _this5$state.data,
414
+ keyPath = _this5$state.keyPath,
415
+ deep = _this5$state.nextDeep; // Old value
416
+
417
+ var oldValue = data[key]; // Before update action
418
+
419
+ beforeUpdateAction(key, keyPath, deep, oldValue, value).then(function () {
420
+ // Update value
421
+ data[key] = value; // Set state
422
+
423
+ _this5.setState({
424
+ data: data
425
+ }); // Spread new update
426
+
427
+
428
+ var _this5$props = _this5.props,
429
+ onUpdate = _this5$props.onUpdate,
430
+ onDeltaUpdate = _this5$props.onDeltaUpdate;
431
+ onUpdate(keyPath[keyPath.length - 1], data); // Spread delta update
432
+
433
+ onDeltaUpdate({
434
+ type: deltaTypes.UPDATE_DELTA_TYPE,
435
+ keyPath: keyPath,
436
+ deep: deep,
437
+ key: key,
438
+ newValue: value,
439
+ oldValue: oldValue
440
+ }); // Resolve
441
+
442
+ resolve(undefined);
443
+ }).catch(reject);
444
+ });
445
+ }
446
+ }, {
447
+ key: "renderCollapsed",
448
+ value: function renderCollapsed() {
449
+ var _this$state5 = this.state,
450
+ name = _this$state5.name,
451
+ data = _this$state5.data,
452
+ keyPath = _this$state5.keyPath,
453
+ deep = _this$state5.deep;
454
+ var _this$props4 = this.props,
455
+ handleRemove = _this$props4.handleRemove,
456
+ readOnly = _this$props4.readOnly,
457
+ getStyle = _this$props4.getStyle,
458
+ dataType = _this$props4.dataType,
459
+ minusMenuElement = _this$props4.minusMenuElement;
460
+
461
+ var _getStyle = getStyle(name, data, keyPath, deep, dataType),
462
+ minus = _getStyle.minus,
463
+ collapsed = _getStyle.collapsed;
464
+
465
+ var isReadOnly = readOnly(name, data, keyPath, deep, dataType);
466
+ var removeItemButton = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
467
+ onClick: handleRemove,
468
+ className: 'rejt-minus-menu',
469
+ style: minus
470
+ });
471
+ return /*#__PURE__*/_react.default.createElement("span", {
472
+ className: "rejt-collapsed"
473
+ }, /*#__PURE__*/_react.default.createElement("span", {
474
+ className: "rejt-collapsed-text",
475
+ style: collapsed,
476
+ onClick: this.handleCollapseMode
477
+ }, "[...] ", data.length, " ", data.length === 1 ? 'item' : 'items'), !isReadOnly && removeItemButton);
478
+ }
479
+ }, {
480
+ key: "renderNotCollapsed",
481
+ value: function renderNotCollapsed() {
482
+ var _this6 = this;
483
+
484
+ var _this$state6 = this.state,
485
+ name = _this$state6.name,
486
+ data = _this$state6.data,
487
+ keyPath = _this$state6.keyPath,
488
+ deep = _this$state6.deep,
489
+ addFormVisible = _this$state6.addFormVisible,
490
+ nextDeep = _this$state6.nextDeep;
491
+ var _this$props5 = this.props,
492
+ isCollapsed = _this$props5.isCollapsed,
493
+ handleRemove = _this$props5.handleRemove,
494
+ onDeltaUpdate = _this$props5.onDeltaUpdate,
495
+ readOnly = _this$props5.readOnly,
496
+ getStyle = _this$props5.getStyle,
497
+ dataType = _this$props5.dataType,
498
+ addButtonElement = _this$props5.addButtonElement,
499
+ cancelButtonElement = _this$props5.cancelButtonElement,
500
+ editButtonElement = _this$props5.editButtonElement,
501
+ inputElementGenerator = _this$props5.inputElementGenerator,
502
+ textareaElementGenerator = _this$props5.textareaElementGenerator,
503
+ minusMenuElement = _this$props5.minusMenuElement,
504
+ plusMenuElement = _this$props5.plusMenuElement,
505
+ beforeRemoveAction = _this$props5.beforeRemoveAction,
506
+ beforeAddAction = _this$props5.beforeAddAction,
507
+ beforeUpdateAction = _this$props5.beforeUpdateAction,
508
+ logger = _this$props5.logger,
509
+ onSubmitValueParser = _this$props5.onSubmitValueParser;
510
+
511
+ var _getStyle2 = getStyle(name, data, keyPath, deep, dataType),
512
+ minus = _getStyle2.minus,
513
+ plus = _getStyle2.plus,
514
+ delimiter = _getStyle2.delimiter,
515
+ ul = _getStyle2.ul,
516
+ addForm = _getStyle2.addForm;
517
+
518
+ var isReadOnly = readOnly(name, data, keyPath, deep, dataType);
519
+ var addItemButton = /*#__PURE__*/(0, _react.cloneElement)(plusMenuElement, {
520
+ onClick: this.handleAddMode,
521
+ className: 'rejt-plus-menu',
522
+ style: plus
523
+ });
524
+ var removeItemButton = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
525
+ onClick: handleRemove,
526
+ className: 'rejt-minus-menu',
527
+ style: minus
528
+ });
529
+ var onlyValue = true;
530
+ var startObject = '[';
531
+ var endObject = ']';
532
+ return /*#__PURE__*/_react.default.createElement("span", {
533
+ className: "rejt-not-collapsed"
534
+ }, /*#__PURE__*/_react.default.createElement("span", {
535
+ className: "rejt-not-collapsed-delimiter",
536
+ style: delimiter
537
+ }, startObject), !addFormVisible && addItemButton, /*#__PURE__*/_react.default.createElement("ul", {
538
+ className: "rejt-not-collapsed-list",
539
+ style: ul
540
+ }, data.map(function (item, index) {
541
+ return /*#__PURE__*/_react.default.createElement(JsonNode, {
542
+ key: index,
543
+ name: "".concat(index),
544
+ data: item,
545
+ keyPath: keyPath,
546
+ deep: nextDeep,
547
+ isCollapsed: isCollapsed,
548
+ handleRemove: _this6.handleRemoveItem(index),
549
+ handleUpdateValue: _this6.handleEditValue,
550
+ onUpdate: _this6.onChildUpdate,
551
+ onDeltaUpdate: onDeltaUpdate,
552
+ readOnly: readOnly,
553
+ getStyle: getStyle,
554
+ addButtonElement: addButtonElement,
555
+ cancelButtonElement: cancelButtonElement,
556
+ editButtonElement: editButtonElement,
557
+ inputElementGenerator: inputElementGenerator,
558
+ textareaElementGenerator: textareaElementGenerator,
559
+ minusMenuElement: minusMenuElement,
560
+ plusMenuElement: plusMenuElement,
561
+ beforeRemoveAction: beforeRemoveAction,
562
+ beforeAddAction: beforeAddAction,
563
+ beforeUpdateAction: beforeUpdateAction,
564
+ logger: logger,
565
+ onSubmitValueParser: onSubmitValueParser
566
+ });
567
+ })), !isReadOnly && addFormVisible && /*#__PURE__*/_react.default.createElement("div", {
568
+ className: "rejt-add-form",
569
+ style: addForm
570
+ }, /*#__PURE__*/_react.default.createElement(JsonAddValue, {
571
+ handleAdd: this.handleAddValueAdd,
572
+ handleCancel: this.handleAddValueCancel,
573
+ onlyValue: onlyValue,
574
+ addButtonElement: addButtonElement,
575
+ cancelButtonElement: cancelButtonElement,
576
+ inputElementGenerator: inputElementGenerator,
577
+ keyPath: keyPath,
578
+ deep: deep,
579
+ onSubmitValueParser: onSubmitValueParser
580
+ })), /*#__PURE__*/_react.default.createElement("span", {
581
+ className: "rejt-not-collapsed-delimiter",
582
+ style: delimiter
583
+ }, endObject), !isReadOnly && removeItemButton);
584
+ }
585
+ }, {
586
+ key: "render",
587
+ value: function render() {
588
+ var _this$state7 = this.state,
589
+ name = _this$state7.name,
590
+ collapsed = _this$state7.collapsed,
591
+ data = _this$state7.data,
592
+ keyPath = _this$state7.keyPath,
593
+ deep = _this$state7.deep;
594
+ var _this$props6 = this.props,
595
+ dataType = _this$props6.dataType,
596
+ getStyle = _this$props6.getStyle;
597
+ var value = collapsed ? this.renderCollapsed() : this.renderNotCollapsed();
598
+ var style = getStyle(name, data, keyPath, deep, dataType);
599
+ return /*#__PURE__*/_react.default.createElement("div", {
600
+ className: "rejt-array-node"
601
+ }, /*#__PURE__*/_react.default.createElement("span", {
602
+ onClick: this.handleCollapseMode
603
+ }, /*#__PURE__*/_react.default.createElement("span", {
604
+ className: "rejt-name",
605
+ style: style.name
606
+ }, name, " :", ' ')), value);
607
+ }
608
+ }], [{
609
+ key: "getDerivedStateFromProps",
610
+ value: function getDerivedStateFromProps(props, state) {
611
+ return props.data !== state.data ? {
612
+ data: props.data
613
+ } : null;
614
+ }
615
+ }]);
616
+
617
+ return JsonArray;
618
+ }(_react.Component);
619
+
620
+ exports.JsonArray = JsonArray;
621
+ JsonArray.displayName = "JsonArray";
622
+ // @ts-ignore
623
+ JsonArray.defaultProps = {
624
+ keyPath: [],
625
+ deep: 0,
626
+ minusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " - "),
627
+ plusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " + ")
628
+ };
629
+
630
+ var JsonFunctionValue = /*#__PURE__*/function (_Component3) {
631
+ _inherits(JsonFunctionValue, _Component3);
632
+
633
+ var _super3 = _createSuper(JsonFunctionValue);
634
+
635
+ function JsonFunctionValue(props) {
636
+ var _this7;
637
+
638
+ _classCallCheck(this, JsonFunctionValue);
639
+
640
+ _this7 = _super3.call(this, props);
641
+ var keyPath = [].concat(_toConsumableArray(props.keyPath), [props.name]);
642
+ _this7.state = {
643
+ value: props.value,
644
+ name: props.name,
645
+ keyPath: keyPath,
646
+ deep: props.deep,
647
+ editEnabled: false,
648
+ inputRef: null
649
+ }; // Bind
650
+
651
+ _this7.handleEditMode = _this7.handleEditMode.bind(_assertThisInitialized(_this7));
652
+ _this7.refInput = _this7.refInput.bind(_assertThisInitialized(_this7));
653
+ _this7.handleCancelEdit = _this7.handleCancelEdit.bind(_assertThisInitialized(_this7));
654
+ _this7.handleEdit = _this7.handleEdit.bind(_assertThisInitialized(_this7));
655
+ _this7.onKeydown = _this7.onKeydown.bind(_assertThisInitialized(_this7));
656
+ return _this7;
657
+ }
658
+
659
+ _createClass(JsonFunctionValue, [{
660
+ key: "componentDidUpdate",
661
+ value: function componentDidUpdate() {
662
+ var _this$state8 = this.state,
663
+ editEnabled = _this$state8.editEnabled,
664
+ inputRef = _this$state8.inputRef,
665
+ name = _this$state8.name,
666
+ value = _this$state8.value,
667
+ keyPath = _this$state8.keyPath,
668
+ deep = _this$state8.deep;
669
+ var _this$props7 = this.props,
670
+ readOnly = _this$props7.readOnly,
671
+ dataType = _this$props7.dataType;
672
+ var readOnlyResult = readOnly(name, value, keyPath, deep, dataType);
673
+
674
+ if (editEnabled && !readOnlyResult && typeof inputRef.focus === 'function') {
675
+ inputRef.focus();
676
+ }
677
+ }
678
+ }, {
679
+ key: "componentDidMount",
680
+ value: function componentDidMount() {
681
+ document.addEventListener('keydown', this.onKeydown);
682
+ }
683
+ }, {
684
+ key: "componentWillUnmount",
685
+ value: function componentWillUnmount() {
686
+ document.removeEventListener('keydown', this.onKeydown);
687
+ }
688
+ }, {
689
+ key: "onKeydown",
690
+ value: function onKeydown(event) {
691
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.repeat) return;
692
+
693
+ if (event.code === 'Enter' || event.key === 'Enter') {
694
+ event.preventDefault();
695
+ this.handleEdit();
696
+ }
697
+
698
+ if (event.code === 'Escape' || event.key === 'Escape') {
699
+ event.preventDefault();
700
+ this.handleCancelEdit();
701
+ }
702
+ }
703
+ }, {
704
+ key: "handleEdit",
705
+ value: function handleEdit() {
706
+ var _this8 = this;
707
+
708
+ var _this$props8 = this.props,
709
+ handleUpdateValue = _this$props8.handleUpdateValue,
710
+ originalValue = _this$props8.originalValue,
711
+ logger = _this$props8.logger,
712
+ onSubmitValueParser = _this$props8.onSubmitValueParser,
713
+ keyPath = _this$props8.keyPath;
714
+ var _this$state9 = this.state,
715
+ inputRef = _this$state9.inputRef,
716
+ name = _this$state9.name,
717
+ deep = _this$state9.deep;
718
+ if (!inputRef) return;
719
+ var newValue = onSubmitValueParser(true, keyPath, deep, name, inputRef.value);
720
+ var result = {
721
+ value: newValue,
722
+ key: name
723
+ }; // Run update
724
+
725
+ handleUpdateValue(result).then(function () {
726
+ // Cancel edit mode if necessary
727
+ if (!(0, _objectTypes.isComponentWillChange)(originalValue, newValue)) {
728
+ _this8.handleCancelEdit();
729
+ }
730
+ }).catch(logger.error);
731
+ }
732
+ }, {
733
+ key: "handleEditMode",
734
+ value: function handleEditMode() {
735
+ this.setState({
736
+ editEnabled: true
737
+ });
738
+ }
739
+ }, {
740
+ key: "refInput",
741
+ value: function refInput(node) {
742
+ // @ts-ignore
743
+ this.state.inputRef = node;
744
+ }
745
+ }, {
746
+ key: "handleCancelEdit",
747
+ value: function handleCancelEdit() {
748
+ this.setState({
749
+ editEnabled: false
750
+ });
751
+ }
752
+ }, {
753
+ key: "render",
754
+ value: function render() {
755
+ var _this$state10 = this.state,
756
+ name = _this$state10.name,
757
+ value = _this$state10.value,
758
+ editEnabled = _this$state10.editEnabled,
759
+ keyPath = _this$state10.keyPath,
760
+ deep = _this$state10.deep;
761
+ var _this$props9 = this.props,
762
+ handleRemove = _this$props9.handleRemove,
763
+ originalValue = _this$props9.originalValue,
764
+ readOnly = _this$props9.readOnly,
765
+ dataType = _this$props9.dataType,
766
+ getStyle = _this$props9.getStyle,
767
+ editButtonElement = _this$props9.editButtonElement,
768
+ cancelButtonElement = _this$props9.cancelButtonElement,
769
+ textareaElementGenerator = _this$props9.textareaElementGenerator,
770
+ minusMenuElement = _this$props9.minusMenuElement,
771
+ comeFromKeyPath = _this$props9.keyPath;
772
+ var style = getStyle(name, originalValue, keyPath, deep, dataType);
773
+ var result = null;
774
+ var minusElement = null;
775
+ var resultOnlyResult = readOnly(name, originalValue, keyPath, deep, dataType);
776
+
777
+ if (editEnabled && !resultOnlyResult) {
778
+ var textareaElement = textareaElementGenerator(inputUsageTypes.VALUE, comeFromKeyPath, deep, name, originalValue, dataType);
779
+ var editButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(editButtonElement, {
780
+ onClick: this.handleEdit
781
+ });
782
+ var cancelButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(cancelButtonElement, {
783
+ onClick: this.handleCancelEdit
784
+ });
785
+ var textareaElementLayout = /*#__PURE__*/(0, _react.cloneElement)(textareaElement, {
786
+ ref: this.refInput,
787
+ defaultValue: originalValue
788
+ });
789
+ result = /*#__PURE__*/_react.default.createElement("span", {
790
+ className: "rejt-edit-form",
791
+ style: style.editForm
792
+ }, textareaElementLayout, " ", cancelButtonElementLayout, editButtonElementLayout);
793
+ minusElement = null;
794
+ } else {
795
+ result = /*#__PURE__*/_react.default.createElement("span", {
796
+ className: "rejt-value",
797
+ style: style.value,
798
+ onClick: resultOnlyResult ? null : this.handleEditMode
799
+ }, value);
800
+ var minusMenuLayout = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
801
+ onClick: handleRemove,
802
+ className: 'rejt-minus-menu',
803
+ style: style.minus
804
+ });
805
+ minusElement = resultOnlyResult ? null : minusMenuLayout;
806
+ }
807
+
808
+ return /*#__PURE__*/_react.default.createElement("li", {
809
+ className: "rejt-function-value-node",
810
+ style: style.li
811
+ }, /*#__PURE__*/_react.default.createElement("span", {
812
+ className: "rejt-name",
813
+ style: style.name
814
+ }, name, " :", ' '), result, minusElement);
815
+ }
816
+ }], [{
817
+ key: "getDerivedStateFromProps",
818
+ value: function getDerivedStateFromProps(props, state) {
819
+ return props.value !== state.value ? {
820
+ value: props.value
821
+ } : null;
822
+ }
823
+ }]);
824
+
825
+ return JsonFunctionValue;
826
+ }(_react.Component);
827
+
828
+ exports.JsonFunctionValue = JsonFunctionValue;
829
+ JsonFunctionValue.displayName = "JsonFunctionValue";
830
+ // @ts-ignore
831
+ JsonFunctionValue.defaultProps = {
832
+ keyPath: [],
833
+ deep: 0,
834
+ handleUpdateValue: function handleUpdateValue() {},
835
+ editButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "e"),
836
+ cancelButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "c"),
837
+ minusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " - ")
838
+ };
839
+
840
+ var JsonNode = /*#__PURE__*/function (_Component4) {
841
+ _inherits(JsonNode, _Component4);
842
+
843
+ var _super4 = _createSuper(JsonNode);
844
+
845
+ function JsonNode(props) {
846
+ var _this9;
847
+
848
+ _classCallCheck(this, JsonNode);
849
+
850
+ _this9 = _super4.call(this, props);
851
+ _this9.state = {
852
+ data: props.data,
853
+ name: props.name,
854
+ keyPath: props.keyPath,
855
+ deep: props.deep
856
+ };
857
+ return _this9;
858
+ }
859
+
860
+ _createClass(JsonNode, [{
861
+ key: "render",
862
+ value: function render() {
863
+ var _this$state11 = this.state,
864
+ data = _this$state11.data,
865
+ name = _this$state11.name,
866
+ keyPath = _this$state11.keyPath,
867
+ deep = _this$state11.deep;
868
+ var _this$props10 = this.props,
869
+ isCollapsed = _this$props10.isCollapsed,
870
+ handleRemove = _this$props10.handleRemove,
871
+ handleUpdateValue = _this$props10.handleUpdateValue,
872
+ onUpdate = _this$props10.onUpdate,
873
+ onDeltaUpdate = _this$props10.onDeltaUpdate,
874
+ readOnly = _this$props10.readOnly,
875
+ getStyle = _this$props10.getStyle,
876
+ addButtonElement = _this$props10.addButtonElement,
877
+ cancelButtonElement = _this$props10.cancelButtonElement,
878
+ editButtonElement = _this$props10.editButtonElement,
879
+ inputElementGenerator = _this$props10.inputElementGenerator,
880
+ textareaElementGenerator = _this$props10.textareaElementGenerator,
881
+ minusMenuElement = _this$props10.minusMenuElement,
882
+ plusMenuElement = _this$props10.plusMenuElement,
883
+ beforeRemoveAction = _this$props10.beforeRemoveAction,
884
+ beforeAddAction = _this$props10.beforeAddAction,
885
+ beforeUpdateAction = _this$props10.beforeUpdateAction,
886
+ logger = _this$props10.logger,
887
+ onSubmitValueParser = _this$props10.onSubmitValueParser;
888
+
889
+ var readOnlyTrue = function readOnlyTrue() {
890
+ return true;
891
+ };
892
+
893
+ var dataType = (0, _objectTypes.getObjectType)(data);
894
+
895
+ switch (dataType) {
896
+ case dataTypes.ERROR:
897
+ return /*#__PURE__*/_react.default.createElement(JsonObject, {
898
+ data: data,
899
+ name: name,
900
+ isCollapsed: isCollapsed,
901
+ keyPath: keyPath,
902
+ deep: deep,
903
+ handleRemove: handleRemove,
904
+ onUpdate: onUpdate,
905
+ onDeltaUpdate: onDeltaUpdate,
906
+ readOnly: readOnlyTrue,
907
+ dataType: dataType,
908
+ getStyle: getStyle,
909
+ addButtonElement: addButtonElement,
910
+ cancelButtonElement: cancelButtonElement,
911
+ editButtonElement: editButtonElement,
912
+ inputElementGenerator: inputElementGenerator,
913
+ textareaElementGenerator: textareaElementGenerator,
914
+ minusMenuElement: minusMenuElement,
915
+ plusMenuElement: plusMenuElement,
916
+ beforeRemoveAction: beforeRemoveAction,
917
+ beforeAddAction: beforeAddAction,
918
+ beforeUpdateAction: beforeUpdateAction,
919
+ logger: logger,
920
+ onSubmitValueParser: onSubmitValueParser
921
+ });
922
+
923
+ case dataTypes.OBJECT:
924
+ return /*#__PURE__*/_react.default.createElement(JsonObject, {
925
+ data: data,
926
+ name: name,
927
+ isCollapsed: isCollapsed,
928
+ keyPath: keyPath,
929
+ deep: deep,
930
+ handleRemove: handleRemove,
931
+ onUpdate: onUpdate,
932
+ onDeltaUpdate: onDeltaUpdate,
933
+ readOnly: readOnly,
934
+ dataType: dataType,
935
+ getStyle: getStyle,
936
+ addButtonElement: addButtonElement,
937
+ cancelButtonElement: cancelButtonElement,
938
+ editButtonElement: editButtonElement,
939
+ inputElementGenerator: inputElementGenerator,
940
+ textareaElementGenerator: textareaElementGenerator,
941
+ minusMenuElement: minusMenuElement,
942
+ plusMenuElement: plusMenuElement,
943
+ beforeRemoveAction: beforeRemoveAction,
944
+ beforeAddAction: beforeAddAction,
945
+ beforeUpdateAction: beforeUpdateAction,
946
+ logger: logger,
947
+ onSubmitValueParser: onSubmitValueParser
948
+ });
949
+
950
+ case dataTypes.ARRAY:
951
+ return /*#__PURE__*/_react.default.createElement(JsonArray, {
952
+ data: data,
953
+ name: name,
954
+ isCollapsed: isCollapsed,
955
+ keyPath: keyPath,
956
+ deep: deep,
957
+ handleRemove: handleRemove,
958
+ onUpdate: onUpdate,
959
+ onDeltaUpdate: onDeltaUpdate,
960
+ readOnly: readOnly,
961
+ dataType: dataType,
962
+ getStyle: getStyle,
963
+ addButtonElement: addButtonElement,
964
+ cancelButtonElement: cancelButtonElement,
965
+ editButtonElement: editButtonElement,
966
+ inputElementGenerator: inputElementGenerator,
967
+ textareaElementGenerator: textareaElementGenerator,
968
+ minusMenuElement: minusMenuElement,
969
+ plusMenuElement: plusMenuElement,
970
+ beforeRemoveAction: beforeRemoveAction,
971
+ beforeAddAction: beforeAddAction,
972
+ beforeUpdateAction: beforeUpdateAction,
973
+ logger: logger,
974
+ onSubmitValueParser: onSubmitValueParser
975
+ });
976
+
977
+ case dataTypes.STRING:
978
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
979
+ name: name,
980
+ value: "\"".concat(data, "\""),
981
+ originalValue: data,
982
+ keyPath: keyPath,
983
+ deep: deep,
984
+ handleRemove: handleRemove,
985
+ handleUpdateValue: handleUpdateValue,
986
+ readOnly: readOnly,
987
+ dataType: dataType,
988
+ getStyle: getStyle,
989
+ cancelButtonElement: cancelButtonElement,
990
+ editButtonElement: editButtonElement,
991
+ inputElementGenerator: inputElementGenerator,
992
+ minusMenuElement: minusMenuElement,
993
+ logger: logger,
994
+ onSubmitValueParser: onSubmitValueParser
995
+ });
996
+
997
+ case dataTypes.NUMBER:
998
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
999
+ name: name,
1000
+ value: data,
1001
+ originalValue: data,
1002
+ keyPath: keyPath,
1003
+ deep: deep,
1004
+ handleRemove: handleRemove,
1005
+ handleUpdateValue: handleUpdateValue,
1006
+ readOnly: readOnly,
1007
+ dataType: dataType,
1008
+ getStyle: getStyle,
1009
+ cancelButtonElement: cancelButtonElement,
1010
+ editButtonElement: editButtonElement,
1011
+ inputElementGenerator: inputElementGenerator,
1012
+ minusMenuElement: minusMenuElement,
1013
+ logger: logger,
1014
+ onSubmitValueParser: onSubmitValueParser
1015
+ });
1016
+
1017
+ case dataTypes.BOOLEAN:
1018
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
1019
+ name: name,
1020
+ value: data ? 'true' : 'false',
1021
+ originalValue: data,
1022
+ keyPath: keyPath,
1023
+ deep: deep,
1024
+ handleRemove: handleRemove,
1025
+ handleUpdateValue: handleUpdateValue,
1026
+ readOnly: readOnly,
1027
+ dataType: dataType,
1028
+ getStyle: getStyle,
1029
+ cancelButtonElement: cancelButtonElement,
1030
+ editButtonElement: editButtonElement,
1031
+ inputElementGenerator: inputElementGenerator,
1032
+ minusMenuElement: minusMenuElement,
1033
+ logger: logger,
1034
+ onSubmitValueParser: onSubmitValueParser
1035
+ });
1036
+
1037
+ case dataTypes.DATE:
1038
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
1039
+ name: name,
1040
+ value: data.toISOString(),
1041
+ originalValue: data,
1042
+ keyPath: keyPath,
1043
+ deep: deep,
1044
+ handleRemove: handleRemove,
1045
+ handleUpdateValue: handleUpdateValue,
1046
+ readOnly: readOnlyTrue,
1047
+ dataType: dataType,
1048
+ getStyle: getStyle,
1049
+ cancelButtonElement: cancelButtonElement,
1050
+ editButtonElement: editButtonElement,
1051
+ inputElementGenerator: inputElementGenerator,
1052
+ minusMenuElement: minusMenuElement,
1053
+ logger: logger,
1054
+ onSubmitValueParser: onSubmitValueParser
1055
+ });
1056
+
1057
+ case dataTypes.NULL:
1058
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
1059
+ name: name,
1060
+ value: "null",
1061
+ originalValue: "null",
1062
+ keyPath: keyPath,
1063
+ deep: deep,
1064
+ handleRemove: handleRemove,
1065
+ handleUpdateValue: handleUpdateValue,
1066
+ readOnly: readOnly,
1067
+ dataType: dataType,
1068
+ getStyle: getStyle,
1069
+ cancelButtonElement: cancelButtonElement,
1070
+ editButtonElement: editButtonElement,
1071
+ inputElementGenerator: inputElementGenerator,
1072
+ minusMenuElement: minusMenuElement,
1073
+ logger: logger,
1074
+ onSubmitValueParser: onSubmitValueParser
1075
+ });
1076
+
1077
+ case dataTypes.UNDEFINED:
1078
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
1079
+ name: name,
1080
+ value: "undefined",
1081
+ originalValue: "undefined",
1082
+ keyPath: keyPath,
1083
+ deep: deep,
1084
+ handleRemove: handleRemove,
1085
+ handleUpdateValue: handleUpdateValue,
1086
+ readOnly: readOnly,
1087
+ dataType: dataType,
1088
+ getStyle: getStyle,
1089
+ cancelButtonElement: cancelButtonElement,
1090
+ editButtonElement: editButtonElement,
1091
+ inputElementGenerator: inputElementGenerator,
1092
+ minusMenuElement: minusMenuElement,
1093
+ logger: logger,
1094
+ onSubmitValueParser: onSubmitValueParser
1095
+ });
1096
+
1097
+ case dataTypes.FUNCTION:
1098
+ return /*#__PURE__*/_react.default.createElement(JsonFunctionValue, {
1099
+ name: name,
1100
+ value: data.toString(),
1101
+ originalValue: data,
1102
+ keyPath: keyPath,
1103
+ deep: deep,
1104
+ handleRemove: handleRemove,
1105
+ handleUpdateValue: handleUpdateValue,
1106
+ readOnly: readOnly,
1107
+ dataType: dataType,
1108
+ getStyle: getStyle,
1109
+ cancelButtonElement: cancelButtonElement,
1110
+ editButtonElement: editButtonElement,
1111
+ textareaElementGenerator: textareaElementGenerator,
1112
+ minusMenuElement: minusMenuElement,
1113
+ logger: logger,
1114
+ onSubmitValueParser: onSubmitValueParser
1115
+ });
1116
+
1117
+ case dataTypes.SYMBOL:
1118
+ return /*#__PURE__*/_react.default.createElement(JsonValue, {
1119
+ name: name,
1120
+ value: data.toString(),
1121
+ originalValue: data,
1122
+ keyPath: keyPath,
1123
+ deep: deep,
1124
+ handleRemove: handleRemove,
1125
+ handleUpdateValue: handleUpdateValue,
1126
+ readOnly: readOnlyTrue,
1127
+ dataType: dataType,
1128
+ getStyle: getStyle,
1129
+ cancelButtonElement: cancelButtonElement,
1130
+ editButtonElement: editButtonElement,
1131
+ inputElementGenerator: inputElementGenerator,
1132
+ minusMenuElement: minusMenuElement,
1133
+ logger: logger,
1134
+ onSubmitValueParser: onSubmitValueParser
1135
+ });
1136
+
1137
+ default:
1138
+ return null;
1139
+ }
1140
+ }
1141
+ }], [{
1142
+ key: "getDerivedStateFromProps",
1143
+ value: function getDerivedStateFromProps(props, state) {
1144
+ return props.data !== state.data ? {
1145
+ data: props.data
1146
+ } : null;
1147
+ }
1148
+ }]);
1149
+
1150
+ return JsonNode;
1151
+ }(_react.Component);
1152
+
1153
+ exports.JsonNode = JsonNode;
1154
+ JsonNode.displayName = "JsonNode";
1155
+ /// @ts-ignore
1156
+ JsonNode.defaultProps = {
1157
+ keyPath: [],
1158
+ deep: 0
1159
+ };
1160
+
1161
+ var JsonObject = /*#__PURE__*/function (_Component5) {
1162
+ _inherits(JsonObject, _Component5);
1163
+
1164
+ var _super5 = _createSuper(JsonObject);
1165
+
1166
+ function JsonObject(props) {
1167
+ var _this10;
1168
+
1169
+ _classCallCheck(this, JsonObject);
1170
+
1171
+ _this10 = _super5.call(this, props);
1172
+ var keyPath = props.deep === -1 ? [] : [].concat(_toConsumableArray(props.keyPath), [props.name]);
1173
+ _this10.state = {
1174
+ name: props.name,
1175
+ data: props.data,
1176
+ keyPath: keyPath,
1177
+ deep: props.deep,
1178
+ nextDeep: props.deep + 1,
1179
+ collapsed: props.isCollapsed(keyPath, props.deep, props.data),
1180
+ addFormVisible: false
1181
+ }; // Bind
1182
+
1183
+ _this10.handleCollapseMode = _this10.handleCollapseMode.bind(_assertThisInitialized(_this10));
1184
+ _this10.handleRemoveValue = _this10.handleRemoveValue.bind(_assertThisInitialized(_this10));
1185
+ _this10.handleAddMode = _this10.handleAddMode.bind(_assertThisInitialized(_this10));
1186
+ _this10.handleAddValueAdd = _this10.handleAddValueAdd.bind(_assertThisInitialized(_this10));
1187
+ _this10.handleAddValueCancel = _this10.handleAddValueCancel.bind(_assertThisInitialized(_this10));
1188
+ _this10.handleEditValue = _this10.handleEditValue.bind(_assertThisInitialized(_this10));
1189
+ _this10.onChildUpdate = _this10.onChildUpdate.bind(_assertThisInitialized(_this10));
1190
+ _this10.renderCollapsed = _this10.renderCollapsed.bind(_assertThisInitialized(_this10));
1191
+ _this10.renderNotCollapsed = _this10.renderNotCollapsed.bind(_assertThisInitialized(_this10));
1192
+ return _this10;
1193
+ }
1194
+
1195
+ _createClass(JsonObject, [{
1196
+ key: "onChildUpdate",
1197
+ value: function onChildUpdate(childKey, childData) {
1198
+ var _this$state12 = this.state,
1199
+ data = _this$state12.data,
1200
+ keyPath = _this$state12.keyPath; // Update data
1201
+ // @ts-ignore
1202
+
1203
+ data[childKey] = childData; // Put new data
1204
+
1205
+ this.setState({
1206
+ data: data
1207
+ }); // Spread
1208
+
1209
+ var onUpdate = this.props.onUpdate;
1210
+ var size = keyPath.length;
1211
+ onUpdate(keyPath[size - 1], data);
1212
+ }
1213
+ }, {
1214
+ key: "handleAddMode",
1215
+ value: function handleAddMode() {
1216
+ this.setState({
1217
+ addFormVisible: true
1218
+ });
1219
+ }
1220
+ }, {
1221
+ key: "handleAddValueCancel",
1222
+ value: function handleAddValueCancel() {
1223
+ this.setState({
1224
+ addFormVisible: false
1225
+ });
1226
+ }
1227
+ }, {
1228
+ key: "handleAddValueAdd",
1229
+ value: function handleAddValueAdd(_ref3) {
1230
+ var _this11 = this;
1231
+
1232
+ var key = _ref3.key,
1233
+ newValue = _ref3.newValue;
1234
+ var _this$state13 = this.state,
1235
+ data = _this$state13.data,
1236
+ keyPath = _this$state13.keyPath,
1237
+ deep = _this$state13.nextDeep;
1238
+ var _this$props11 = this.props,
1239
+ beforeAddAction = _this$props11.beforeAddAction,
1240
+ logger = _this$props11.logger;
1241
+ beforeAddAction(key, keyPath, deep, newValue).then(function () {
1242
+ // Update data
1243
+ // @ts-ignore
1244
+ data[key] = newValue;
1245
+
1246
+ _this11.setState({
1247
+ data: data
1248
+ }); // Cancel add to close
1249
+
1250
+
1251
+ _this11.handleAddValueCancel(); // Spread new update
1252
+
1253
+
1254
+ var _this11$props = _this11.props,
1255
+ onUpdate = _this11$props.onUpdate,
1256
+ onDeltaUpdate = _this11$props.onDeltaUpdate;
1257
+ onUpdate(keyPath[keyPath.length - 1], data); // Spread delta update
1258
+
1259
+ onDeltaUpdate({
1260
+ type: deltaTypes.ADD_DELTA_TYPE,
1261
+ keyPath: keyPath,
1262
+ deep: deep,
1263
+ key: key,
1264
+ newValue: newValue
1265
+ });
1266
+ }).catch(logger.error);
1267
+ }
1268
+ }, {
1269
+ key: "handleRemoveValue",
1270
+ value: function handleRemoveValue(key) {
1271
+ var _this12 = this;
1272
+
1273
+ return function () {
1274
+ var _this12$props = _this12.props,
1275
+ beforeRemoveAction = _this12$props.beforeRemoveAction,
1276
+ logger = _this12$props.logger;
1277
+ var _this12$state = _this12.state,
1278
+ data = _this12$state.data,
1279
+ keyPath = _this12$state.keyPath,
1280
+ deep = _this12$state.nextDeep; // @ts-ignore
1281
+
1282
+ var oldValue = data[key]; // Before Remove Action
1283
+
1284
+ beforeRemoveAction(key, keyPath, deep, oldValue).then(function () {
1285
+ var deltaUpdateResult = {
1286
+ keyPath: keyPath,
1287
+ deep: deep,
1288
+ key: key,
1289
+ oldValue: oldValue,
1290
+ type: deltaTypes.REMOVE_DELTA_TYPE
1291
+ }; // @ts-ignore
1292
+
1293
+ delete data[key];
1294
+
1295
+ _this12.setState({
1296
+ data: data
1297
+ }); // Spread new update
1298
+
1299
+
1300
+ var _this12$props2 = _this12.props,
1301
+ onUpdate = _this12$props2.onUpdate,
1302
+ onDeltaUpdate = _this12$props2.onDeltaUpdate;
1303
+ onUpdate(keyPath[keyPath.length - 1], data); // Spread delta update
1304
+
1305
+ onDeltaUpdate(deltaUpdateResult);
1306
+ }).catch(logger.error);
1307
+ };
1308
+ }
1309
+ }, {
1310
+ key: "handleCollapseMode",
1311
+ value: function handleCollapseMode() {
1312
+ this.setState(function (state) {
1313
+ return {
1314
+ collapsed: !state.collapsed
1315
+ };
1316
+ });
1317
+ }
1318
+ }, {
1319
+ key: "handleEditValue",
1320
+ value: function handleEditValue(_ref4) {
1321
+ var _this13 = this;
1322
+
1323
+ var key = _ref4.key,
1324
+ value = _ref4.value;
1325
+ return new Promise(function (resolve, reject) {
1326
+ var beforeUpdateAction = _this13.props.beforeUpdateAction;
1327
+ var _this13$state = _this13.state,
1328
+ data = _this13$state.data,
1329
+ keyPath = _this13$state.keyPath,
1330
+ deep = _this13$state.nextDeep; // Old value
1331
+ // @ts-ignore
1332
+
1333
+ var oldValue = data[key]; // Before update action
1334
+
1335
+ beforeUpdateAction(key, keyPath, deep, oldValue, value).then(function () {
1336
+ // Update value
1337
+ // @ts-ignore
1338
+ data[key] = value; // Set state
1339
+
1340
+ _this13.setState({
1341
+ data: data
1342
+ }); // Spread new update
1343
+
1344
+
1345
+ var _this13$props = _this13.props,
1346
+ onUpdate = _this13$props.onUpdate,
1347
+ onDeltaUpdate = _this13$props.onDeltaUpdate;
1348
+ onUpdate(keyPath[keyPath.length - 1], data); // Spread delta update
1349
+
1350
+ onDeltaUpdate({
1351
+ type: deltaTypes.UPDATE_DELTA_TYPE,
1352
+ keyPath: keyPath,
1353
+ deep: deep,
1354
+ key: key,
1355
+ newValue: value,
1356
+ oldValue: oldValue
1357
+ }); // Resolve
1358
+
1359
+ resolve();
1360
+ }).catch(reject);
1361
+ });
1362
+ }
1363
+ }, {
1364
+ key: "renderCollapsed",
1365
+ value: function renderCollapsed() {
1366
+ var _this$state14 = this.state,
1367
+ name = _this$state14.name,
1368
+ keyPath = _this$state14.keyPath,
1369
+ deep = _this$state14.deep,
1370
+ data = _this$state14.data;
1371
+ var _this$props12 = this.props,
1372
+ handleRemove = _this$props12.handleRemove,
1373
+ readOnly = _this$props12.readOnly,
1374
+ dataType = _this$props12.dataType,
1375
+ getStyle = _this$props12.getStyle,
1376
+ minusMenuElement = _this$props12.minusMenuElement;
1377
+
1378
+ var _getStyle3 = getStyle(name, data, keyPath, deep, dataType),
1379
+ minus = _getStyle3.minus,
1380
+ collapsed = _getStyle3.collapsed;
1381
+
1382
+ var keyList = Object.getOwnPropertyNames(data);
1383
+ var isReadOnly = readOnly(name, data, keyPath, deep, dataType);
1384
+ var removeItemButton = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
1385
+ onClick: handleRemove,
1386
+ className: 'rejt-minus-menu',
1387
+ style: minus
1388
+ });
1389
+ return /*#__PURE__*/_react.default.createElement("span", {
1390
+ className: "rejt-collapsed"
1391
+ }, /*#__PURE__*/_react.default.createElement("span", {
1392
+ className: "rejt-collapsed-text",
1393
+ style: collapsed,
1394
+ onClick: this.handleCollapseMode
1395
+ }, '{...}', " ", keyList.length, " ", keyList.length === 1 ? 'key' : 'keys'), !isReadOnly && removeItemButton);
1396
+ }
1397
+ }, {
1398
+ key: "renderNotCollapsed",
1399
+ value: function renderNotCollapsed() {
1400
+ var _this14 = this;
1401
+
1402
+ var _this$state15 = this.state,
1403
+ name = _this$state15.name,
1404
+ data = _this$state15.data,
1405
+ keyPath = _this$state15.keyPath,
1406
+ deep = _this$state15.deep,
1407
+ nextDeep = _this$state15.nextDeep,
1408
+ addFormVisible = _this$state15.addFormVisible;
1409
+ var _this$props13 = this.props,
1410
+ isCollapsed = _this$props13.isCollapsed,
1411
+ handleRemove = _this$props13.handleRemove,
1412
+ onDeltaUpdate = _this$props13.onDeltaUpdate,
1413
+ readOnly = _this$props13.readOnly,
1414
+ getStyle = _this$props13.getStyle,
1415
+ dataType = _this$props13.dataType,
1416
+ addButtonElement = _this$props13.addButtonElement,
1417
+ cancelButtonElement = _this$props13.cancelButtonElement,
1418
+ editButtonElement = _this$props13.editButtonElement,
1419
+ inputElementGenerator = _this$props13.inputElementGenerator,
1420
+ textareaElementGenerator = _this$props13.textareaElementGenerator,
1421
+ minusMenuElement = _this$props13.minusMenuElement,
1422
+ plusMenuElement = _this$props13.plusMenuElement,
1423
+ beforeRemoveAction = _this$props13.beforeRemoveAction,
1424
+ beforeAddAction = _this$props13.beforeAddAction,
1425
+ beforeUpdateAction = _this$props13.beforeUpdateAction,
1426
+ logger = _this$props13.logger,
1427
+ onSubmitValueParser = _this$props13.onSubmitValueParser;
1428
+
1429
+ var _getStyle4 = getStyle(name, data, keyPath, deep, dataType),
1430
+ minus = _getStyle4.minus,
1431
+ plus = _getStyle4.plus,
1432
+ addForm = _getStyle4.addForm,
1433
+ ul = _getStyle4.ul,
1434
+ delimiter = _getStyle4.delimiter;
1435
+
1436
+ var keyList = Object.getOwnPropertyNames(data);
1437
+ var isReadOnly = readOnly(name, data, keyPath, deep, dataType);
1438
+ var addItemButton = /*#__PURE__*/(0, _react.cloneElement)(plusMenuElement, {
1439
+ onClick: this.handleAddMode,
1440
+ className: 'rejt-plus-menu',
1441
+ style: plus
1442
+ });
1443
+ var removeItemButton = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
1444
+ onClick: handleRemove,
1445
+ className: 'rejt-minus-menu',
1446
+ style: minus
1447
+ });
1448
+ var list = keyList.map(function (key) {
1449
+ return /*#__PURE__*/_react.default.createElement(JsonNode, {
1450
+ key: key,
1451
+ name: key,
1452
+ data: data[key],
1453
+ keyPath: keyPath,
1454
+ deep: nextDeep,
1455
+ isCollapsed: isCollapsed,
1456
+ handleRemove: _this14.handleRemoveValue(key),
1457
+ handleUpdateValue: _this14.handleEditValue,
1458
+ onUpdate: _this14.onChildUpdate,
1459
+ onDeltaUpdate: onDeltaUpdate,
1460
+ readOnly: readOnly,
1461
+ getStyle: getStyle,
1462
+ addButtonElement: addButtonElement,
1463
+ cancelButtonElement: cancelButtonElement,
1464
+ editButtonElement: editButtonElement,
1465
+ inputElementGenerator: inputElementGenerator,
1466
+ textareaElementGenerator: textareaElementGenerator,
1467
+ minusMenuElement: minusMenuElement,
1468
+ plusMenuElement: plusMenuElement,
1469
+ beforeRemoveAction: beforeRemoveAction,
1470
+ beforeAddAction: beforeAddAction,
1471
+ beforeUpdateAction: beforeUpdateAction,
1472
+ logger: logger,
1473
+ onSubmitValueParser: onSubmitValueParser
1474
+ });
1475
+ });
1476
+ var startObject = '{';
1477
+ var endObject = '}';
1478
+ return /*#__PURE__*/_react.default.createElement("span", {
1479
+ className: "rejt-not-collapsed"
1480
+ }, /*#__PURE__*/_react.default.createElement("span", {
1481
+ className: "rejt-not-collapsed-delimiter",
1482
+ style: delimiter
1483
+ }, startObject), !isReadOnly && addItemButton, /*#__PURE__*/_react.default.createElement("ul", {
1484
+ className: "rejt-not-collapsed-list",
1485
+ style: ul
1486
+ }, list), !isReadOnly && addFormVisible && /*#__PURE__*/_react.default.createElement("div", {
1487
+ className: "rejt-add-form",
1488
+ style: addForm
1489
+ }, /*#__PURE__*/_react.default.createElement(JsonAddValue, {
1490
+ handleAdd: this.handleAddValueAdd,
1491
+ handleCancel: this.handleAddValueCancel,
1492
+ addButtonElement: addButtonElement,
1493
+ cancelButtonElement: cancelButtonElement,
1494
+ inputElementGenerator: inputElementGenerator,
1495
+ keyPath: keyPath,
1496
+ deep: deep,
1497
+ onSubmitValueParser: onSubmitValueParser
1498
+ })), /*#__PURE__*/_react.default.createElement("span", {
1499
+ className: "rejt-not-collapsed-delimiter",
1500
+ style: delimiter
1501
+ }, endObject), !isReadOnly && removeItemButton);
1502
+ }
1503
+ }, {
1504
+ key: "render",
1505
+ value: function render() {
1506
+ var _this$state16 = this.state,
1507
+ name = _this$state16.name,
1508
+ collapsed = _this$state16.collapsed,
1509
+ data = _this$state16.data,
1510
+ keyPath = _this$state16.keyPath,
1511
+ deep = _this$state16.deep;
1512
+ var _this$props14 = this.props,
1513
+ getStyle = _this$props14.getStyle,
1514
+ dataType = _this$props14.dataType;
1515
+ var value = collapsed ? this.renderCollapsed() : this.renderNotCollapsed();
1516
+ var style = getStyle(name, data, keyPath, deep, dataType);
1517
+ return /*#__PURE__*/_react.default.createElement("div", {
1518
+ className: "rejt-object-node"
1519
+ }, /*#__PURE__*/_react.default.createElement("span", {
1520
+ onClick: this.handleCollapseMode
1521
+ }, /*#__PURE__*/_react.default.createElement("span", {
1522
+ className: "rejt-name",
1523
+ style: style.name
1524
+ }, name, " :", ' ')), value);
1525
+ }
1526
+ }], [{
1527
+ key: "getDerivedStateFromProps",
1528
+ value: function getDerivedStateFromProps(props, state) {
1529
+ return props.data !== state.data ? {
1530
+ data: props.data
1531
+ } : null;
1532
+ }
1533
+ }]);
1534
+
1535
+ return JsonObject;
1536
+ }(_react.Component);
1537
+
1538
+ exports.JsonObject = JsonObject;
1539
+ JsonObject.displayName = "JsonObject";
1540
+ // @ts-ignore
1541
+ JsonObject.defaultProps = {
1542
+ keyPath: [],
1543
+ deep: 0,
1544
+ minusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " - "),
1545
+ plusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " + ")
1546
+ };
1547
+
1548
+ var JsonValue = /*#__PURE__*/function (_Component6) {
1549
+ _inherits(JsonValue, _Component6);
1550
+
1551
+ var _super6 = _createSuper(JsonValue);
1552
+
1553
+ function JsonValue(props) {
1554
+ var _this15;
1555
+
1556
+ _classCallCheck(this, JsonValue);
1557
+
1558
+ _this15 = _super6.call(this, props);
1559
+ var keyPath = [].concat(_toConsumableArray(props.keyPath), [props.name]);
1560
+ _this15.state = {
1561
+ value: props.value,
1562
+ name: props.name,
1563
+ keyPath: keyPath,
1564
+ deep: props.deep,
1565
+ editEnabled: false,
1566
+ inputRef: null
1567
+ }; // Bind
1568
+
1569
+ _this15.handleEditMode = _this15.handleEditMode.bind(_assertThisInitialized(_this15));
1570
+ _this15.refInput = _this15.refInput.bind(_assertThisInitialized(_this15));
1571
+ _this15.handleCancelEdit = _this15.handleCancelEdit.bind(_assertThisInitialized(_this15));
1572
+ _this15.handleEdit = _this15.handleEdit.bind(_assertThisInitialized(_this15));
1573
+ _this15.onKeydown = _this15.onKeydown.bind(_assertThisInitialized(_this15));
1574
+ return _this15;
1575
+ }
1576
+
1577
+ _createClass(JsonValue, [{
1578
+ key: "componentDidUpdate",
1579
+ value: function componentDidUpdate() {
1580
+ var _this$state17 = this.state,
1581
+ editEnabled = _this$state17.editEnabled,
1582
+ inputRef = _this$state17.inputRef,
1583
+ name = _this$state17.name,
1584
+ value = _this$state17.value,
1585
+ keyPath = _this$state17.keyPath,
1586
+ deep = _this$state17.deep;
1587
+ var _this$props15 = this.props,
1588
+ readOnly = _this$props15.readOnly,
1589
+ dataType = _this$props15.dataType;
1590
+ var isReadOnly = readOnly(name, value, keyPath, deep, dataType);
1591
+
1592
+ if (editEnabled && !isReadOnly && typeof inputRef.focus === 'function') {
1593
+ inputRef.focus();
1594
+ }
1595
+ }
1596
+ }, {
1597
+ key: "componentDidMount",
1598
+ value: function componentDidMount() {
1599
+ document.addEventListener('keydown', this.onKeydown);
1600
+ }
1601
+ }, {
1602
+ key: "componentWillUnmount",
1603
+ value: function componentWillUnmount() {
1604
+ document.removeEventListener('keydown', this.onKeydown);
1605
+ }
1606
+ }, {
1607
+ key: "onKeydown",
1608
+ value: function onKeydown(event) {
1609
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.repeat) return;
1610
+
1611
+ if (event.code === 'Enter' || event.key === 'Enter') {
1612
+ event.preventDefault();
1613
+ this.handleEdit();
1614
+ }
1615
+
1616
+ if (event.code === 'Escape' || event.key === 'Escape') {
1617
+ event.preventDefault();
1618
+ this.handleCancelEdit();
1619
+ }
1620
+ }
1621
+ }, {
1622
+ key: "handleEdit",
1623
+ value: function handleEdit() {
1624
+ var _this16 = this;
1625
+
1626
+ var _this$props16 = this.props,
1627
+ handleUpdateValue = _this$props16.handleUpdateValue,
1628
+ originalValue = _this$props16.originalValue,
1629
+ logger = _this$props16.logger,
1630
+ onSubmitValueParser = _this$props16.onSubmitValueParser,
1631
+ keyPath = _this$props16.keyPath;
1632
+ var _this$state18 = this.state,
1633
+ inputRef = _this$state18.inputRef,
1634
+ name = _this$state18.name,
1635
+ deep = _this$state18.deep;
1636
+ if (!inputRef) return;
1637
+ var newValue = onSubmitValueParser(true, keyPath, deep, name, inputRef.value);
1638
+ var result = {
1639
+ value: newValue,
1640
+ key: name
1641
+ }; // Run update
1642
+
1643
+ handleUpdateValue(result).then(function () {
1644
+ // Cancel edit mode if necessary
1645
+ if (!(0, _objectTypes.isComponentWillChange)(originalValue, newValue)) {
1646
+ _this16.handleCancelEdit();
1647
+ }
1648
+ }).catch(logger.error);
1649
+ }
1650
+ }, {
1651
+ key: "handleEditMode",
1652
+ value: function handleEditMode() {
1653
+ this.setState({
1654
+ editEnabled: true
1655
+ });
1656
+ }
1657
+ }, {
1658
+ key: "refInput",
1659
+ value: function refInput(node) {
1660
+ // @ts-ignore
1661
+ this.state.inputRef = node;
1662
+ }
1663
+ }, {
1664
+ key: "handleCancelEdit",
1665
+ value: function handleCancelEdit() {
1666
+ this.setState({
1667
+ editEnabled: false
1668
+ });
1669
+ }
1670
+ }, {
1671
+ key: "render",
1672
+ value: function render() {
1673
+ var _this$state19 = this.state,
1674
+ name = _this$state19.name,
1675
+ value = _this$state19.value,
1676
+ editEnabled = _this$state19.editEnabled,
1677
+ keyPath = _this$state19.keyPath,
1678
+ deep = _this$state19.deep;
1679
+ var _this$props17 = this.props,
1680
+ handleRemove = _this$props17.handleRemove,
1681
+ originalValue = _this$props17.originalValue,
1682
+ readOnly = _this$props17.readOnly,
1683
+ dataType = _this$props17.dataType,
1684
+ getStyle = _this$props17.getStyle,
1685
+ editButtonElement = _this$props17.editButtonElement,
1686
+ cancelButtonElement = _this$props17.cancelButtonElement,
1687
+ inputElementGenerator = _this$props17.inputElementGenerator,
1688
+ minusMenuElement = _this$props17.minusMenuElement,
1689
+ comeFromKeyPath = _this$props17.keyPath;
1690
+ var style = getStyle(name, originalValue, keyPath, deep, dataType);
1691
+ var isReadOnly = readOnly(name, originalValue, keyPath, deep, dataType);
1692
+ var isEditing = editEnabled && !isReadOnly;
1693
+ var inputElement = inputElementGenerator(inputUsageTypes.VALUE, comeFromKeyPath, deep, name, originalValue, dataType);
1694
+ var editButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(editButtonElement, {
1695
+ onClick: this.handleEdit
1696
+ });
1697
+ var cancelButtonElementLayout = /*#__PURE__*/(0, _react.cloneElement)(cancelButtonElement, {
1698
+ onClick: this.handleCancelEdit
1699
+ });
1700
+ var inputElementLayout = /*#__PURE__*/(0, _react.cloneElement)(inputElement, {
1701
+ ref: this.refInput,
1702
+ defaultValue: JSON.stringify(originalValue)
1703
+ });
1704
+ var minusMenuLayout = /*#__PURE__*/(0, _react.cloneElement)(minusMenuElement, {
1705
+ onClick: handleRemove,
1706
+ className: 'rejt-minus-menu',
1707
+ style: style.minus
1708
+ });
1709
+ return /*#__PURE__*/_react.default.createElement("li", {
1710
+ className: "rejt-value-node",
1711
+ style: style.li
1712
+ }, /*#__PURE__*/_react.default.createElement("span", {
1713
+ className: "rejt-name",
1714
+ style: style.name
1715
+ }, name, ' : '), isEditing ? /*#__PURE__*/_react.default.createElement("span", {
1716
+ className: "rejt-edit-form",
1717
+ style: style.editForm
1718
+ }, inputElementLayout, " ", cancelButtonElementLayout, editButtonElementLayout) : /*#__PURE__*/_react.default.createElement("span", {
1719
+ className: "rejt-value",
1720
+ style: style.value,
1721
+ onClick: isReadOnly ? null : this.handleEditMode
1722
+ }, String(value)), !isReadOnly && !isEditing && minusMenuLayout);
1723
+ }
1724
+ }], [{
1725
+ key: "getDerivedStateFromProps",
1726
+ value: function getDerivedStateFromProps(props, state) {
1727
+ return props.value !== state.value ? {
1728
+ value: props.value
1729
+ } : null;
1730
+ }
1731
+ }]);
1732
+
1733
+ return JsonValue;
1734
+ }(_react.Component);
1735
+
1736
+ exports.JsonValue = JsonValue;
1737
+ JsonValue.displayName = "JsonValue";
1738
+ // @ts-ignore
1739
+ JsonValue.defaultProps = {
1740
+ keyPath: [],
1741
+ deep: 0,
1742
+ handleUpdateValue: function handleUpdateValue() {
1743
+ return Promise.resolve();
1744
+ },
1745
+ editButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "e"),
1746
+ cancelButtonElement: /*#__PURE__*/_react.default.createElement("button", null, "c"),
1747
+ minusMenuElement: /*#__PURE__*/_react.default.createElement("span", null, " - ")
1748
+ };