@payloadcms/richtext-lexical 0.7.0 → 3.0.0-alpha.19

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 (993) hide show
  1. package/README.md +1 -3
  2. package/components.d.ts +1 -1
  3. package/components.js +6 -33
  4. package/dist/cell/index.d.ts +4 -4
  5. package/dist/cell/index.d.ts.map +1 -1
  6. package/dist/cell/index.js +98 -79
  7. package/dist/exports/components.d.ts +1 -1
  8. package/dist/exports/components.d.ts.map +1 -1
  9. package/dist/exports/components.js +6 -33
  10. package/dist/field/Field.d.ts +8 -3
  11. package/dist/field/Field.d.ts.map +1 -1
  12. package/dist/field/Field.js +26 -98
  13. package/dist/field/features/align/feature.client.d.ts +3 -0
  14. package/dist/field/features/align/feature.client.d.ts.map +1 -0
  15. package/dist/field/features/align/feature.client.js +71 -0
  16. package/dist/field/features/align/feature.server.d.ts +3 -0
  17. package/dist/field/features/align/feature.server.d.ts.map +1 -0
  18. package/dist/field/features/align/feature.server.js +16 -0
  19. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +1 -1
  20. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +6 -57
  21. package/dist/field/features/blockquote/feature.client.d.ts +3 -0
  22. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -0
  23. package/dist/field/features/blockquote/feature.client.js +67 -0
  24. package/dist/field/features/blockquote/feature.server.d.ts +3 -0
  25. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -0
  26. package/dist/field/features/blockquote/feature.server.js +46 -0
  27. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -0
  28. package/dist/field/features/blockquote/markdownTransformer.js +40 -0
  29. package/dist/field/features/blocks/component/BlockContent.d.ts +25 -0
  30. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -0
  31. package/dist/field/features/blocks/component/BlockContent.js +163 -0
  32. package/dist/field/features/blocks/component/FormSavePlugin.d.ts +12 -0
  33. package/dist/field/features/blocks/component/FormSavePlugin.d.ts.map +1 -0
  34. package/dist/field/features/blocks/component/FormSavePlugin.js +24 -0
  35. package/dist/field/features/blocks/component/index.d.ts +16 -0
  36. package/dist/field/features/blocks/component/index.d.ts.map +1 -0
  37. package/dist/field/features/blocks/component/index.js +121 -0
  38. package/dist/field/features/blocks/component/index.scss +153 -0
  39. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -0
  40. package/dist/field/features/blocks/drawer/index.js +78 -0
  41. package/dist/field/features/blocks/feature.client.d.ts +7 -0
  42. package/dist/field/features/blocks/feature.client.d.ts.map +1 -0
  43. package/dist/field/features/blocks/feature.client.js +61 -0
  44. package/dist/field/features/blocks/feature.server.d.ts +8 -0
  45. package/dist/field/features/blocks/feature.server.d.ts.map +1 -0
  46. package/dist/field/features/blocks/feature.server.js +86 -0
  47. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -0
  48. package/dist/field/features/blocks/nodes/BlocksNode.js +91 -0
  49. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -0
  50. package/dist/field/features/blocks/plugin/commands.js +4 -0
  51. package/dist/field/features/blocks/plugin/index.d.ts +5 -0
  52. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -0
  53. package/dist/field/features/blocks/plugin/index.js +40 -0
  54. package/dist/field/features/blocks/populationPromise.d.ts +5 -0
  55. package/dist/field/features/blocks/populationPromise.d.ts.map +1 -0
  56. package/dist/field/features/blocks/populationPromise.js +45 -0
  57. package/dist/field/features/blocks/validate.d.ts +5 -0
  58. package/dist/field/features/blocks/validate.d.ts.map +1 -0
  59. package/dist/field/features/blocks/validate.js +49 -0
  60. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +4 -14
  61. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +1 -1
  62. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +6 -57
  63. package/dist/field/features/converters/html/converter/converters/linebreak.js +2 -12
  64. package/dist/field/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  65. package/dist/field/features/converters/html/converter/converters/paragraph.js +7 -16
  66. package/dist/field/features/converters/html/converter/converters/text.js +10 -20
  67. package/dist/field/features/converters/html/converter/defaultConverters.js +8 -18
  68. package/dist/field/features/converters/html/converter/index.d.ts +11 -2
  69. package/dist/field/features/converters/html/converter/index.d.ts.map +1 -1
  70. package/dist/field/features/converters/html/converter/index.js +9 -24
  71. package/dist/field/features/converters/html/converter/types.d.ts +6 -1
  72. package/dist/field/features/converters/html/converter/types.d.ts.map +1 -1
  73. package/dist/field/features/converters/html/converter/types.js +2 -5
  74. package/dist/field/features/converters/html/feature.server.d.ts +9 -0
  75. package/dist/field/features/converters/html/feature.server.d.ts.map +1 -0
  76. package/dist/field/features/converters/html/feature.server.js +14 -0
  77. package/dist/field/features/converters/html/field/index.d.ts +2 -2
  78. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  79. package/dist/field/features/converters/html/field/index.js +18 -31
  80. package/dist/field/features/createClientComponent.d.ts +7 -0
  81. package/dist/field/features/createClientComponent.d.ts.map +1 -0
  82. package/dist/field/features/createClientComponent.js +12 -0
  83. package/dist/field/features/createFeaturePropComponent.d.ts +6 -0
  84. package/dist/field/features/createFeaturePropComponent.d.ts.map +1 -0
  85. package/dist/field/features/createFeaturePropComponent.js +14 -0
  86. package/dist/field/features/debug/testrecorder/feature.client.d.ts +3 -0
  87. package/dist/field/features/debug/testrecorder/feature.client.d.ts.map +1 -0
  88. package/dist/field/features/debug/testrecorder/feature.client.js +20 -0
  89. package/dist/field/features/debug/testrecorder/feature.server.d.ts +3 -0
  90. package/dist/field/features/debug/testrecorder/feature.server.d.ts.map +1 -0
  91. package/dist/field/features/debug/testrecorder/feature.server.js +15 -0
  92. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +1 -0
  93. package/dist/field/features/debug/testrecorder/plugin/index.js +446 -0
  94. package/dist/field/features/debug/testrecorder/plugin/index.scss +49 -0
  95. package/dist/field/features/debug/treeview/feature.client.d.ts +3 -0
  96. package/dist/field/features/debug/treeview/feature.client.d.ts.map +1 -0
  97. package/dist/field/features/debug/treeview/feature.client.js +20 -0
  98. package/dist/field/features/debug/treeview/feature.server.d.ts +3 -0
  99. package/dist/field/features/debug/treeview/feature.server.d.ts.map +1 -0
  100. package/dist/field/features/debug/treeview/feature.server.js +15 -0
  101. package/dist/field/features/debug/treeview/plugin/index.d.ts +4 -0
  102. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +1 -0
  103. package/dist/field/features/debug/treeview/plugin/index.js +19 -0
  104. package/dist/field/features/format/bold/feature.client.d.ts +3 -0
  105. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -0
  106. package/dist/field/features/format/bold/feature.client.js +47 -0
  107. package/dist/field/features/format/bold/feature.server.d.ts +3 -0
  108. package/dist/field/features/format/bold/feature.server.d.ts.map +1 -0
  109. package/dist/field/features/format/bold/feature.server.js +27 -0
  110. package/dist/field/features/format/bold/markdownTransformers.d.ts.map +1 -0
  111. package/dist/field/features/format/bold/markdownTransformers.js +34 -0
  112. package/dist/field/features/format/common/floatingSelectToolbarSection.js +4 -14
  113. package/dist/field/features/format/inlinecode/feature.client.d.ts +3 -0
  114. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +1 -0
  115. package/dist/field/features/format/inlinecode/feature.client.js +42 -0
  116. package/dist/field/features/format/inlinecode/feature.server.d.ts +3 -0
  117. package/dist/field/features/format/inlinecode/feature.server.d.ts.map +1 -0
  118. package/dist/field/features/format/inlinecode/feature.server.js +19 -0
  119. package/dist/field/features/format/inlinecode/markdownTransformers.d.ts.map +1 -0
  120. package/dist/field/features/format/inlinecode/markdownTransformers.js +9 -0
  121. package/dist/field/features/format/italic/feature.client.d.ts +3 -0
  122. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -0
  123. package/dist/field/features/format/italic/feature.client.js +43 -0
  124. package/dist/field/features/format/italic/feature.server.d.ts +3 -0
  125. package/dist/field/features/format/italic/feature.server.d.ts.map +1 -0
  126. package/dist/field/features/format/italic/feature.server.js +20 -0
  127. package/dist/field/features/format/italic/markdownTransformers.d.ts.map +1 -0
  128. package/dist/field/features/format/italic/markdownTransformers.js +17 -0
  129. package/dist/field/features/format/strikethrough/feature.client.d.ts +3 -0
  130. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -0
  131. package/dist/field/features/format/strikethrough/feature.client.js +42 -0
  132. package/dist/field/features/format/strikethrough/feature.server.d.ts +3 -0
  133. package/dist/field/features/format/strikethrough/feature.server.d.ts.map +1 -0
  134. package/dist/field/features/format/strikethrough/feature.server.js +19 -0
  135. package/dist/field/features/format/strikethrough/markdownTransformers.js +4 -14
  136. package/dist/field/features/format/subscript/feature.client.d.ts +3 -0
  137. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -0
  138. package/dist/field/features/format/subscript/feature.client.js +38 -0
  139. package/dist/field/features/format/subscript/feature.server.d.ts +3 -0
  140. package/dist/field/features/format/subscript/feature.server.d.ts.map +1 -0
  141. package/dist/field/features/format/subscript/feature.server.js +15 -0
  142. package/dist/field/features/format/superscript/feature.client.d.ts +3 -0
  143. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -0
  144. package/dist/field/features/format/superscript/feature.client.js +38 -0
  145. package/dist/field/features/format/superscript/feature.server.d.ts +3 -0
  146. package/dist/field/features/format/superscript/feature.server.d.ts.map +1 -0
  147. package/dist/field/features/format/superscript/feature.server.js +15 -0
  148. package/dist/field/features/format/underline/feature.client.d.ts +3 -0
  149. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -0
  150. package/dist/field/features/format/underline/feature.client.js +38 -0
  151. package/dist/field/features/format/underline/feature.server.d.ts +3 -0
  152. package/dist/field/features/format/underline/feature.server.d.ts.map +1 -0
  153. package/dist/field/features/format/underline/feature.server.js +15 -0
  154. package/dist/field/features/heading/feature.client.d.ts +4 -0
  155. package/dist/field/features/heading/feature.client.d.ts.map +1 -0
  156. package/dist/field/features/heading/feature.client.js +95 -0
  157. package/dist/field/features/heading/feature.server.d.ts +7 -0
  158. package/dist/field/features/heading/feature.server.d.ts.map +1 -0
  159. package/dist/field/features/heading/feature.server.js +57 -0
  160. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -0
  161. package/dist/field/features/heading/markdownTransformer.js +29 -0
  162. package/dist/field/features/indent/feature.client.d.ts +3 -0
  163. package/dist/field/features/indent/feature.client.d.ts.map +1 -0
  164. package/dist/field/features/indent/feature.client.js +57 -0
  165. package/dist/field/features/indent/feature.server.d.ts +3 -0
  166. package/dist/field/features/indent/feature.server.d.ts.map +1 -0
  167. package/dist/field/features/indent/feature.server.js +16 -0
  168. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +4 -14
  169. package/dist/field/features/link/drawer/baseFields.d.ts.map +1 -0
  170. package/dist/field/features/link/drawer/baseFields.js +118 -0
  171. package/dist/field/features/link/drawer/index.d.ts.map +1 -0
  172. package/dist/field/features/link/drawer/index.js +83 -0
  173. package/dist/field/features/link/drawer/index.scss +50 -0
  174. package/dist/field/features/link/drawer/types.d.ts +8 -0
  175. package/dist/field/features/link/drawer/types.d.ts.map +1 -0
  176. package/dist/field/features/link/drawer/types.js +3 -0
  177. package/dist/field/features/link/feature.client.d.ts +5 -0
  178. package/dist/field/features/link/feature.client.d.ts.map +1 -0
  179. package/dist/field/features/link/feature.client.js +88 -0
  180. package/dist/field/features/link/feature.server.d.ts +33 -0
  181. package/dist/field/features/link/feature.server.d.ts.map +1 -0
  182. package/dist/field/features/link/feature.server.js +98 -0
  183. package/dist/field/features/link/nodes/AutoLinkNode.d.ts +16 -0
  184. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -0
  185. package/dist/field/features/link/nodes/AutoLinkNode.js +60 -0
  186. package/dist/field/features/link/nodes/LinkNode.d.ts +35 -0
  187. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -0
  188. package/dist/field/features/link/nodes/LinkNode.js +299 -0
  189. package/dist/field/features/link/nodes/types.d.ts +19 -0
  190. package/dist/field/features/link/nodes/types.d.ts.map +1 -0
  191. package/dist/field/features/link/nodes/types.js +3 -0
  192. package/dist/field/features/link/plugins/autoLink/index.d.ts +19 -0
  193. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -0
  194. package/dist/field/features/link/plugins/autoLink/index.js +318 -0
  195. package/dist/field/features/link/plugins/clickableLink/index.d.ts.map +1 -0
  196. package/dist/field/features/link/plugins/clickableLink/index.js +8 -0
  197. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -0
  198. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +4 -0
  199. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +5 -0
  200. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -0
  201. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +243 -0
  202. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts +6 -0
  203. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -0
  204. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +13 -0
  205. package/dist/field/features/link/plugins/floatingLinkEditor/index.scss +78 -0
  206. package/dist/field/features/link/plugins/floatingLinkEditor/types.d.ts +13 -0
  207. package/dist/field/features/link/plugins/floatingLinkEditor/types.d.ts.map +1 -0
  208. package/dist/field/features/link/plugins/floatingLinkEditor/types.js +6 -0
  209. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts +12 -0
  210. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -0
  211. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +37 -0
  212. package/dist/field/features/link/plugins/link/index.d.ts.map +1 -0
  213. package/dist/field/features/link/plugins/link/index.js +59 -0
  214. package/dist/field/features/link/populationPromise.d.ts +5 -0
  215. package/dist/field/features/link/populationPromise.d.ts.map +1 -0
  216. package/dist/field/features/link/populationPromise.js +46 -0
  217. package/dist/field/features/lists/checklist/feature.client.d.ts +3 -0
  218. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -0
  219. package/dist/field/features/lists/checklist/feature.client.js +81 -0
  220. package/dist/field/features/lists/checklist/feature.server.d.ts +3 -0
  221. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -0
  222. package/dist/field/features/lists/checklist/feature.server.js +35 -0
  223. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -0
  224. package/dist/field/features/lists/checklist/markdownTransformers.js +16 -0
  225. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -0
  226. package/dist/field/features/lists/checklist/plugin/index.js +8 -0
  227. package/dist/field/features/lists/common/markdown.js +10 -28
  228. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  229. package/dist/field/features/lists/htmlConverter.js +15 -31
  230. package/dist/field/features/lists/orderedlist/feature.client.d.ts +3 -0
  231. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +1 -0
  232. package/dist/field/features/lists/orderedlist/feature.client.js +71 -0
  233. package/dist/field/features/lists/orderedlist/feature.server.d.ts +3 -0
  234. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +1 -0
  235. package/dist/field/features/lists/orderedlist/feature.server.js +35 -0
  236. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +1 -0
  237. package/dist/field/features/lists/orderedlist/markdownTransformer.js +16 -0
  238. package/dist/field/features/lists/plugin/index.js +5 -20
  239. package/dist/field/features/lists/unorderedlist/feature.client.d.ts +3 -0
  240. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +1 -0
  241. package/dist/field/features/lists/unorderedlist/feature.client.js +71 -0
  242. package/dist/field/features/lists/unorderedlist/feature.server.d.ts +3 -0
  243. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +1 -0
  244. package/dist/field/features/lists/unorderedlist/feature.server.js +35 -0
  245. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +1 -0
  246. package/dist/field/features/lists/unorderedlist/markdownTransformer.js +16 -0
  247. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts +6 -0
  248. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts.map +1 -0
  249. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +6 -0
  250. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts +3 -0
  251. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +1 -0
  252. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +20 -0
  253. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts +3 -0
  254. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts.map +1 -0
  255. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +8 -0
  256. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts +6 -0
  257. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts.map +1 -0
  258. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +6 -0
  259. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts +3 -0
  260. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts.map +1 -0
  261. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +31 -0
  262. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts +3 -0
  263. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts.map +1 -0
  264. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +8 -0
  265. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts +6 -0
  266. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts.map +1 -0
  267. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +6 -0
  268. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts +3 -0
  269. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -0
  270. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +22 -0
  271. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts +3 -0
  272. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts.map +1 -0
  273. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +8 -0
  274. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts +6 -0
  275. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts.map +1 -0
  276. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +6 -0
  277. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts +3 -0
  278. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -0
  279. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +22 -0
  280. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts +3 -0
  281. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts.map +1 -0
  282. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +8 -0
  283. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts +6 -0
  284. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts.map +1 -0
  285. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +6 -0
  286. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts +3 -0
  287. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -0
  288. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +20 -0
  289. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts +3 -0
  290. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts.map +1 -0
  291. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +8 -0
  292. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts +6 -0
  293. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts.map +1 -0
  294. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +6 -0
  295. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts +3 -0
  296. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts.map +1 -0
  297. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +26 -0
  298. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts +3 -0
  299. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts.map +1 -0
  300. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +8 -0
  301. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts +6 -0
  302. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts.map +1 -0
  303. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +6 -0
  304. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts +3 -0
  305. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -0
  306. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +25 -0
  307. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts +3 -0
  308. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts.map +1 -0
  309. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +8 -0
  310. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts +3 -0
  311. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts.map +1 -0
  312. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +18 -0
  313. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.d.ts +17 -0
  314. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -0
  315. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js +63 -0
  316. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.d.ts +31 -0
  317. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -0
  318. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js +3 -0
  319. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts +3 -0
  320. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -0
  321. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js +34 -0
  322. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts +9 -0
  323. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -0
  324. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +47 -0
  325. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
  326. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +8 -0
  327. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -0
  328. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +69 -0
  329. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +14 -0
  330. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +6 -0
  331. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts.map +1 -0
  332. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +6 -0
  333. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts +3 -0
  334. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -0
  335. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +23 -0
  336. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts +3 -0
  337. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts.map +1 -0
  338. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +8 -0
  339. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.d.ts +6 -0
  340. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.d.ts.map +1 -0
  341. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js +6 -0
  342. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts +3 -0
  343. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +1 -0
  344. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js +29 -0
  345. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.d.ts +3 -0
  346. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.d.ts.map +1 -0
  347. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js +8 -0
  348. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.d.ts +6 -0
  349. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.d.ts.map +1 -0
  350. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js +6 -0
  351. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts +3 -0
  352. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts.map +1 -0
  353. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js +35 -0
  354. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.d.ts +3 -0
  355. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.d.ts.map +1 -0
  356. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js +8 -0
  357. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.d.ts +6 -0
  358. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.d.ts.map +1 -0
  359. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js +6 -0
  360. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.d.ts +3 -0
  361. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.d.ts.map +1 -0
  362. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js +30 -0
  363. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.d.ts +3 -0
  364. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.d.ts.map +1 -0
  365. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js +8 -0
  366. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts +6 -0
  367. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts.map +1 -0
  368. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js +6 -0
  369. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts +3 -0
  370. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -0
  371. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js +25 -0
  372. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts +3 -0
  373. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts.map +1 -0
  374. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js +8 -0
  375. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts +6 -0
  376. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts.map +1 -0
  377. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js +6 -0
  378. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts +3 -0
  379. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -0
  380. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +26 -0
  381. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts +3 -0
  382. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts.map +1 -0
  383. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js +8 -0
  384. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts +6 -0
  385. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts.map +1 -0
  386. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js +6 -0
  387. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts +3 -0
  388. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -0
  389. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +18 -0
  390. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts +3 -0
  391. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts.map +1 -0
  392. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js +8 -0
  393. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts +6 -0
  394. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts.map +1 -0
  395. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js +6 -0
  396. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts +3 -0
  397. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts.map +1 -0
  398. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js +27 -0
  399. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts +3 -0
  400. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts.map +1 -0
  401. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js +8 -0
  402. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts +6 -0
  403. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts.map +1 -0
  404. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +6 -0
  405. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts +3 -0
  406. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -0
  407. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +26 -0
  408. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts +3 -0
  409. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts.map +1 -0
  410. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +8 -0
  411. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.d.ts +6 -0
  412. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.d.ts.map +1 -0
  413. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js +6 -0
  414. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts +3 -0
  415. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -0
  416. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +21 -0
  417. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.d.ts +3 -0
  418. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.d.ts.map +1 -0
  419. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js +8 -0
  420. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.d.ts +3 -0
  421. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.d.ts.map +1 -0
  422. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js +24 -0
  423. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts +19 -0
  424. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts.map +1 -0
  425. package/dist/field/features/migrations/slateToLexical/converter/index.js +107 -0
  426. package/dist/field/features/migrations/slateToLexical/converter/types.d.ts +25 -0
  427. package/dist/field/features/migrations/slateToLexical/converter/types.d.ts.map +1 -0
  428. package/dist/field/features/migrations/slateToLexical/converter/types.js +3 -0
  429. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts +3 -0
  430. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts.map +1 -0
  431. package/dist/field/features/migrations/slateToLexical/feature.client.js +34 -0
  432. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts +9 -0
  433. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts.map +1 -0
  434. package/dist/field/features/migrations/slateToLexical/feature.server.js +47 -0
  435. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
  436. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +8 -0
  437. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -0
  438. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +69 -0
  439. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +14 -0
  440. package/dist/field/features/paragraph/feature.client.d.ts +3 -0
  441. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -0
  442. package/dist/field/features/paragraph/feature.client.js +63 -0
  443. package/dist/field/features/paragraph/feature.server.d.ts +3 -0
  444. package/dist/field/features/paragraph/feature.server.d.ts.map +1 -0
  445. package/dist/field/features/paragraph/feature.server.js +16 -0
  446. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -0
  447. package/dist/field/features/relationship/drawer/commands.js +4 -0
  448. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -0
  449. package/dist/field/features/relationship/drawer/index.js +79 -0
  450. package/dist/field/features/relationship/feature.client.d.ts +4 -0
  451. package/dist/field/features/relationship/feature.client.d.ts.map +1 -0
  452. package/dist/field/features/relationship/feature.client.js +56 -0
  453. package/dist/field/features/relationship/feature.server.d.ts +18 -0
  454. package/dist/field/features/relationship/feature.server.d.ts.map +1 -0
  455. package/dist/field/features/relationship/feature.server.js +26 -0
  456. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -0
  457. package/dist/field/features/relationship/nodes/RelationshipNode.js +110 -0
  458. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -0
  459. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +103 -0
  460. package/dist/field/features/relationship/nodes/components/index.scss +97 -0
  461. package/dist/field/features/relationship/plugins/index.d.ts +7 -0
  462. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -0
  463. package/dist/field/features/relationship/plugins/index.js +49 -0
  464. package/dist/field/features/relationship/populationPromise.d.ts.map +1 -0
  465. package/dist/field/features/relationship/populationPromise.js +24 -0
  466. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -0
  467. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +33 -0
  468. package/dist/field/features/types.d.ts +139 -70
  469. package/dist/field/features/types.d.ts.map +1 -1
  470. package/dist/field/features/types.js +2 -5
  471. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -0
  472. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +110 -0
  473. package/dist/field/features/upload/component/index.d.ts.map +1 -0
  474. package/dist/field/features/upload/component/index.js +135 -0
  475. package/dist/field/features/upload/component/index.scss +152 -0
  476. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -0
  477. package/dist/field/features/upload/drawer/commands.js +5 -0
  478. package/dist/field/features/upload/drawer/index.d.ts.map +1 -0
  479. package/dist/field/features/upload/drawer/index.js +76 -0
  480. package/dist/field/features/upload/feature.client.d.ts +10 -0
  481. package/dist/field/features/upload/feature.client.d.ts.map +1 -0
  482. package/dist/field/features/upload/feature.client.js +55 -0
  483. package/dist/field/features/upload/feature.server.d.ts +12 -0
  484. package/dist/field/features/upload/feature.server.d.ts.map +1 -0
  485. package/dist/field/features/upload/feature.server.js +103 -0
  486. package/dist/field/features/upload/nodes/UploadNode.d.ts +47 -0
  487. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -0
  488. package/dist/field/features/upload/nodes/UploadNode.js +98 -0
  489. package/dist/field/features/upload/plugin/index.d.ts.map +1 -0
  490. package/dist/field/features/upload/plugin/index.js +52 -0
  491. package/dist/field/features/upload/populationPromise.d.ts +5 -0
  492. package/dist/field/features/upload/populationPromise.d.ts.map +1 -0
  493. package/dist/field/features/upload/populationPromise.js +46 -0
  494. package/dist/field/features/upload/validate.d.ts.map +1 -0
  495. package/dist/field/features/upload/validate.js +19 -0
  496. package/dist/field/index.d.ts +7 -2
  497. package/dist/field/index.d.ts.map +1 -1
  498. package/dist/field/index.js +78 -57
  499. package/dist/field/index.scss +2 -2
  500. package/dist/field/lexical/EditorPlugin.d.ts.map +1 -1
  501. package/dist/field/lexical/EditorPlugin.js +6 -65
  502. package/dist/field/lexical/LexicalEditor.js +39 -94
  503. package/dist/field/lexical/LexicalEditor.scss +1 -3
  504. package/dist/field/lexical/LexicalProvider.d.ts +8 -4
  505. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  506. package/dist/field/lexical/LexicalProvider.js +30 -83
  507. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +24 -0
  508. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -0
  509. package/dist/field/lexical/config/client/EditorConfigProvider.js +41 -0
  510. package/dist/field/lexical/config/client/default.d.ts +3 -0
  511. package/dist/field/lexical/config/client/default.d.ts.map +1 -0
  512. package/dist/field/lexical/config/client/default.js +8 -0
  513. package/dist/field/lexical/config/client/loader.d.ts +11 -0
  514. package/dist/field/lexical/config/client/loader.d.ts.map +1 -0
  515. package/dist/field/lexical/config/client/loader.js +46 -0
  516. package/dist/field/lexical/config/client/sanitize.d.ts +6 -0
  517. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -0
  518. package/dist/field/lexical/config/client/sanitize.js +126 -0
  519. package/dist/field/lexical/config/server/default.d.ts +8 -0
  520. package/dist/field/lexical/config/server/default.d.ts.map +1 -0
  521. package/dist/field/lexical/config/server/default.js +51 -0
  522. package/dist/field/lexical/config/server/loader.d.ts +7 -0
  523. package/dist/field/lexical/config/server/loader.d.ts.map +1 -0
  524. package/dist/field/lexical/config/server/loader.js +118 -0
  525. package/dist/field/lexical/config/server/sanitize.d.ts +5 -0
  526. package/dist/field/lexical/config/server/sanitize.d.ts.map +1 -0
  527. package/dist/field/lexical/config/server/sanitize.js +65 -0
  528. package/dist/field/lexical/config/types.d.ts +18 -9
  529. package/dist/field/lexical/config/types.d.ts.map +1 -1
  530. package/dist/field/lexical/config/types.js +2 -5
  531. package/dist/field/lexical/nodes/index.d.ts +2 -2
  532. package/dist/field/lexical/nodes/index.d.ts.map +1 -1
  533. package/dist/field/lexical/nodes/index.js +8 -13
  534. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +19 -70
  535. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.scss +0 -2
  536. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +3 -3
  537. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -1
  538. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +40 -98
  539. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  540. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +12 -85
  541. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +1 -1
  542. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  543. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +57 -127
  544. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.scss +1 -1
  545. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +4 -4
  546. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +1 -1
  547. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +2 -5
  548. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +7 -58
  549. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +39 -64
  550. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -2
  551. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  552. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +32 -104
  553. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +6 -6
  554. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  555. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +3 -21
  556. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  557. package/dist/field/lexical/plugins/SlashMenu/index.js +27 -84
  558. package/dist/field/lexical/plugins/SlashMenu/index.scss +1 -1
  559. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +8 -16
  560. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +35 -84
  561. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -2
  562. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +2 -12
  563. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +2 -12
  564. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +18 -28
  565. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +4 -14
  566. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +52 -102
  567. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -2
  568. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +8 -18
  569. package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +2 -12
  570. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +4 -14
  571. package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +2 -12
  572. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +2 -12
  573. package/dist/field/lexical/theme/EditorTheme.js +3 -13
  574. package/dist/field/lexical/theme/EditorTheme.scss +0 -2
  575. package/dist/field/lexical/ui/ContentEditable.js +6 -57
  576. package/dist/field/lexical/ui/icons/AI/index.js +7 -22
  577. package/dist/field/lexical/ui/icons/AlignCenter/index.js +6 -21
  578. package/dist/field/lexical/ui/icons/AlignJustify/index.js +6 -21
  579. package/dist/field/lexical/ui/icons/AlignLeft/index.js +6 -21
  580. package/dist/field/lexical/ui/icons/AlignRight/index.js +6 -21
  581. package/dist/field/lexical/ui/icons/Block/index.js +6 -21
  582. package/dist/field/lexical/ui/icons/Blockquote/index.js +4 -19
  583. package/dist/field/lexical/ui/icons/Bold/index.js +4 -19
  584. package/dist/field/lexical/ui/icons/Checklist/index.js +5 -20
  585. package/dist/field/lexical/ui/icons/Code/index.js +5 -20
  586. package/dist/field/lexical/ui/icons/CodeBlock/index.js +5 -20
  587. package/dist/field/lexical/ui/icons/H1/index.js +4 -19
  588. package/dist/field/lexical/ui/icons/H2/index.js +4 -19
  589. package/dist/field/lexical/ui/icons/H3/index.js +4 -19
  590. package/dist/field/lexical/ui/icons/H4/index.js +4 -19
  591. package/dist/field/lexical/ui/icons/H5/index.js +4 -19
  592. package/dist/field/lexical/ui/icons/H6/index.js +4 -19
  593. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +7 -22
  594. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +7 -22
  595. package/dist/field/lexical/ui/icons/Italic/index.js +4 -19
  596. package/dist/field/lexical/ui/icons/Link/index.js +7 -22
  597. package/dist/field/lexical/ui/icons/OrderedList/index.js +8 -23
  598. package/dist/field/lexical/ui/icons/Relationship/index.js +7 -22
  599. package/dist/field/lexical/ui/icons/Strikethrough/index.js +5 -20
  600. package/dist/field/lexical/ui/icons/Subscript/index.js +4 -19
  601. package/dist/field/lexical/ui/icons/Superscript/index.js +4 -19
  602. package/dist/field/lexical/ui/icons/Text/index.js +4 -19
  603. package/dist/field/lexical/ui/icons/Underline/index.js +5 -20
  604. package/dist/field/lexical/ui/icons/UnorderedList/index.js +9 -24
  605. package/dist/field/lexical/ui/icons/Upload/index.js +6 -21
  606. package/dist/field/lexical/utils/canUseDOM.js +2 -12
  607. package/dist/field/lexical/utils/cloneDeep.js +2 -12
  608. package/dist/field/lexical/utils/environment.js +13 -51
  609. package/dist/field/lexical/utils/getDOMRangeRect.js +2 -12
  610. package/dist/field/lexical/utils/getSelectedNode.js +5 -15
  611. package/dist/field/lexical/utils/guard.js +2 -12
  612. package/dist/field/lexical/utils/invariant.js +2 -12
  613. package/dist/field/lexical/utils/joinClasses.js +2 -12
  614. package/dist/field/lexical/utils/markdown/createBlockNode.js +2 -12
  615. package/dist/field/lexical/utils/nodeFormat.js +17 -61
  616. package/dist/field/lexical/utils/point.js +3 -21
  617. package/dist/field/lexical/utils/rect.js +4 -14
  618. package/dist/field/lexical/utils/setFloatingElemPosition.js +5 -12
  619. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +2 -12
  620. package/dist/field/lexical/utils/swipe.js +5 -29
  621. package/dist/field/lexical/utils/url.js +3 -21
  622. package/dist/generateComponentMap.d.ts +6 -0
  623. package/dist/generateComponentMap.d.ts.map +1 -0
  624. package/dist/generateComponentMap.js +77 -0
  625. package/dist/generateSchemaMap.d.ts +6 -0
  626. package/dist/generateSchemaMap.d.ts.map +1 -0
  627. package/dist/generateSchemaMap.js +27 -0
  628. package/dist/index.d.ts +59 -56
  629. package/dist/index.d.ts.map +1 -1
  630. package/dist/index.js +130 -488
  631. package/dist/populate/defaultValue.js +8 -26
  632. package/dist/populate/populate.js +2 -12
  633. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  634. package/dist/populate/recurseNestedFields.js +6 -14
  635. package/dist/populate/richTextRelationshipPromise.js +4 -22
  636. package/dist/scss/app.scss +209 -0
  637. package/dist/scss/colors.scss +269 -0
  638. package/dist/scss/custom.css +1 -0
  639. package/dist/scss/fonts.scss +75 -0
  640. package/dist/scss/queries.scss +27 -0
  641. package/dist/scss/resets.scss +17 -0
  642. package/dist/scss/styles.scss +11 -0
  643. package/dist/scss/svg.scss +10 -0
  644. package/dist/scss/toastify.scss +58 -0
  645. package/dist/scss/type.scss +117 -0
  646. package/dist/scss/vars.scss +220 -0
  647. package/dist/scss/z-index.scss +9 -0
  648. package/dist/types.d.ts +8 -2
  649. package/dist/types.d.ts.map +1 -1
  650. package/dist/types.js +2 -5
  651. package/dist/useLexicalFeature.d.ts +3 -0
  652. package/dist/useLexicalFeature.d.ts.map +1 -0
  653. package/dist/useLexicalFeature.js +9 -0
  654. package/dist/validate/index.d.ts +4 -4
  655. package/dist/validate/index.d.ts.map +1 -1
  656. package/dist/validate/index.js +7 -18
  657. package/dist/validate/validateNodes.d.ts +2 -4
  658. package/dist/validate/validateNodes.d.ts.map +1 -1
  659. package/dist/validate/validateNodes.js +2 -14
  660. package/package.json +13 -7
  661. package/dist/field/features/BlockQuote/index.d.ts +0 -3
  662. package/dist/field/features/BlockQuote/index.d.ts.map +0 -1
  663. package/dist/field/features/BlockQuote/index.js +0 -140
  664. package/dist/field/features/BlockQuote/markdownTransformer.d.ts.map +0 -1
  665. package/dist/field/features/BlockQuote/markdownTransformer.js +0 -50
  666. package/dist/field/features/Blocks/component/BlockContent.d.ts +0 -20
  667. package/dist/field/features/Blocks/component/BlockContent.d.ts.map +0 -1
  668. package/dist/field/features/Blocks/component/BlockContent.js +0 -220
  669. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts +0 -11
  670. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts.map +0 -1
  671. package/dist/field/features/Blocks/component/FormSavePlugin.js +0 -34
  672. package/dist/field/features/Blocks/component/index.d.ts +0 -15
  673. package/dist/field/features/Blocks/component/index.d.ts.map +0 -1
  674. package/dist/field/features/Blocks/component/index.js +0 -150
  675. package/dist/field/features/Blocks/component/index.scss +0 -153
  676. package/dist/field/features/Blocks/drawer/index.d.ts.map +0 -1
  677. package/dist/field/features/Blocks/drawer/index.js +0 -140
  678. package/dist/field/features/Blocks/index.d.ts +0 -7
  679. package/dist/field/features/Blocks/index.d.ts.map +0 -1
  680. package/dist/field/features/Blocks/index.js +0 -147
  681. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +0 -1
  682. package/dist/field/features/Blocks/nodes/BlocksNode.js +0 -173
  683. package/dist/field/features/Blocks/plugin/commands.d.ts.map +0 -1
  684. package/dist/field/features/Blocks/plugin/commands.js +0 -14
  685. package/dist/field/features/Blocks/plugin/index.d.ts +0 -5
  686. package/dist/field/features/Blocks/plugin/index.d.ts.map +0 -1
  687. package/dist/field/features/Blocks/plugin/index.js +0 -91
  688. package/dist/field/features/Blocks/populationPromise.d.ts +0 -5
  689. package/dist/field/features/Blocks/populationPromise.d.ts.map +0 -1
  690. package/dist/field/features/Blocks/populationPromise.js +0 -55
  691. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts +0 -11
  692. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts.map +0 -1
  693. package/dist/field/features/Blocks/utils/transformInputFormData.js +0 -35
  694. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts +0 -3
  695. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts.map +0 -1
  696. package/dist/field/features/Blocks/utils/transformInputFormSchema.js +0 -43
  697. package/dist/field/features/Blocks/validate.d.ts +0 -5
  698. package/dist/field/features/Blocks/validate.d.ts.map +0 -1
  699. package/dist/field/features/Blocks/validate.js +0 -62
  700. package/dist/field/features/Heading/index.d.ts +0 -8
  701. package/dist/field/features/Heading/index.d.ts.map +0 -1
  702. package/dist/field/features/Heading/index.js +0 -164
  703. package/dist/field/features/Heading/markdownTransformer.d.ts.map +0 -1
  704. package/dist/field/features/Heading/markdownTransformer.js +0 -39
  705. package/dist/field/features/Link/drawer/baseFields.d.ts.map +0 -1
  706. package/dist/field/features/Link/drawer/baseFields.js +0 -128
  707. package/dist/field/features/Link/drawer/index.d.ts.map +0 -1
  708. package/dist/field/features/Link/drawer/index.js +0 -40
  709. package/dist/field/features/Link/drawer/index.scss +0 -50
  710. package/dist/field/features/Link/drawer/types.d.ts +0 -8
  711. package/dist/field/features/Link/drawer/types.d.ts.map +0 -1
  712. package/dist/field/features/Link/drawer/types.js +0 -6
  713. package/dist/field/features/Link/index.d.ts +0 -33
  714. package/dist/field/features/Link/index.d.ts.map +0 -1
  715. package/dist/field/features/Link/index.js +0 -201
  716. package/dist/field/features/Link/nodes/AutoLinkNode.d.ts +0 -16
  717. package/dist/field/features/Link/nodes/AutoLinkNode.d.ts.map +0 -1
  718. package/dist/field/features/Link/nodes/AutoLinkNode.js +0 -79
  719. package/dist/field/features/Link/nodes/LinkNode.d.ts +0 -50
  720. package/dist/field/features/Link/nodes/LinkNode.d.ts.map +0 -1
  721. package/dist/field/features/Link/nodes/LinkNode.js +0 -326
  722. package/dist/field/features/Link/plugins/autoLink/index.d.ts +0 -19
  723. package/dist/field/features/Link/plugins/autoLink/index.d.ts.map +0 -1
  724. package/dist/field/features/Link/plugins/autoLink/index.js +0 -336
  725. package/dist/field/features/Link/plugins/clickableLink/index.d.ts.map +0 -1
  726. package/dist/field/features/Link/plugins/clickableLink/index.js +0 -23
  727. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +0 -1
  728. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.js +0 -14
  729. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +0 -6
  730. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +0 -1
  731. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +0 -336
  732. package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts +0 -7
  733. package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts.map +0 -1
  734. package/dist/field/features/Link/plugins/floatingLinkEditor/index.js +0 -65
  735. package/dist/field/features/Link/plugins/floatingLinkEditor/index.scss +0 -78
  736. package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts +0 -13
  737. package/dist/field/features/Link/plugins/floatingLinkEditor/types.d.ts.map +0 -1
  738. package/dist/field/features/Link/plugins/floatingLinkEditor/types.js +0 -6
  739. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts +0 -12
  740. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts.map +0 -1
  741. package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.js +0 -45
  742. package/dist/field/features/Link/plugins/link/index.d.ts.map +0 -1
  743. package/dist/field/features/Link/plugins/link/index.js +0 -69
  744. package/dist/field/features/Link/populationPromise.d.ts +0 -5
  745. package/dist/field/features/Link/populationPromise.d.ts.map +0 -1
  746. package/dist/field/features/Link/populationPromise.js +0 -56
  747. package/dist/field/features/Paragraph/index.d.ts +0 -3
  748. package/dist/field/features/Paragraph/index.d.ts.map +0 -1
  749. package/dist/field/features/Paragraph/index.js +0 -114
  750. package/dist/field/features/Relationship/drawer/commands.d.ts.map +0 -1
  751. package/dist/field/features/Relationship/drawer/commands.js +0 -14
  752. package/dist/field/features/Relationship/drawer/index.d.ts.map +0 -1
  753. package/dist/field/features/Relationship/drawer/index.js +0 -130
  754. package/dist/field/features/Relationship/index.d.ts +0 -18
  755. package/dist/field/features/Relationship/index.d.ts.map +0 -1
  756. package/dist/field/features/Relationship/index.js +0 -115
  757. package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +0 -1
  758. package/dist/field/features/Relationship/nodes/RelationshipNode.js +0 -172
  759. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +0 -1
  760. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +0 -161
  761. package/dist/field/features/Relationship/nodes/components/index.scss +0 -97
  762. package/dist/field/features/Relationship/plugins/index.d.ts +0 -7
  763. package/dist/field/features/Relationship/plugins/index.d.ts.map +0 -1
  764. package/dist/field/features/Relationship/plugins/index.js +0 -107
  765. package/dist/field/features/Relationship/populationPromise.d.ts.map +0 -1
  766. package/dist/field/features/Relationship/populationPromise.js +0 -34
  767. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.d.ts.map +0 -1
  768. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.js +0 -84
  769. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +0 -1
  770. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +0 -148
  771. package/dist/field/features/Upload/component/index.d.ts.map +0 -1
  772. package/dist/field/features/Upload/component/index.js +0 -191
  773. package/dist/field/features/Upload/component/index.scss +0 -152
  774. package/dist/field/features/Upload/drawer/commands.d.ts.map +0 -1
  775. package/dist/field/features/Upload/drawer/commands.js +0 -14
  776. package/dist/field/features/Upload/drawer/index.d.ts.map +0 -1
  777. package/dist/field/features/Upload/drawer/index.js +0 -127
  778. package/dist/field/features/Upload/index.d.ts +0 -11
  779. package/dist/field/features/Upload/index.d.ts.map +0 -1
  780. package/dist/field/features/Upload/index.js +0 -168
  781. package/dist/field/features/Upload/nodes/UploadNode.d.ts +0 -47
  782. package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +0 -1
  783. package/dist/field/features/Upload/nodes/UploadNode.js +0 -160
  784. package/dist/field/features/Upload/plugin/index.d.ts.map +0 -1
  785. package/dist/field/features/Upload/plugin/index.js +0 -111
  786. package/dist/field/features/Upload/populationPromise.d.ts +0 -5
  787. package/dist/field/features/Upload/populationPromise.d.ts.map +0 -1
  788. package/dist/field/features/Upload/populationPromise.js +0 -56
  789. package/dist/field/features/Upload/validate.d.ts.map +0 -1
  790. package/dist/field/features/Upload/validate.js +0 -29
  791. package/dist/field/features/align/index.d.ts +0 -3
  792. package/dist/field/features/align/index.d.ts.map +0 -1
  793. package/dist/field/features/align/index.js +0 -121
  794. package/dist/field/features/converters/html/index.d.ts +0 -13
  795. package/dist/field/features/converters/html/index.d.ts.map +0 -1
  796. package/dist/field/features/converters/html/index.js +0 -25
  797. package/dist/field/features/debug/TestRecorder/index.d.ts +0 -3
  798. package/dist/field/features/debug/TestRecorder/index.d.ts.map +0 -1
  799. package/dist/field/features/debug/TestRecorder/index.js +0 -70
  800. package/dist/field/features/debug/TestRecorder/plugin/index.d.ts.map +0 -1
  801. package/dist/field/features/debug/TestRecorder/plugin/index.js +0 -500
  802. package/dist/field/features/debug/TestRecorder/plugin/index.scss +0 -51
  803. package/dist/field/features/debug/TreeView/index.d.ts +0 -3
  804. package/dist/field/features/debug/TreeView/index.d.ts.map +0 -1
  805. package/dist/field/features/debug/TreeView/index.js +0 -70
  806. package/dist/field/features/debug/TreeView/plugin.d.ts +0 -4
  807. package/dist/field/features/debug/TreeView/plugin.d.ts.map +0 -1
  808. package/dist/field/features/debug/TreeView/plugin.js +0 -70
  809. package/dist/field/features/format/Bold/index.d.ts +0 -3
  810. package/dist/field/features/format/Bold/index.d.ts.map +0 -1
  811. package/dist/field/features/format/Bold/index.js +0 -98
  812. package/dist/field/features/format/Bold/markdownTransformers.d.ts.map +0 -1
  813. package/dist/field/features/format/Bold/markdownTransformers.js +0 -58
  814. package/dist/field/features/format/InlineCode/index.d.ts +0 -3
  815. package/dist/field/features/format/InlineCode/index.d.ts.map +0 -1
  816. package/dist/field/features/format/InlineCode/index.js +0 -90
  817. package/dist/field/features/format/InlineCode/markdownTransformers.d.ts.map +0 -1
  818. package/dist/field/features/format/InlineCode/markdownTransformers.js +0 -19
  819. package/dist/field/features/format/Italic/index.d.ts +0 -3
  820. package/dist/field/features/format/Italic/index.d.ts.map +0 -1
  821. package/dist/field/features/format/Italic/index.js +0 -91
  822. package/dist/field/features/format/Italic/markdownTransformers.d.ts.map +0 -1
  823. package/dist/field/features/format/Italic/markdownTransformers.js +0 -35
  824. package/dist/field/features/format/strikethrough/index.d.ts +0 -3
  825. package/dist/field/features/format/strikethrough/index.d.ts.map +0 -1
  826. package/dist/field/features/format/strikethrough/index.js +0 -90
  827. package/dist/field/features/format/subscript/index.d.ts +0 -3
  828. package/dist/field/features/format/subscript/index.d.ts.map +0 -1
  829. package/dist/field/features/format/subscript/index.js +0 -86
  830. package/dist/field/features/format/superscript/index.d.ts +0 -3
  831. package/dist/field/features/format/superscript/index.d.ts.map +0 -1
  832. package/dist/field/features/format/superscript/index.js +0 -86
  833. package/dist/field/features/format/underline/index.d.ts +0 -3
  834. package/dist/field/features/format/underline/index.d.ts.map +0 -1
  835. package/dist/field/features/format/underline/index.js +0 -86
  836. package/dist/field/features/indent/index.d.ts +0 -3
  837. package/dist/field/features/indent/index.d.ts.map +0 -1
  838. package/dist/field/features/indent/index.js +0 -114
  839. package/dist/field/features/indent/plugin.d.ts +0 -3
  840. package/dist/field/features/indent/plugin.d.ts.map +0 -1
  841. package/dist/field/features/indent/plugin.js +0 -17
  842. package/dist/field/features/lists/CheckList/index.d.ts +0 -3
  843. package/dist/field/features/lists/CheckList/index.d.ts.map +0 -1
  844. package/dist/field/features/lists/CheckList/index.js +0 -135
  845. package/dist/field/features/lists/CheckList/markdownTransformers.d.ts.map +0 -1
  846. package/dist/field/features/lists/CheckList/markdownTransformers.js +0 -26
  847. package/dist/field/features/lists/CheckList/plugin/index.d.ts.map +0 -1
  848. package/dist/field/features/lists/CheckList/plugin/index.js +0 -23
  849. package/dist/field/features/lists/OrderedList/index.d.ts +0 -3
  850. package/dist/field/features/lists/OrderedList/index.d.ts.map +0 -1
  851. package/dist/field/features/lists/OrderedList/index.js +0 -133
  852. package/dist/field/features/lists/OrderedList/markdownTransformer.d.ts.map +0 -1
  853. package/dist/field/features/lists/OrderedList/markdownTransformer.js +0 -26
  854. package/dist/field/features/lists/UnorderedList/index.d.ts +0 -3
  855. package/dist/field/features/lists/UnorderedList/index.d.ts.map +0 -1
  856. package/dist/field/features/lists/UnorderedList/index.js +0 -133
  857. package/dist/field/features/lists/UnorderedList/markdownTransformer.d.ts.map +0 -1
  858. package/dist/field/features/lists/UnorderedList/markdownTransformer.js +0 -26
  859. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.d.ts +0 -3
  860. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.d.ts.map +0 -1
  861. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/heading.js +0 -30
  862. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.d.ts +0 -3
  863. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.d.ts.map +0 -1
  864. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.js +0 -41
  865. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.d.ts +0 -3
  866. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.d.ts.map +0 -1
  867. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/list.js +0 -32
  868. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.d.ts +0 -3
  869. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.d.ts.map +0 -1
  870. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/listItem.js +0 -32
  871. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.d.ts +0 -3
  872. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.d.ts.map +0 -1
  873. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/quote.js +0 -30
  874. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.d.ts +0 -3
  875. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.d.ts.map +0 -1
  876. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/unknown.js +0 -36
  877. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.d.ts +0 -3
  878. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.d.ts.map +0 -1
  879. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/upload.js +0 -35
  880. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.d.ts +0 -3
  881. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.d.ts.map +0 -1
  882. package/dist/field/features/migrations/LexicalPluginToLexical/converter/defaultConverters.js +0 -28
  883. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.d.ts +0 -18
  884. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.d.ts.map +0 -1
  885. package/dist/field/features/migrations/LexicalPluginToLexical/converter/index.js +0 -90
  886. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.d.ts +0 -20
  887. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.d.ts.map +0 -1
  888. package/dist/field/features/migrations/LexicalPluginToLexical/converter/types.js +0 -6
  889. package/dist/field/features/migrations/LexicalPluginToLexical/index.d.ts +0 -10
  890. package/dist/field/features/migrations/LexicalPluginToLexical/index.d.ts.map +0 -1
  891. package/dist/field/features/migrations/LexicalPluginToLexical/index.js +0 -50
  892. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  893. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +0 -23
  894. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  895. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.js +0 -131
  896. package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  897. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts +0 -3
  898. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts.map +0 -1
  899. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.js +0 -33
  900. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts +0 -3
  901. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts.map +0 -1
  902. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.js +0 -39
  903. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts +0 -3
  904. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts.map +0 -1
  905. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.js +0 -57
  906. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts +0 -3
  907. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts.map +0 -1
  908. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.js +0 -40
  909. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts +0 -3
  910. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts.map +0 -1
  911. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.js +0 -35
  912. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts +0 -3
  913. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts.map +0 -1
  914. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.js +0 -36
  915. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts +0 -3
  916. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts.map +0 -1
  917. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.js +0 -28
  918. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts +0 -3
  919. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts.map +0 -1
  920. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.js +0 -37
  921. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts +0 -3
  922. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts.map +0 -1
  923. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.js +0 -36
  924. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts +0 -3
  925. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts.map +0 -1
  926. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.js +0 -31
  927. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts +0 -3
  928. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts.map +0 -1
  929. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.js +0 -34
  930. package/dist/field/features/migrations/SlateToLexical/converter/index.d.ts +0 -19
  931. package/dist/field/features/migrations/SlateToLexical/converter/index.d.ts.map +0 -1
  932. package/dist/field/features/migrations/SlateToLexical/converter/index.js +0 -131
  933. package/dist/field/features/migrations/SlateToLexical/converter/types.d.ts +0 -16
  934. package/dist/field/features/migrations/SlateToLexical/converter/types.d.ts.map +0 -1
  935. package/dist/field/features/migrations/SlateToLexical/converter/types.js +0 -6
  936. package/dist/field/features/migrations/SlateToLexical/index.d.ts +0 -10
  937. package/dist/field/features/migrations/SlateToLexical/index.d.ts.map +0 -1
  938. package/dist/field/features/migrations/SlateToLexical/index.js +0 -50
  939. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +0 -1
  940. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.js +0 -23
  941. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.d.ts.map +0 -1
  942. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.js +0 -131
  943. package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.scss +0 -16
  944. package/dist/field/lexical/config/EditorConfigProvider.d.ts +0 -16
  945. package/dist/field/lexical/config/EditorConfigProvider.d.ts.map +0 -1
  946. package/dist/field/lexical/config/EditorConfigProvider.js +0 -99
  947. package/dist/field/lexical/config/default.d.ts +0 -6
  948. package/dist/field/lexical/config/default.d.ts.map +0 -1
  949. package/dist/field/lexical/config/default.js +0 -112
  950. package/dist/field/lexical/config/defaultClient.d.ts +0 -3
  951. package/dist/field/lexical/config/defaultClient.d.ts.map +0 -1
  952. package/dist/field/lexical/config/defaultClient.js +0 -17
  953. package/dist/field/lexical/config/loader.d.ts +0 -7
  954. package/dist/field/lexical/config/loader.d.ts.map +0 -1
  955. package/dist/field/lexical/config/loader.js +0 -133
  956. package/dist/field/lexical/config/sanitize.d.ts +0 -5
  957. package/dist/field/lexical/config/sanitize.d.ts.map +0 -1
  958. package/dist/field/lexical/config/sanitize.js +0 -170
  959. /package/dist/field/features/{BlockQuote → blockquote}/markdownTransformer.d.ts +0 -0
  960. /package/dist/field/features/{Blocks → blocks}/drawer/index.d.ts +0 -0
  961. /package/dist/field/features/{Blocks → blocks}/nodes/BlocksNode.d.ts +0 -0
  962. /package/dist/field/features/{Blocks → blocks}/plugin/commands.d.ts +0 -0
  963. /package/dist/field/features/debug/{TestRecorder → testrecorder}/plugin/index.d.ts +0 -0
  964. /package/dist/field/features/debug/{TreeView → treeview/plugin}/index.scss +0 -0
  965. /package/dist/field/features/format/{Bold → bold}/markdownTransformers.d.ts +0 -0
  966. /package/dist/field/features/format/{InlineCode → inlinecode}/markdownTransformers.d.ts +0 -0
  967. /package/dist/field/features/format/{Italic → italic}/markdownTransformers.d.ts +0 -0
  968. /package/dist/field/features/{Heading → heading}/markdownTransformer.d.ts +0 -0
  969. /package/dist/field/features/{Link → link}/drawer/baseFields.d.ts +0 -0
  970. /package/dist/field/features/{Link → link}/drawer/index.d.ts +0 -0
  971. /package/dist/field/features/{Link → link}/plugins/clickableLink/index.d.ts +0 -0
  972. /package/dist/field/features/{Link → link}/plugins/floatingLinkEditor/LinkEditor/commands.d.ts +0 -0
  973. /package/dist/field/features/{Link → link}/plugins/link/index.d.ts +0 -0
  974. /package/dist/field/features/lists/{CheckList → checklist}/markdownTransformers.d.ts +0 -0
  975. /package/dist/field/features/lists/{CheckList → checklist}/plugin/index.d.ts +0 -0
  976. /package/dist/field/features/lists/{OrderedList → orderedlist}/markdownTransformer.d.ts +0 -0
  977. /package/dist/field/features/lists/{UnorderedList → unorderedlist}/markdownTransformer.d.ts +0 -0
  978. /package/dist/field/features/migrations/{LexicalPluginToLexical → lexicalPluginToLexical}/nodes/unknownConvertedNode/Component.d.ts +0 -0
  979. /package/dist/field/features/migrations/{LexicalPluginToLexical → lexicalPluginToLexical}/nodes/unknownConvertedNode/index.d.ts +0 -0
  980. /package/dist/field/features/migrations/{SlateToLexical → slateToLexical}/nodes/unknownConvertedNode/Component.d.ts +0 -0
  981. /package/dist/field/features/migrations/{SlateToLexical → slateToLexical}/nodes/unknownConvertedNode/index.d.ts +0 -0
  982. /package/dist/field/features/{Relationship → relationship}/drawer/commands.d.ts +0 -0
  983. /package/dist/field/features/{Relationship → relationship}/drawer/index.d.ts +0 -0
  984. /package/dist/field/features/{Relationship → relationship}/nodes/RelationshipNode.d.ts +0 -0
  985. /package/dist/field/features/{Relationship → relationship}/nodes/components/RelationshipComponent.d.ts +0 -0
  986. /package/dist/field/features/{Relationship → relationship}/populationPromise.d.ts +0 -0
  987. /package/dist/field/features/{Relationship → relationship}/utils/EnabledRelationshipsCondition.d.ts +0 -0
  988. /package/dist/field/features/{Upload → upload}/component/ExtraFieldsDrawer/index.d.ts +0 -0
  989. /package/dist/field/features/{Upload → upload}/component/index.d.ts +0 -0
  990. /package/dist/field/features/{Upload → upload}/drawer/commands.d.ts +0 -0
  991. /package/dist/field/features/{Upload → upload}/drawer/index.d.ts +0 -0
  992. /package/dist/field/features/{Upload → upload}/plugin/index.d.ts +0 -0
  993. /package/dist/field/features/{Upload → upload}/validate.d.ts +0 -0
@@ -1,35 +1,8 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- LexicalMenu: function() {
14
- return LexicalMenu;
15
- },
16
- SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND: function() {
17
- return SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND;
18
- },
19
- getScrollParent: function() {
20
- return getScrollParent;
21
- },
22
- useDynamicPositioning: function() {
23
- return useDynamicPositioning;
24
- },
25
- useMenuAnchorRef: function() {
26
- return useMenuAnchorRef;
27
- }
28
- });
29
- const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
30
- const _utils = require("@lexical/utils");
31
- const _lexical = require("lexical");
32
- const _react = require("react");
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
+ import { mergeRegister } from '@lexical/utils';
4
+ import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, KEY_TAB_COMMAND, createCommand } from 'lexical';
5
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
33
6
  const baseClass = 'slash-menu-popup';
34
7
  const scrollIntoViewIfNeeded = (target)=>{
35
8
  const typeaheadContainerNode = document.getElementById('slash-menu');
@@ -65,8 +38,8 @@ const scrollIntoViewIfNeeded = (target)=>{
65
38
  * Split Lexical TextNode and return a new TextNode only containing matched text.
66
39
  * Common use cases include: removing the node, replacing with a new node.
67
40
  */ function $splitNodeContainingQuery(match) {
68
- const selection = (0, _lexical.$getSelection)();
69
- if (!(0, _lexical.$isRangeSelection)(selection) || !selection.isCollapsed()) {
41
+ const selection = $getSelection();
42
+ if (!$isRangeSelection(selection) || !selection.isCollapsed()) {
70
43
  return null;
71
44
  }
72
45
  const anchor = selection.anchor;
@@ -95,7 +68,8 @@ const scrollIntoViewIfNeeded = (target)=>{
95
68
  }
96
69
  return newNode;
97
70
  }
98
- function getScrollParent(element, includeHidden) {
71
+ // Got from https://stackoverflow.com/a/42543908/2013580
72
+ export function getScrollParent(element, includeHidden) {
99
73
  let style = getComputedStyle(element);
100
74
  const excludeStaticParent = style.position === 'absolute';
101
75
  const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;
@@ -118,9 +92,10 @@ function isTriggerVisibleInNearestScrollContainer(targetElement, containerElemen
118
92
  const cRect = containerElement.getBoundingClientRect();
119
93
  return tRect.top > cRect.top && tRect.top < cRect.bottom;
120
94
  }
121
- function useDynamicPositioning(resolution, targetElement, onReposition, onVisibilityChange) {
122
- const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
123
- (0, _react.useEffect)(()=>{
95
+ // Reposition the menu on scroll, window resize, and element resize.
96
+ export function useDynamicPositioning(resolution, targetElement, onReposition, onVisibilityChange) {
97
+ const [editor] = useLexicalComposerContext();
98
+ useEffect(()=>{
124
99
  if (targetElement != null && resolution != null) {
125
100
  const rootElement = editor.getRootElement();
126
101
  const rootScrollParent = rootElement != null ? getScrollParent(rootElement, false) : document.body;
@@ -163,12 +138,12 @@ function useDynamicPositioning(resolution, targetElement, onReposition, onVisibi
163
138
  resolution
164
139
  ]);
165
140
  }
166
- const SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND = (0, _lexical.createCommand)('SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND');
167
- function LexicalMenu({ anchorElementRef, close, editor, // groupsWithOptions filtering is already handled in SlashMenu/index.tsx. Thus, groupsWithOptions always contains the matching options.
141
+ export const SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND = createCommand('SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND');
142
+ export function LexicalMenu({ anchorElementRef, close, editor, // groupsWithOptions filtering is already handled in SlashMenu/index.tsx. Thus, groupsWithOptions always contains the matching options.
168
143
  groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWithQuery = false }) {
169
- const [selectedOptionKey, setSelectedOptionKey] = (0, _react.useState)(null);
144
+ const [selectedOptionKey, setSelectedOptionKey] = useState(null);
170
145
  const matchingString = resolution.match && resolution.match.matchingString || '';
171
- const updateSelectedOption = (0, _react.useCallback)((option)=>{
146
+ const updateSelectedOption = useCallback((option)=>{
172
147
  const rootElem = editor.getRootElement();
173
148
  if (rootElem !== null) {
174
149
  rootElem.setAttribute('aria-activedescendant', `${baseClass}__item-${option.key}`);
@@ -177,7 +152,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
177
152
  }, [
178
153
  editor
179
154
  ]);
180
- const setSelectedOptionKeyToFirstMatchingOption = (0, _react.useCallback)(()=>{
155
+ const setSelectedOptionKeyToFirstMatchingOption = useCallback(()=>{
181
156
  // set selected option to the first of the matching ones
182
157
  if (groupsWithOptions !== null && matchingString != null) {
183
158
  // groupsWithOptions filtering is already handled in SlashMenu/index.tsx. Thus, groupsWithOptions always contains the matching options.
@@ -192,13 +167,13 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
192
167
  updateSelectedOption,
193
168
  matchingString
194
169
  ]);
195
- (0, _react.useEffect)(()=>{
170
+ useEffect(()=>{
196
171
  setSelectedOptionKeyToFirstMatchingOption();
197
172
  }, [
198
173
  matchingString,
199
174
  setSelectedOptionKeyToFirstMatchingOption
200
175
  ]);
201
- const selectOptionAndCleanUp = (0, _react.useCallback)((selectedOption)=>{
176
+ const selectOptionAndCleanUp = useCallback((selectedOption)=>{
202
177
  editor.update(()=>{
203
178
  const textNodeContainingQuery = resolution.match != null && shouldSplitNodeWithQuery ? $splitNodeContainingQuery(resolution.match) : null;
204
179
  onSelectOption(selectedOption, textNodeContainingQuery, close, resolution.match ? resolution.match.matchingString : '');
@@ -210,7 +185,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
210
185
  onSelectOption,
211
186
  close
212
187
  ]);
213
- (0, _react.useEffect)(()=>{
188
+ useEffect(()=>{
214
189
  return ()=>{
215
190
  const rootElem = editor.getRootElement();
216
191
  if (rootElem !== null) {
@@ -220,7 +195,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
220
195
  }, [
221
196
  editor
222
197
  ]);
223
- (0, _react.useLayoutEffect)(()=>{
198
+ useLayoutEffect(()=>{
224
199
  if (groupsWithOptions === null) {
225
200
  setSelectedOptionKey(null);
226
201
  } else if (selectedOptionKey === null) {
@@ -232,20 +207,20 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
232
207
  updateSelectedOption,
233
208
  setSelectedOptionKeyToFirstMatchingOption
234
209
  ]);
235
- (0, _react.useEffect)(()=>{
236
- return (0, _utils.mergeRegister)(editor.registerCommand(SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND, ({ option })=>{
210
+ useEffect(()=>{
211
+ return mergeRegister(editor.registerCommand(SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND, ({ option })=>{
237
212
  if (option.ref && option.ref.current != null) {
238
213
  scrollIntoViewIfNeeded(option.ref.current);
239
214
  return true;
240
215
  }
241
216
  return false;
242
- }, _lexical.COMMAND_PRIORITY_LOW));
217
+ }, COMMAND_PRIORITY_LOW));
243
218
  }, [
244
219
  editor,
245
220
  updateSelectedOption
246
221
  ]);
247
- (0, _react.useEffect)(()=>{
248
- return (0, _utils.mergeRegister)(editor.registerCommand(_lexical.KEY_ARROW_DOWN_COMMAND, (payload)=>{
222
+ useEffect(()=>{
223
+ return mergeRegister(editor.registerCommand(KEY_ARROW_DOWN_COMMAND, (payload)=>{
249
224
  const event = payload;
250
225
  if (groupsWithOptions !== null && groupsWithOptions.length && selectedOptionKey !== null) {
251
226
  const allOptions = groupsWithOptions.flatMap((group)=>group.options);
@@ -263,7 +238,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
263
238
  event.stopImmediatePropagation();
264
239
  }
265
240
  return true;
266
- }, _lexical.COMMAND_PRIORITY_LOW), editor.registerCommand(_lexical.KEY_ARROW_UP_COMMAND, (payload)=>{
241
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ARROW_UP_COMMAND, (payload)=>{
267
242
  const event = payload;
268
243
  if (groupsWithOptions !== null && groupsWithOptions.length && selectedOptionKey !== null) {
269
244
  const allOptions = groupsWithOptions.flatMap((group)=>group.options);
@@ -278,13 +253,13 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
278
253
  event.stopImmediatePropagation();
279
254
  }
280
255
  return true;
281
- }, _lexical.COMMAND_PRIORITY_LOW), editor.registerCommand(_lexical.KEY_ESCAPE_COMMAND, (payload)=>{
256
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ESCAPE_COMMAND, (payload)=>{
282
257
  const event = payload;
283
258
  event.preventDefault();
284
259
  event.stopImmediatePropagation();
285
260
  close();
286
261
  return true;
287
- }, _lexical.COMMAND_PRIORITY_LOW), editor.registerCommand(_lexical.KEY_TAB_COMMAND, (payload)=>{
262
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_TAB_COMMAND, (payload)=>{
288
263
  const event = payload;
289
264
  if (groupsWithOptions === null || selectedOptionKey === null) {
290
265
  return false;
@@ -298,7 +273,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
298
273
  event.stopImmediatePropagation();
299
274
  selectOptionAndCleanUp(selectedOption);
300
275
  return true;
301
- }, _lexical.COMMAND_PRIORITY_LOW), editor.registerCommand(_lexical.KEY_ENTER_COMMAND, (event)=>{
276
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ENTER_COMMAND, (event)=>{
302
277
  if (groupsWithOptions === null || selectedOptionKey === null) {
303
278
  return false;
304
279
  }
@@ -313,7 +288,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
313
288
  }
314
289
  selectOptionAndCleanUp(selectedOption);
315
290
  return true;
316
- }, _lexical.COMMAND_PRIORITY_LOW));
291
+ }, COMMAND_PRIORITY_LOW));
317
292
  }, [
318
293
  selectOptionAndCleanUp,
319
294
  close,
@@ -322,7 +297,7 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
322
297
  selectedOptionKey,
323
298
  updateSelectedOption
324
299
  ]);
325
- const listItemProps = (0, _react.useMemo)(()=>({
300
+ const listItemProps = useMemo(()=>({
326
301
  groupsWithOptions,
327
302
  selectOptionAndCleanUp,
328
303
  selectedOptionKey,
@@ -334,10 +309,10 @@ groupsWithOptions, menuRenderFn, onSelectOption, resolution, shouldSplitNodeWith
334
309
  ]);
335
310
  return menuRenderFn(anchorElementRef, listItemProps, resolution.match ? resolution.match.matchingString : '');
336
311
  }
337
- function useMenuAnchorRef(anchorElem, resolution, setResolution, className) {
338
- const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
339
- const anchorElementRef = (0, _react.useRef)(document.createElement('div'));
340
- const positionMenu = (0, _react.useCallback)(()=>{
312
+ export function useMenuAnchorRef(anchorElem, resolution, setResolution, className) {
313
+ const [editor] = useLexicalComposerContext();
314
+ const anchorElementRef = useRef(document.createElement('div'));
315
+ const positionMenu = useCallback(()=>{
341
316
  const rootElement = editor.getRootElement();
342
317
  const containerDiv = anchorElementRef.current;
343
318
  const VERTICAL_OFFSET = 32;
@@ -390,7 +365,7 @@ function useMenuAnchorRef(anchorElem, resolution, setResolution, className) {
390
365
  className,
391
366
  anchorElem
392
367
  ]);
393
- (0, _react.useEffect)(()=>{
368
+ useEffect(()=>{
394
369
  const rootElement = editor.getRootElement();
395
370
  if (resolution !== null) {
396
371
  positionMenu();
@@ -409,7 +384,7 @@ function useMenuAnchorRef(anchorElem, resolution, setResolution, className) {
409
384
  positionMenu,
410
385
  resolution
411
386
  ]);
412
- const onVisibilityChange = (0, _react.useCallback)((isInView)=>{
387
+ const onVisibilityChange = useCallback((isInView)=>{
413
388
  if (resolution !== null) {
414
389
  if (!isInView) {
415
390
  setResolution(null);
@@ -423,4 +398,4 @@ function useMenuAnchorRef(anchorElem, resolution, setResolution, className) {
423
398
  return anchorElementRef;
424
399
  }
425
400
 
426
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL0xleGljYWxNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbENvbW1hbmQsIExleGljYWxFZGl0b3IsIFRleHROb2RlIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RQb3J0YWwgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyBtZXJnZVJlZ2lzdGVyIH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQge1xuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gIEtFWV9BUlJPV19ET1dOX0NPTU1BTkQsXG4gIEtFWV9BUlJPV19VUF9DT01NQU5ELFxuICBLRVlfRU5URVJfQ09NTUFORCxcbiAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICBLRVlfVEFCX0NPTU1BTkQsXG4gIGNyZWF0ZUNvbW1hbmQsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBNZW51VGV4dE1hdGNoIH0gZnJvbSAnLi4vdXNlTWVudVRyaWdnZXJNYXRjaCdcbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51T3B0aW9uIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51R3JvdXAgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBNZW51UmVzb2x1dGlvbiA9IHtcbiAgZ2V0UmVjdDogKCkgPT4gRE9NUmVjdFxuICBtYXRjaD86IE1lbnVUZXh0TWF0Y2hcbn1cblxuY29uc3QgYmFzZUNsYXNzID0gJ3NsYXNoLW1lbnUtcG9wdXAnXG5cbmV4cG9ydCB0eXBlIE1lbnVSZW5kZXJGbiA9IChcbiAgYW5jaG9yRWxlbWVudFJlZjogTXV0YWJsZVJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+LFxuICBpdGVtUHJvcHM6IHtcbiAgICBncm91cHNXaXRoT3B0aW9uczogQXJyYXk8U2xhc2hNZW51R3JvdXA+XG4gICAgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcDogKHNlbGVjdGVkT3B0aW9uOiBTbGFzaE1lbnVPcHRpb24pID0+IHZvaWRcbiAgICBzZWxlY3RlZE9wdGlvbktleTogbnVsbCB8IHN0cmluZ1xuICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5OiAob3B0aW9uS2V5OiBzdHJpbmcpID0+IHZvaWRcbiAgfSxcbiAgbWF0Y2hpbmdTdHJpbmc6IG51bGwgfCBzdHJpbmcsXG4pID0+IEpTWC5FbGVtZW50IHwgUmVhY3RQb3J0YWwgfCBudWxsXG5cbmNvbnN0IHNjcm9sbEludG9WaWV3SWZOZWVkZWQgPSAodGFyZ2V0OiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCB0eXBlYWhlYWRDb250YWluZXJOb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsYXNoLW1lbnUnKVxuICBpZiAoIXR5cGVhaGVhZENvbnRhaW5lck5vZGUpIHJldHVyblxuXG4gIGNvbnN0IHR5cGVhaGVhZFJlY3QgPSB0eXBlYWhlYWRDb250YWluZXJOb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG5cbiAgaWYgKHR5cGVhaGVhZFJlY3QudG9wICsgdHlwZWFoZWFkUmVjdC5oZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICB0eXBlYWhlYWRDb250YWluZXJOb2RlLnNjcm9sbEludG9WaWV3KHtcbiAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVhaGVhZFJlY3QudG9wIDwgMCkge1xuICAgIHR5cGVhaGVhZENvbnRhaW5lck5vZGUuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgIH0pXG4gIH1cblxuICB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pXG59XG5cbi8qKlxuICogV2FsayBiYWNrd2FyZHMgYWxvbmcgdXNlciBpbnB1dCBhbmQgZm9yd2FyZCB0aHJvdWdoIGVudGl0eSB0aXRsZSB0byB0cnlcbiAqIGFuZCByZXBsYWNlIG1vcmUgb2YgdGhlIHVzZXIncyB0ZXh0IHdpdGggZW50aXR5LlxuICovXG5mdW5jdGlvbiBnZXRGdWxsTWF0Y2hPZmZzZXQoZG9jdW1lbnRUZXh0OiBzdHJpbmcsIGVudHJ5VGV4dDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCB0cmlnZ2VyT2Zmc2V0ID0gb2Zmc2V0XG4gIGZvciAobGV0IGkgPSB0cmlnZ2VyT2Zmc2V0OyBpIDw9IGVudHJ5VGV4dC5sZW5ndGg7IGkrKykge1xuICAgIGlmIChkb2N1bWVudFRleHQuc3Vic3RyKC1pKSA9PT0gZW50cnlUZXh0LnN1YnN0cigwLCBpKSkge1xuICAgICAgdHJpZ2dlck9mZnNldCA9IGlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRyaWdnZXJPZmZzZXRcbn1cblxuLyoqXG4gKiBTcGxpdCBMZXhpY2FsIFRleHROb2RlIGFuZCByZXR1cm4gYSBuZXcgVGV4dE5vZGUgb25seSBjb250YWluaW5nIG1hdGNoZWQgdGV4dC5cbiAqIENvbW1vbiB1c2UgY2FzZXMgaW5jbHVkZTogcmVtb3ZpbmcgdGhlIG5vZGUsIHJlcGxhY2luZyB3aXRoIGEgbmV3IG5vZGUuXG4gKi9cbmZ1bmN0aW9uICRzcGxpdE5vZGVDb250YWluaW5nUXVlcnkobWF0Y2g6IE1lbnVUZXh0TWF0Y2gpOiBUZXh0Tm9kZSB8IG51bGwge1xuICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8ICFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgY29uc3QgYW5jaG9yID0gc2VsZWN0aW9uLmFuY2hvclxuICBpZiAoYW5jaG9yLnR5cGUgIT09ICd0ZXh0Jykge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgY29uc3QgYW5jaG9yTm9kZSA9IGFuY2hvci5nZXROb2RlKClcbiAgaWYgKCFhbmNob3JOb2RlLmlzU2ltcGxlVGV4dCgpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBjb25zdCBzZWxlY3Rpb25PZmZzZXQgPSBhbmNob3Iub2Zmc2V0XG4gIGNvbnN0IHRleHRDb250ZW50ID0gYW5jaG9yTm9kZS5nZXRUZXh0Q29udGVudCgpLnNsaWNlKDAsIHNlbGVjdGlvbk9mZnNldClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rlc3RydWN0dXJpbmctYXNzaWdubWVudFxuICBjb25zdCBjaGFyYWN0ZXJPZmZzZXQgPSBtYXRjaC5yZXBsYWNlYWJsZVN0cmluZy5sZW5ndGhcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rlc3RydWN0dXJpbmctYXNzaWdubWVudFxuICBjb25zdCBxdWVyeU9mZnNldCA9IGdldEZ1bGxNYXRjaE9mZnNldCh0ZXh0Q29udGVudCwgbWF0Y2gubWF0Y2hpbmdTdHJpbmcsIGNoYXJhY3Rlck9mZnNldClcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb25PZmZzZXQgLSBxdWVyeU9mZnNldFxuICBpZiAoc3RhcnRPZmZzZXQgPCAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBsZXQgbmV3Tm9kZVxuICBpZiAoc3RhcnRPZmZzZXQgPT09IDApIHtcbiAgICA7W25ld05vZGVdID0gYW5jaG9yTm9kZS5zcGxpdFRleHQoc2VsZWN0aW9uT2Zmc2V0KVxuICB9IGVsc2Uge1xuICAgIDtbLCBuZXdOb2RlXSA9IGFuY2hvck5vZGUuc3BsaXRUZXh0KHN0YXJ0T2Zmc2V0LCBzZWxlY3Rpb25PZmZzZXQpXG4gIH1cblxuICByZXR1cm4gbmV3Tm9kZVxufVxuXG4vLyBHb3QgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDI1NDM5MDgvMjAxMzU4MFxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIGluY2x1ZGVIaWRkZW46IGJvb2xlYW4sXG4pOiBIVE1MQm9keUVsZW1lbnQgfCBIVE1MRWxlbWVudCB7XG4gIGxldCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudClcbiAgY29uc3QgZXhjbHVkZVN0YXRpY1BhcmVudCA9IHN0eWxlLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnXG4gIGNvbnN0IG92ZXJmbG93UmVnZXggPSBpbmNsdWRlSGlkZGVuID8gLyhhdXRvfHNjcm9sbHxoaWRkZW4pLyA6IC8oYXV0b3xzY3JvbGwpL1xuICBpZiAoc3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICB9XG4gIGZvciAobGV0IHBhcmVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gZWxlbWVudDsgKHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50KTsgKSB7XG4gICAgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHBhcmVudClcbiAgICBpZiAoZXhjbHVkZVN0YXRpY1BhcmVudCAmJiBzdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChvdmVyZmxvd1JlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cgKyBzdHlsZS5vdmVyZmxvd1kgKyBzdHlsZS5vdmVyZmxvd1gpKSB7XG4gICAgICByZXR1cm4gcGFyZW50XG4gICAgfVxuICB9XG4gIHJldHVybiBkb2N1bWVudC5ib2R5XG59XG5cbmZ1bmN0aW9uIGlzVHJpZ2dlclZpc2libGVJbk5lYXJlc3RTY3JvbGxDb250YWluZXIoXG4gIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCB0UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgY29uc3QgY1JlY3QgPSBjb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiB0UmVjdC50b3AgPiBjUmVjdC50b3AgJiYgdFJlY3QudG9wIDwgY1JlY3QuYm90dG9tXG59XG5cbi8vIFJlcG9zaXRpb24gdGhlIG1lbnUgb24gc2Nyb2xsLCB3aW5kb3cgcmVzaXplLCBhbmQgZWxlbWVudCByZXNpemUuXG5leHBvcnQgZnVuY3Rpb24gdXNlRHluYW1pY1Bvc2l0aW9uaW5nKFxuICByZXNvbHV0aW9uOiBNZW51UmVzb2x1dGlvbiB8IG51bGwsXG4gIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgb25SZXBvc2l0aW9uOiAoKSA9PiB2b2lkLFxuICBvblZpc2liaWxpdHlDaGFuZ2U/OiAoaXNJblZpZXc6IGJvb2xlYW4pID0+IHZvaWQsXG4pIHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGFyZ2V0RWxlbWVudCAhPSBudWxsICYmIHJlc29sdXRpb24gIT0gbnVsbCkge1xuICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKVxuICAgICAgY29uc3Qgcm9vdFNjcm9sbFBhcmVudCA9XG4gICAgICAgIHJvb3RFbGVtZW50ICE9IG51bGwgPyBnZXRTY3JvbGxQYXJlbnQocm9vdEVsZW1lbnQsIGZhbHNlKSA6IGRvY3VtZW50LmJvZHlcbiAgICAgIGxldCB0aWNraW5nID0gZmFsc2VcbiAgICAgIGxldCBwcmV2aW91c0lzSW5WaWV3ID0gaXNUcmlnZ2VyVmlzaWJsZUluTmVhcmVzdFNjcm9sbENvbnRhaW5lcihcbiAgICAgICAgdGFyZ2V0RWxlbWVudCxcbiAgICAgICAgcm9vdFNjcm9sbFBhcmVudCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCF0aWNraW5nKSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBvblJlcG9zaXRpb24oKVxuICAgICAgICAgICAgdGlja2luZyA9IGZhbHNlXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aWNraW5nID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzSW5WaWV3ID0gaXNUcmlnZ2VyVmlzaWJsZUluTmVhcmVzdFNjcm9sbENvbnRhaW5lcih0YXJnZXRFbGVtZW50LCByb290U2Nyb2xsUGFyZW50KVxuICAgICAgICBpZiAoaXNJblZpZXcgIT09IHByZXZpb3VzSXNJblZpZXcpIHtcbiAgICAgICAgICBwcmV2aW91c0lzSW5WaWV3ID0gaXNJblZpZXdcbiAgICAgICAgICBpZiAob25WaXNpYmlsaXR5Q2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgICAgIG9uVmlzaWJpbGl0eUNoYW5nZShpc0luVmlldylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKG9uUmVwb3NpdGlvbilcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlcG9zaXRpb24pXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhcmdldEVsZW1lbnQpXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICByZXNpemVPYnNlcnZlci51bm9ic2VydmUodGFyZ2V0RWxlbWVudClcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVwb3NpdGlvbilcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsLCB0cnVlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3RhcmdldEVsZW1lbnQsIGVkaXRvciwgb25WaXNpYmlsaXR5Q2hhbmdlLCBvblJlcG9zaXRpb24sIHJlc29sdXRpb25dKVxufVxuXG5leHBvcnQgY29uc3QgU0NST0xMX1RZUEVBSEVBRF9PUFRJT05fSU5UT19WSUVXX0NPTU1BTkQ6IExleGljYWxDb21tYW5kPHtcbiAgaW5kZXg6IG51bWJlclxuICBvcHRpb246IFNsYXNoTWVudU9wdGlvblxufT4gPSBjcmVhdGVDb21tYW5kKCdTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCcpXG5cbmV4cG9ydCBmdW5jdGlvbiBMZXhpY2FsTWVudSh7XG4gIGFuY2hvckVsZW1lbnRSZWYsXG4gIGNsb3NlLFxuICBlZGl0b3IsXG4gIC8vIGdyb3Vwc1dpdGhPcHRpb25zIGZpbHRlcmluZyBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gU2xhc2hNZW51L2luZGV4LnRzeC4gVGh1cywgZ3JvdXBzV2l0aE9wdGlvbnMgYWx3YXlzIGNvbnRhaW5zIHRoZSBtYXRjaGluZyBvcHRpb25zLlxuICBncm91cHNXaXRoT3B0aW9ucyxcbiAgbWVudVJlbmRlckZuLFxuICBvblNlbGVjdE9wdGlvbixcbiAgcmVzb2x1dGlvbixcbiAgc2hvdWxkU3BsaXROb2RlV2l0aFF1ZXJ5ID0gZmFsc2UsXG59OiB7XG4gIGFuY2hvckVsZW1lbnRSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+XG4gIGNsb3NlOiAoKSA9PiB2b2lkXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBncm91cHNXaXRoT3B0aW9uczogQXJyYXk8U2xhc2hNZW51R3JvdXA+XG4gIG1lbnVSZW5kZXJGbjogTWVudVJlbmRlckZuXG4gIG9uU2VsZWN0T3B0aW9uOiAoXG4gICAgb3B0aW9uOiBTbGFzaE1lbnVPcHRpb24sXG4gICAgdGV4dE5vZGVDb250YWluaW5nUXVlcnk6IFRleHROb2RlIHwgbnVsbCxcbiAgICBjbG9zZU1lbnU6ICgpID0+IHZvaWQsXG4gICAgbWF0Y2hpbmdTdHJpbmc6IHN0cmluZyxcbiAgKSA9PiB2b2lkXG4gIHJlc29sdXRpb246IE1lbnVSZXNvbHV0aW9uXG4gIHNob3VsZFNwbGl0Tm9kZVdpdGhRdWVyeT86IGJvb2xlYW5cbn0pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbc2VsZWN0ZWRPcHRpb25LZXksIHNldFNlbGVjdGVkT3B0aW9uS2V5XSA9IHVzZVN0YXRlPG51bGwgfCBzdHJpbmc+KG51bGwpXG5cbiAgY29uc3QgbWF0Y2hpbmdTdHJpbmcgPSAocmVzb2x1dGlvbi5tYXRjaCAmJiByZXNvbHV0aW9uLm1hdGNoLm1hdGNoaW5nU3RyaW5nKSB8fCAnJ1xuXG4gIGNvbnN0IHVwZGF0ZVNlbGVjdGVkT3B0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKG9wdGlvbjogU2xhc2hNZW51T3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCByb290RWxlbSA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgICBpZiAocm9vdEVsZW0gIT09IG51bGwpIHtcbiAgICAgICAgcm9vdEVsZW0uc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBgJHtiYXNlQ2xhc3N9X19pdGVtLSR7b3B0aW9uLmtleX1gKVxuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbktleShvcHRpb24ua2V5KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gIClcblxuICBjb25zdCBzZXRTZWxlY3RlZE9wdGlvbktleVRvRmlyc3RNYXRjaGluZ09wdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBzZXQgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBmaXJzdCBvZiB0aGUgbWF0Y2hpbmcgb25lc1xuICAgIGlmIChncm91cHNXaXRoT3B0aW9ucyAhPT0gbnVsbCAmJiBtYXRjaGluZ1N0cmluZyAhPSBudWxsKSB7XG4gICAgICAvLyBncm91cHNXaXRoT3B0aW9ucyBmaWx0ZXJpbmcgaXMgYWxyZWFkeSBoYW5kbGVkIGluIFNsYXNoTWVudS9pbmRleC50c3guIFRodXMsIGdyb3Vwc1dpdGhPcHRpb25zIGFsd2F5cyBjb250YWlucyB0aGUgbWF0Y2hpbmcgb3B0aW9ucy5cbiAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcblxuICAgICAgaWYgKGFsbE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0TWF0Y2hpbmdPcHRpb24gPSBhbGxPcHRpb25zWzBdXG4gICAgICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uKGZpcnN0TWF0Y2hpbmdPcHRpb24pXG4gICAgICB9XG4gICAgfVxuICB9LCBbZ3JvdXBzV2l0aE9wdGlvbnMsIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLCBtYXRjaGluZ1N0cmluZ10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTZWxlY3RlZE9wdGlvbktleVRvRmlyc3RNYXRjaGluZ09wdGlvbigpXG4gIH0sIFttYXRjaGluZ1N0cmluZywgc2V0U2VsZWN0ZWRPcHRpb25LZXlUb0ZpcnN0TWF0Y2hpbmdPcHRpb25dKVxuXG4gIGNvbnN0IHNlbGVjdE9wdGlvbkFuZENsZWFuVXAgPSB1c2VDYWxsYmFjayhcbiAgICAoc2VsZWN0ZWRPcHRpb246IFNsYXNoTWVudU9wdGlvbikgPT4ge1xuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRleHROb2RlQ29udGFpbmluZ1F1ZXJ5ID1cbiAgICAgICAgICByZXNvbHV0aW9uLm1hdGNoICE9IG51bGwgJiYgc2hvdWxkU3BsaXROb2RlV2l0aFF1ZXJ5XG4gICAgICAgICAgICA/ICRzcGxpdE5vZGVDb250YWluaW5nUXVlcnkocmVzb2x1dGlvbi5tYXRjaClcbiAgICAgICAgICAgIDogbnVsbFxuXG4gICAgICAgIG9uU2VsZWN0T3B0aW9uKFxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9uLFxuICAgICAgICAgIHRleHROb2RlQ29udGFpbmluZ1F1ZXJ5LFxuICAgICAgICAgIGNsb3NlLFxuICAgICAgICAgIHJlc29sdXRpb24ubWF0Y2ggPyByZXNvbHV0aW9uLm1hdGNoLm1hdGNoaW5nU3RyaW5nIDogJycsXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZWRpdG9yLCBzaG91bGRTcGxpdE5vZGVXaXRoUXVlcnksIHJlc29sdXRpb24ubWF0Y2gsIG9uU2VsZWN0T3B0aW9uLCBjbG9zZV0sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCByb290RWxlbSA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgICBpZiAocm9vdEVsZW0gIT09IG51bGwpIHtcbiAgICAgICAgcm9vdEVsZW0ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvcl0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ3JvdXBzV2l0aE9wdGlvbnMgPT09IG51bGwpIHtcbiAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5KG51bGwpXG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZE9wdGlvbktleSA9PT0gbnVsbCkge1xuICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXlUb0ZpcnN0TWF0Y2hpbmdPcHRpb24oKVxuICAgIH1cbiAgfSwgW1xuICAgIGdyb3Vwc1dpdGhPcHRpb25zLFxuICAgIHNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLFxuICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5VG9GaXJzdE1hdGNoaW5nT3B0aW9uLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCxcbiAgICAgICAgKHsgb3B0aW9uIH0pID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9uLnJlZiAmJiBvcHRpb24ucmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZChvcHRpb24ucmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVTZWxlY3RlZE9wdGlvbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQ8S2V5Ym9hcmRFdmVudD4oXG4gICAgICAgIEtFWV9BUlJPV19ET1dOX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBwYXlsb2FkXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zLmxlbmd0aCAmJlxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25LZXkgIT09IG51bGxcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBhbGxPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBzZWxlY3RlZE9wdGlvbktleSlcblxuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXggIT09IGFsbE9wdGlvbnMubGVuZ3RoIC0gMSA/IHNlbGVjdGVkSW5kZXggKyAxIDogMFxuXG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZE9wdGlvbiA9IGFsbE9wdGlvbnNbbmV3U2VsZWN0ZWRJbmRleF1cblxuICAgICAgICAgICAgdXBkYXRlU2VsZWN0ZWRPcHRpb24obmV3U2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgICBpZiAobmV3U2VsZWN0ZWRPcHRpb24ucmVmICE9IG51bGwgJiYgbmV3U2VsZWN0ZWRPcHRpb24ucmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCwge1xuICAgICAgICAgICAgICAgIGluZGV4OiBuZXdTZWxlY3RlZEluZGV4LFxuICAgICAgICAgICAgICAgIG9wdGlvbjogbmV3U2VsZWN0ZWRPcHRpb24sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kPEtleWJvYXJkRXZlbnQ+KFxuICAgICAgICBLRVlfQVJST1dfVVBfQ09NTUFORCxcbiAgICAgICAgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICBjb25zdCBldmVudCA9IHBheWxvYWRcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBncm91cHNXaXRoT3B0aW9ucyAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMubGVuZ3RoICYmXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbktleSAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgYWxsT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLmZsYXRNYXAoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IGFsbE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IHNlbGVjdGVkT3B0aW9uS2V5KVxuXG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZEluZGV4ID0gc2VsZWN0ZWRJbmRleCAhPT0gMCA/IHNlbGVjdGVkSW5kZXggLSAxIDogYWxsT3B0aW9ucy5sZW5ndGggLSAxXG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGVkT3B0aW9uID0gYWxsT3B0aW9uc1tuZXdTZWxlY3RlZEluZGV4XVxuXG4gICAgICAgICAgICB1cGRhdGVTZWxlY3RlZE9wdGlvbihuZXdTZWxlY3RlZE9wdGlvbilcbiAgICAgICAgICAgIGlmIChuZXdTZWxlY3RlZE9wdGlvbi5yZWYgIT0gbnVsbCAmJiBuZXdTZWxlY3RlZE9wdGlvbi5yZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICBzY3JvbGxJbnRvVmlld0lmTmVlZGVkKG5ld1NlbGVjdGVkT3B0aW9uLnJlZi5jdXJyZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZDxLZXlib2FyZEV2ZW50PihcbiAgICAgICAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICAgICAgICAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gcGF5bG9hZFxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlKClcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kPEtleWJvYXJkRXZlbnQ+KFxuICAgICAgICBLRVlfVEFCX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBwYXlsb2FkXG5cbiAgICAgICAgICBpZiAoZ3JvdXBzV2l0aE9wdGlvbnMgPT09IG51bGwgfHwgc2VsZWN0ZWRPcHRpb25LZXkgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhbGxPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmxhdE1hcCgoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhbGxPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmtleSA9PT0gc2VsZWN0ZWRPcHRpb25LZXkpXG4gICAgICAgICAgaWYgKCFzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgICAgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcChzZWxlY3RlZE9wdGlvbilcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBLRVlfRU5URVJfQ09NTUFORCxcbiAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICAgIGlmIChncm91cHNXaXRoT3B0aW9ucyA9PT0gbnVsbCB8fCBzZWxlY3RlZE9wdGlvbktleSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IGFsbE9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBzZWxlY3RlZE9wdGlvbktleSlcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAoc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgIClcbiAgfSwgW1xuICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAsXG4gICAgY2xvc2UsXG4gICAgZWRpdG9yLFxuICAgIGdyb3Vwc1dpdGhPcHRpb25zLFxuICAgIHNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLFxuICBdKVxuXG4gIGNvbnN0IGxpc3RJdGVtUHJvcHMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBncm91cHNXaXRoT3B0aW9ucyxcbiAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAsXG4gICAgICBzZWxlY3RlZE9wdGlvbktleSxcbiAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIH0pLFxuICAgIFtzZWxlY3RPcHRpb25BbmRDbGVhblVwLCBzZWxlY3RlZE9wdGlvbktleSwgZ3JvdXBzV2l0aE9wdGlvbnNdLFxuICApXG5cbiAgcmV0dXJuIG1lbnVSZW5kZXJGbihcbiAgICBhbmNob3JFbGVtZW50UmVmLFxuICAgIGxpc3RJdGVtUHJvcHMsXG4gICAgcmVzb2x1dGlvbi5tYXRjaCA/IHJlc29sdXRpb24ubWF0Y2gubWF0Y2hpbmdTdHJpbmcgOiAnJyxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTWVudUFuY2hvclJlZihcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIHJlc29sdXRpb246IE1lbnVSZXNvbHV0aW9uIHwgbnVsbCxcbiAgc2V0UmVzb2x1dGlvbjogKHI6IE1lbnVSZXNvbHV0aW9uIHwgbnVsbCkgPT4gdm9pZCxcbiAgY2xhc3NOYW1lPzogc3RyaW5nLFxuKTogTXV0YWJsZVJlZk9iamVjdDxIVE1MRWxlbWVudD4ge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICBjb25zdCBhbmNob3JFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxFbGVtZW50Pihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSlcbiAgY29uc3QgcG9zaXRpb25NZW51ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcbiAgICBjb25zdCBjb250YWluZXJEaXYgPSBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnRcblxuICAgIGNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDMyIGFzIGNvbnN0XG5cbiAgICBjb25zdCBtZW51RWxlID0gY29udGFpbmVyRGl2LmZpcnN0Q2hpbGQgYXMgRWxlbWVudFxuICAgIGlmIChyb290RWxlbWVudCAhPT0gbnVsbCAmJiByZXNvbHV0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IGhlaWdodCwgd2lkdGggfSA9IHJlc29sdXRpb24uZ2V0UmVjdCgpXG4gICAgICBsZXQgeyBsZWZ0LCB0b3AgfSA9IHJlc29sdXRpb24uZ2V0UmVjdCgpXG5cbiAgICAgIGNvbnN0IHJhd1RvcCA9IHRvcFxuICAgICAgdG9wIC09IGFuY2hvckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFlcbiAgICAgIGxlZnQgLT0gYW5jaG9yRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgd2luZG93LnNjcm9sbFhcbiAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS5sZWZ0ID0gYCR7bGVmdCArIHdpbmRvdy5zY3JvbGxYfXB4YFxuICAgICAgY29udGFpbmVyRGl2LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGBcbiAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YFxuICAgICAgaWYgKG1lbnVFbGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbWVudVJlY3QgPSBtZW51RWxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSBtZW51UmVjdC5oZWlnaHRcbiAgICAgICAgY29uc3QgbWVudVdpZHRoID0gbWVudVJlY3Qud2lkdGhcblxuICAgICAgICBjb25zdCByb290RWxlbWVudFJlY3QgPSByb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgICAgIGlmIChsZWZ0ICsgbWVudVdpZHRoID4gcm9vdEVsZW1lbnRSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgY29udGFpbmVyRGl2LnN0eWxlLmxlZnQgPSBgJHtyb290RWxlbWVudFJlY3QucmlnaHQgLSBtZW51V2lkdGggKyB3aW5kb3cuc2Nyb2xsWH1weGBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdvdWxkR29PZmZCb3R0b21PZlNjcmVlbiA9IHJhd1RvcCArIG1lbnVIZWlnaHQgKyBWRVJUSUNBTF9PRkZTRVQgPiB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICAgLy9jb25zdCB3b3VsZEdvT2ZmQm90dG9tT2ZDb250YWluZXIgPSB0b3AgKyBtZW51SGVpZ2h0ID4gcm9vdEVsZW1lbnRSZWN0LmJvdHRvbVxuICAgICAgICBjb25zdCB3b3VsZEdvT2ZmVG9wT2ZTY3JlZW4gPSByYXdUb3AgPCAwXG5cbiAgICAgICAgLy8gUG9zaXRpb24gc2xhc2ggbWVudSBhYm92ZSB0aGUgY3Vyc29yIGluc3RlYWQgb2YgYmVsb3cgKGRlZmF1bHQpIGlmIGl0IHdvdWxkIG90aGVyd2lzZSBnbyBvZmYgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLlxuICAgICAgICBpZiAod291bGRHb09mZkJvdHRvbU9mU2NyZWVuICYmICF3b3VsZEdvT2ZmVG9wT2ZTY3JlZW4pIHtcbiAgICAgICAgICBjb25zdCBtYXJnaW4gPSAyNFxuICAgICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS50b3AgPSBgJHtcbiAgICAgICAgICAgIHRvcCArIFZFUlRJQ0FMX09GRlNFVCAtIG1lbnVIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsWSAtIChoZWlnaHQgKyBtYXJnaW4pXG4gICAgICAgICAgfXB4YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS50b3AgPSBgJHt0b3AgKyB3aW5kb3cuc2Nyb2xsWSArIFZFUlRJQ0FMX09GRlNFVH1weGBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbnRhaW5lckRpdi5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBpZiAoY2xhc3NOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBjb250YWluZXJEaXYuY2xhc3NOYW1lID0gY2xhc3NOYW1lXG4gICAgICAgIH1cbiAgICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdTbGFzaCBtZW51JylcbiAgICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnaWQnLCAnc2xhc2gtbWVudScpXG4gICAgICAgIGNvbnRhaW5lckRpdi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnbGlzdGJveCcpXG4gICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICBjb250YWluZXJEaXYuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgIGFuY2hvckVsZW0uYXBwZW5kKGNvbnRhaW5lckRpdilcbiAgICAgIH1cbiAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCA9IGNvbnRhaW5lckRpdlxuICAgICAgcm9vdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgJ3NsYXNoLW1lbnUnKVxuICAgIH1cbiAgfSwgW2VkaXRvciwgcmVzb2x1dGlvbiwgY2xhc3NOYW1lLCBhbmNob3JFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcbiAgICBpZiAocmVzb2x1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgcG9zaXRpb25NZW51KClcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChyb290RWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250YWluZXJEaXYgPSBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGNvbnRhaW5lckRpdiAhPT0gbnVsbCAmJiBjb250YWluZXJEaXYuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICBjb250YWluZXJEaXYucmVtb3ZlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgcG9zaXRpb25NZW51LCByZXNvbHV0aW9uXSlcblxuICBjb25zdCBvblZpc2liaWxpdHlDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoaXNJblZpZXc6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChyZXNvbHV0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghaXNJblZpZXcpIHtcbiAgICAgICAgICBzZXRSZXNvbHV0aW9uKG51bGwpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtyZXNvbHV0aW9uLCBzZXRSZXNvbHV0aW9uXSxcbiAgKVxuXG4gIHVzZUR5bmFtaWNQb3NpdGlvbmluZyhyZXNvbHV0aW9uLCBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnQsIHBvc2l0aW9uTWVudSwgb25WaXNpYmlsaXR5Q2hhbmdlKVxuXG4gIHJldHVybiBhbmNob3JFbGVtZW50UmVmXG59XG4iXSwibmFtZXMiOlsiTGV4aWNhbE1lbnUiLCJTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCIsImdldFNjcm9sbFBhcmVudCIsInVzZUR5bmFtaWNQb3NpdGlvbmluZyIsInVzZU1lbnVBbmNob3JSZWYiLCJiYXNlQ2xhc3MiLCJzY3JvbGxJbnRvVmlld0lmTmVlZGVkIiwidGFyZ2V0IiwidHlwZWFoZWFkQ29udGFpbmVyTm9kZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ0eXBlYWhlYWRSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wIiwiaGVpZ2h0Iiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiZ2V0RnVsbE1hdGNoT2Zmc2V0IiwiZG9jdW1lbnRUZXh0IiwiZW50cnlUZXh0Iiwib2Zmc2V0IiwidHJpZ2dlck9mZnNldCIsImkiLCJsZW5ndGgiLCJzdWJzdHIiLCIkc3BsaXROb2RlQ29udGFpbmluZ1F1ZXJ5IiwibWF0Y2giLCJzZWxlY3Rpb24iLCIkZ2V0U2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJpc0NvbGxhcHNlZCIsImFuY2hvciIsInR5cGUiLCJhbmNob3JOb2RlIiwiZ2V0Tm9kZSIsImlzU2ltcGxlVGV4dCIsInNlbGVjdGlvbk9mZnNldCIsInRleHRDb250ZW50IiwiZ2V0VGV4dENvbnRlbnQiLCJzbGljZSIsImNoYXJhY3Rlck9mZnNldCIsInJlcGxhY2VhYmxlU3RyaW5nIiwicXVlcnlPZmZzZXQiLCJtYXRjaGluZ1N0cmluZyIsInN0YXJ0T2Zmc2V0IiwibmV3Tm9kZSIsInNwbGl0VGV4dCIsImVsZW1lbnQiLCJpbmNsdWRlSGlkZGVuIiwic3R5bGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiZXhjbHVkZVN0YXRpY1BhcmVudCIsInBvc2l0aW9uIiwib3ZlcmZsb3dSZWdleCIsImJvZHkiLCJwYXJlbnQiLCJwYXJlbnRFbGVtZW50IiwidGVzdCIsIm92ZXJmbG93Iiwib3ZlcmZsb3dZIiwib3ZlcmZsb3dYIiwiaXNUcmlnZ2VyVmlzaWJsZUluTmVhcmVzdFNjcm9sbENvbnRhaW5lciIsInRhcmdldEVsZW1lbnQiLCJjb250YWluZXJFbGVtZW50IiwidFJlY3QiLCJjUmVjdCIsImJvdHRvbSIsInJlc29sdXRpb24iLCJvblJlcG9zaXRpb24iLCJvblZpc2liaWxpdHlDaGFuZ2UiLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwidXNlRWZmZWN0Iiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsInJvb3RTY3JvbGxQYXJlbnQiLCJ0aWNraW5nIiwicHJldmlvdXNJc0luVmlldyIsImhhbmRsZVNjcm9sbCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImlzSW5WaWV3IiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJjYXB0dXJlIiwicGFzc2l2ZSIsIm9ic2VydmUiLCJ1bm9ic2VydmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3JlYXRlQ29tbWFuZCIsImFuY2hvckVsZW1lbnRSZWYiLCJjbG9zZSIsImdyb3Vwc1dpdGhPcHRpb25zIiwibWVudVJlbmRlckZuIiwib25TZWxlY3RPcHRpb24iLCJzaG91bGRTcGxpdE5vZGVXaXRoUXVlcnkiLCJzZWxlY3RlZE9wdGlvbktleSIsInNldFNlbGVjdGVkT3B0aW9uS2V5IiwidXNlU3RhdGUiLCJ1cGRhdGVTZWxlY3RlZE9wdGlvbiIsInVzZUNhbGxiYWNrIiwib3B0aW9uIiwicm9vdEVsZW0iLCJzZXRBdHRyaWJ1dGUiLCJrZXkiLCJzZXRTZWxlY3RlZE9wdGlvbktleVRvRmlyc3RNYXRjaGluZ09wdGlvbiIsImFsbE9wdGlvbnMiLCJmbGF0TWFwIiwiZ3JvdXAiLCJvcHRpb25zIiwiZmlyc3RNYXRjaGluZ09wdGlvbiIsInNlbGVjdE9wdGlvbkFuZENsZWFuVXAiLCJzZWxlY3RlZE9wdGlvbiIsInVwZGF0ZSIsInRleHROb2RlQ29udGFpbmluZ1F1ZXJ5IiwicmVtb3ZlQXR0cmlidXRlIiwidXNlTGF5b3V0RWZmZWN0IiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyQ29tbWFuZCIsInJlZiIsImN1cnJlbnQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsIktFWV9BUlJPV19ET1dOX0NPTU1BTkQiLCJwYXlsb2FkIiwiZXZlbnQiLCJzZWxlY3RlZEluZGV4IiwiZmluZEluZGV4IiwibmV3U2VsZWN0ZWRJbmRleCIsIm5ld1NlbGVjdGVkT3B0aW9uIiwiZGlzcGF0Y2hDb21tYW5kIiwiaW5kZXgiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsIktFWV9BUlJPV19VUF9DT01NQU5EIiwiS0VZX0VTQ0FQRV9DT01NQU5EIiwiS0VZX1RBQl9DT01NQU5EIiwiZmluZCIsIktFWV9FTlRFUl9DT01NQU5EIiwibGlzdEl0ZW1Qcm9wcyIsInVzZU1lbW8iLCJhbmNob3JFbGVtIiwic2V0UmVzb2x1dGlvbiIsImNsYXNzTmFtZSIsInVzZVJlZiIsImNyZWF0ZUVsZW1lbnQiLCJwb3NpdGlvbk1lbnUiLCJjb250YWluZXJEaXYiLCJWRVJUSUNBTF9PRkZTRVQiLCJtZW51RWxlIiwiZmlyc3RDaGlsZCIsIndpZHRoIiwiZ2V0UmVjdCIsImxlZnQiLCJyYXdUb3AiLCJzY3JvbGxZIiwic2Nyb2xsWCIsIm1lbnVSZWN0IiwibWVudUhlaWdodCIsIm1lbnVXaWR0aCIsInJvb3RFbGVtZW50UmVjdCIsInJpZ2h0Iiwid291bGRHb09mZkJvdHRvbU9mU2NyZWVuIiwid291bGRHb09mZlRvcE9mU2NyZWVuIiwibWFyZ2luIiwiaXNDb25uZWN0ZWQiLCJkaXNwbGF5IiwiYXBwZW5kIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0lBd01nQkEsV0FBVztlQUFYQTs7SUFMSEMseUNBQXlDO2VBQXpDQTs7SUFqRkdDLGVBQWU7ZUFBZkE7O0lBZ0NBQyxxQkFBcUI7ZUFBckJBOztJQW9UQUMsZ0JBQWdCO2VBQWhCQTs7O3dDQWxjMEI7dUJBQ1o7eUJBV3ZCO3VCQUM0RTtBQVduRixNQUFNQyxZQUFZO0FBYWxCLE1BQU1DLHlCQUF5QixDQUFDQztJQUM5QixNQUFNQyx5QkFBeUJDLFNBQVNDLGNBQWMsQ0FBQztJQUN2RCxJQUFJLENBQUNGLHdCQUF3QjtJQUU3QixNQUFNRyxnQkFBZ0JILHVCQUF1QkkscUJBQXFCO0lBRWxFLElBQUlELGNBQWNFLEdBQUcsR0FBR0YsY0FBY0csTUFBTSxHQUFHQyxPQUFPQyxXQUFXLEVBQUU7UUFDakVSLHVC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
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL0xleGljYWxNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbENvbW1hbmQsIExleGljYWxFZGl0b3IsIFRleHROb2RlIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RQb3J0YWwgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyBtZXJnZVJlZ2lzdGVyIH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQge1xuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gIEtFWV9BUlJPV19ET1dOX0NPTU1BTkQsXG4gIEtFWV9BUlJPV19VUF9DT01NQU5ELFxuICBLRVlfRU5URVJfQ09NTUFORCxcbiAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICBLRVlfVEFCX0NPTU1BTkQsXG4gIGNyZWF0ZUNvbW1hbmQsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBNZW51VGV4dE1hdGNoIH0gZnJvbSAnLi4vdXNlTWVudVRyaWdnZXJNYXRjaCdcbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51T3B0aW9uIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51R3JvdXAgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBNZW51UmVzb2x1dGlvbiA9IHtcbiAgZ2V0UmVjdDogKCkgPT4gRE9NUmVjdFxuICBtYXRjaD86IE1lbnVUZXh0TWF0Y2hcbn1cblxuY29uc3QgYmFzZUNsYXNzID0gJ3NsYXNoLW1lbnUtcG9wdXAnXG5cbmV4cG9ydCB0eXBlIE1lbnVSZW5kZXJGbiA9IChcbiAgYW5jaG9yRWxlbWVudFJlZjogTXV0YWJsZVJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+LFxuICBpdGVtUHJvcHM6IHtcbiAgICBncm91cHNXaXRoT3B0aW9uczogQXJyYXk8U2xhc2hNZW51R3JvdXA+XG4gICAgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcDogKHNlbGVjdGVkT3B0aW9uOiBTbGFzaE1lbnVPcHRpb24pID0+IHZvaWRcbiAgICBzZWxlY3RlZE9wdGlvbktleTogbnVsbCB8IHN0cmluZ1xuICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5OiAob3B0aW9uS2V5OiBzdHJpbmcpID0+IHZvaWRcbiAgfSxcbiAgbWF0Y2hpbmdTdHJpbmc6IG51bGwgfCBzdHJpbmcsXG4pID0+IEpTWC5FbGVtZW50IHwgUmVhY3RQb3J0YWwgfCBudWxsXG5cbmNvbnN0IHNjcm9sbEludG9WaWV3SWZOZWVkZWQgPSAodGFyZ2V0OiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCB0eXBlYWhlYWRDb250YWluZXJOb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsYXNoLW1lbnUnKVxuICBpZiAoIXR5cGVhaGVhZENvbnRhaW5lck5vZGUpIHJldHVyblxuXG4gIGNvbnN0IHR5cGVhaGVhZFJlY3QgPSB0eXBlYWhlYWRDb250YWluZXJOb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG5cbiAgaWYgKHR5cGVhaGVhZFJlY3QudG9wICsgdHlwZWFoZWFkUmVjdC5oZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICB0eXBlYWhlYWRDb250YWluZXJOb2RlLnNjcm9sbEludG9WaWV3KHtcbiAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVhaGVhZFJlY3QudG9wIDwgMCkge1xuICAgIHR5cGVhaGVhZENvbnRhaW5lck5vZGUuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgIH0pXG4gIH1cblxuICB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pXG59XG5cbi8qKlxuICogV2FsayBiYWNrd2FyZHMgYWxvbmcgdXNlciBpbnB1dCBhbmQgZm9yd2FyZCB0aHJvdWdoIGVudGl0eSB0aXRsZSB0byB0cnlcbiAqIGFuZCByZXBsYWNlIG1vcmUgb2YgdGhlIHVzZXIncyB0ZXh0IHdpdGggZW50aXR5LlxuICovXG5mdW5jdGlvbiBnZXRGdWxsTWF0Y2hPZmZzZXQoZG9jdW1lbnRUZXh0OiBzdHJpbmcsIGVudHJ5VGV4dDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCB0cmlnZ2VyT2Zmc2V0ID0gb2Zmc2V0XG4gIGZvciAobGV0IGkgPSB0cmlnZ2VyT2Zmc2V0OyBpIDw9IGVudHJ5VGV4dC5sZW5ndGg7IGkrKykge1xuICAgIGlmIChkb2N1bWVudFRleHQuc3Vic3RyKC1pKSA9PT0gZW50cnlUZXh0LnN1YnN0cigwLCBpKSkge1xuICAgICAgdHJpZ2dlck9mZnNldCA9IGlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRyaWdnZXJPZmZzZXRcbn1cblxuLyoqXG4gKiBTcGxpdCBMZXhpY2FsIFRleHROb2RlIGFuZCByZXR1cm4gYSBuZXcgVGV4dE5vZGUgb25seSBjb250YWluaW5nIG1hdGNoZWQgdGV4dC5cbiAqIENvbW1vbiB1c2UgY2FzZXMgaW5jbHVkZTogcmVtb3ZpbmcgdGhlIG5vZGUsIHJlcGxhY2luZyB3aXRoIGEgbmV3IG5vZGUuXG4gKi9cbmZ1bmN0aW9uICRzcGxpdE5vZGVDb250YWluaW5nUXVlcnkobWF0Y2g6IE1lbnVUZXh0TWF0Y2gpOiBUZXh0Tm9kZSB8IG51bGwge1xuICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8ICFzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgY29uc3QgYW5jaG9yID0gc2VsZWN0aW9uLmFuY2hvclxuICBpZiAoYW5jaG9yLnR5cGUgIT09ICd0ZXh0Jykge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgY29uc3QgYW5jaG9yTm9kZSA9IGFuY2hvci5nZXROb2RlKClcbiAgaWYgKCFhbmNob3JOb2RlLmlzU2ltcGxlVGV4dCgpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBjb25zdCBzZWxlY3Rpb25PZmZzZXQgPSBhbmNob3Iub2Zmc2V0XG4gIGNvbnN0IHRleHRDb250ZW50ID0gYW5jaG9yTm9kZS5nZXRUZXh0Q29udGVudCgpLnNsaWNlKDAsIHNlbGVjdGlvbk9mZnNldClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rlc3RydWN0dXJpbmctYXNzaWdubWVudFxuICBjb25zdCBjaGFyYWN0ZXJPZmZzZXQgPSBtYXRjaC5yZXBsYWNlYWJsZVN0cmluZy5sZW5ndGhcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rlc3RydWN0dXJpbmctYXNzaWdubWVudFxuICBjb25zdCBxdWVyeU9mZnNldCA9IGdldEZ1bGxNYXRjaE9mZnNldCh0ZXh0Q29udGVudCwgbWF0Y2gubWF0Y2hpbmdTdHJpbmcsIGNoYXJhY3Rlck9mZnNldClcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBzZWxlY3Rpb25PZmZzZXQgLSBxdWVyeU9mZnNldFxuICBpZiAoc3RhcnRPZmZzZXQgPCAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBsZXQgbmV3Tm9kZVxuICBpZiAoc3RhcnRPZmZzZXQgPT09IDApIHtcbiAgICA7W25ld05vZGVdID0gYW5jaG9yTm9kZS5zcGxpdFRleHQoc2VsZWN0aW9uT2Zmc2V0KVxuICB9IGVsc2Uge1xuICAgIDtbLCBuZXdOb2RlXSA9IGFuY2hvck5vZGUuc3BsaXRUZXh0KHN0YXJ0T2Zmc2V0LCBzZWxlY3Rpb25PZmZzZXQpXG4gIH1cblxuICByZXR1cm4gbmV3Tm9kZVxufVxuXG4vLyBHb3QgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDI1NDM5MDgvMjAxMzU4MFxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIGluY2x1ZGVIaWRkZW46IGJvb2xlYW4sXG4pOiBIVE1MQm9keUVsZW1lbnQgfCBIVE1MRWxlbWVudCB7XG4gIGxldCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudClcbiAgY29uc3QgZXhjbHVkZVN0YXRpY1BhcmVudCA9IHN0eWxlLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnXG4gIGNvbnN0IG92ZXJmbG93UmVnZXggPSBpbmNsdWRlSGlkZGVuID8gLyhhdXRvfHNjcm9sbHxoaWRkZW4pLyA6IC8oYXV0b3xzY3JvbGwpL1xuICBpZiAoc3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICB9XG4gIGZvciAobGV0IHBhcmVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gZWxlbWVudDsgKHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50KTsgKSB7XG4gICAgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHBhcmVudClcbiAgICBpZiAoZXhjbHVkZVN0YXRpY1BhcmVudCAmJiBzdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChvdmVyZmxvd1JlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cgKyBzdHlsZS5vdmVyZmxvd1kgKyBzdHlsZS5vdmVyZmxvd1gpKSB7XG4gICAgICByZXR1cm4gcGFyZW50XG4gICAgfVxuICB9XG4gIHJldHVybiBkb2N1bWVudC5ib2R5XG59XG5cbmZ1bmN0aW9uIGlzVHJpZ2dlclZpc2libGVJbk5lYXJlc3RTY3JvbGxDb250YWluZXIoXG4gIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCB0UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgY29uc3QgY1JlY3QgPSBjb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiB0UmVjdC50b3AgPiBjUmVjdC50b3AgJiYgdFJlY3QudG9wIDwgY1JlY3QuYm90dG9tXG59XG5cbi8vIFJlcG9zaXRpb24gdGhlIG1lbnUgb24gc2Nyb2xsLCB3aW5kb3cgcmVzaXplLCBhbmQgZWxlbWVudCByZXNpemUuXG5leHBvcnQgZnVuY3Rpb24gdXNlRHluYW1pY1Bvc2l0aW9uaW5nKFxuICByZXNvbHV0aW9uOiBNZW51UmVzb2x1dGlvbiB8IG51bGwsXG4gIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgb25SZXBvc2l0aW9uOiAoKSA9PiB2b2lkLFxuICBvblZpc2liaWxpdHlDaGFuZ2U/OiAoaXNJblZpZXc6IGJvb2xlYW4pID0+IHZvaWQsXG4pIHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGFyZ2V0RWxlbWVudCAhPSBudWxsICYmIHJlc29sdXRpb24gIT0gbnVsbCkge1xuICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKVxuICAgICAgY29uc3Qgcm9vdFNjcm9sbFBhcmVudCA9XG4gICAgICAgIHJvb3RFbGVtZW50ICE9IG51bGwgPyBnZXRTY3JvbGxQYXJlbnQocm9vdEVsZW1lbnQsIGZhbHNlKSA6IGRvY3VtZW50LmJvZHlcbiAgICAgIGxldCB0aWNraW5nID0gZmFsc2VcbiAgICAgIGxldCBwcmV2aW91c0lzSW5WaWV3ID0gaXNUcmlnZ2VyVmlzaWJsZUluTmVhcmVzdFNjcm9sbENvbnRhaW5lcihcbiAgICAgICAgdGFyZ2V0RWxlbWVudCxcbiAgICAgICAgcm9vdFNjcm9sbFBhcmVudCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCF0aWNraW5nKSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBvblJlcG9zaXRpb24oKVxuICAgICAgICAgICAgdGlja2luZyA9IGZhbHNlXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aWNraW5nID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzSW5WaWV3ID0gaXNUcmlnZ2VyVmlzaWJsZUluTmVhcmVzdFNjcm9sbENvbnRhaW5lcih0YXJnZXRFbGVtZW50LCByb290U2Nyb2xsUGFyZW50KVxuICAgICAgICBpZiAoaXNJblZpZXcgIT09IHByZXZpb3VzSXNJblZpZXcpIHtcbiAgICAgICAgICBwcmV2aW91c0lzSW5WaWV3ID0gaXNJblZpZXdcbiAgICAgICAgICBpZiAob25WaXNpYmlsaXR5Q2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgICAgIG9uVmlzaWJpbGl0eUNoYW5nZShpc0luVmlldylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKG9uUmVwb3NpdGlvbilcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlcG9zaXRpb24pXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhcmdldEVsZW1lbnQpXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICByZXNpemVPYnNlcnZlci51bm9ic2VydmUodGFyZ2V0RWxlbWVudClcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVwb3NpdGlvbilcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsLCB0cnVlKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3RhcmdldEVsZW1lbnQsIGVkaXRvciwgb25WaXNpYmlsaXR5Q2hhbmdlLCBvblJlcG9zaXRpb24sIHJlc29sdXRpb25dKVxufVxuXG5leHBvcnQgY29uc3QgU0NST0xMX1RZUEVBSEVBRF9PUFRJT05fSU5UT19WSUVXX0NPTU1BTkQ6IExleGljYWxDb21tYW5kPHtcbiAgaW5kZXg6IG51bWJlclxuICBvcHRpb246IFNsYXNoTWVudU9wdGlvblxufT4gPSBjcmVhdGVDb21tYW5kKCdTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCcpXG5cbmV4cG9ydCBmdW5jdGlvbiBMZXhpY2FsTWVudSh7XG4gIGFuY2hvckVsZW1lbnRSZWYsXG4gIGNsb3NlLFxuICBlZGl0b3IsXG4gIC8vIGdyb3Vwc1dpdGhPcHRpb25zIGZpbHRlcmluZyBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gU2xhc2hNZW51L2luZGV4LnRzeC4gVGh1cywgZ3JvdXBzV2l0aE9wdGlvbnMgYWx3YXlzIGNvbnRhaW5zIHRoZSBtYXRjaGluZyBvcHRpb25zLlxuICBncm91cHNXaXRoT3B0aW9ucyxcbiAgbWVudVJlbmRlckZuLFxuICBvblNlbGVjdE9wdGlvbixcbiAgcmVzb2x1dGlvbixcbiAgc2hvdWxkU3BsaXROb2RlV2l0aFF1ZXJ5ID0gZmFsc2UsXG59OiB7XG4gIGFuY2hvckVsZW1lbnRSZWY6IE11dGFibGVSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+XG4gIGNsb3NlOiAoKSA9PiB2b2lkXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBncm91cHNXaXRoT3B0aW9uczogQXJyYXk8U2xhc2hNZW51R3JvdXA+XG4gIG1lbnVSZW5kZXJGbjogTWVudVJlbmRlckZuXG4gIG9uU2VsZWN0T3B0aW9uOiAoXG4gICAgb3B0aW9uOiBTbGFzaE1lbnVPcHRpb24sXG4gICAgdGV4dE5vZGVDb250YWluaW5nUXVlcnk6IFRleHROb2RlIHwgbnVsbCxcbiAgICBjbG9zZU1lbnU6ICgpID0+IHZvaWQsXG4gICAgbWF0Y2hpbmdTdHJpbmc6IHN0cmluZyxcbiAgKSA9PiB2b2lkXG4gIHJlc29sdXRpb246IE1lbnVSZXNvbHV0aW9uXG4gIHNob3VsZFNwbGl0Tm9kZVdpdGhRdWVyeT86IGJvb2xlYW5cbn0pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbc2VsZWN0ZWRPcHRpb25LZXksIHNldFNlbGVjdGVkT3B0aW9uS2V5XSA9IHVzZVN0YXRlPG51bGwgfCBzdHJpbmc+KG51bGwpXG5cbiAgY29uc3QgbWF0Y2hpbmdTdHJpbmcgPSAocmVzb2x1dGlvbi5tYXRjaCAmJiByZXNvbHV0aW9uLm1hdGNoLm1hdGNoaW5nU3RyaW5nKSB8fCAnJ1xuXG4gIGNvbnN0IHVwZGF0ZVNlbGVjdGVkT3B0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKG9wdGlvbjogU2xhc2hNZW51T3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCByb290RWxlbSA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgICBpZiAocm9vdEVsZW0gIT09IG51bGwpIHtcbiAgICAgICAgcm9vdEVsZW0uc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBgJHtiYXNlQ2xhc3N9X19pdGVtLSR7b3B0aW9uLmtleX1gKVxuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbktleShvcHRpb24ua2V5KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gIClcblxuICBjb25zdCBzZXRTZWxlY3RlZE9wdGlvbktleVRvRmlyc3RNYXRjaGluZ09wdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBzZXQgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBmaXJzdCBvZiB0aGUgbWF0Y2hpbmcgb25lc1xuICAgIGlmIChncm91cHNXaXRoT3B0aW9ucyAhPT0gbnVsbCAmJiBtYXRjaGluZ1N0cmluZyAhPSBudWxsKSB7XG4gICAgICAvLyBncm91cHNXaXRoT3B0aW9ucyBmaWx0ZXJpbmcgaXMgYWxyZWFkeSBoYW5kbGVkIGluIFNsYXNoTWVudS9pbmRleC50c3guIFRodXMsIGdyb3Vwc1dpdGhPcHRpb25zIGFsd2F5cyBjb250YWlucyB0aGUgbWF0Y2hpbmcgb3B0aW9ucy5cbiAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcblxuICAgICAgaWYgKGFsbE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0TWF0Y2hpbmdPcHRpb24gPSBhbGxPcHRpb25zWzBdXG4gICAgICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uKGZpcnN0TWF0Y2hpbmdPcHRpb24pXG4gICAgICB9XG4gICAgfVxuICB9LCBbZ3JvdXBzV2l0aE9wdGlvbnMsIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLCBtYXRjaGluZ1N0cmluZ10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTZWxlY3RlZE9wdGlvbktleVRvRmlyc3RNYXRjaGluZ09wdGlvbigpXG4gIH0sIFttYXRjaGluZ1N0cmluZywgc2V0U2VsZWN0ZWRPcHRpb25LZXlUb0ZpcnN0TWF0Y2hpbmdPcHRpb25dKVxuXG4gIGNvbnN0IHNlbGVjdE9wdGlvbkFuZENsZWFuVXAgPSB1c2VDYWxsYmFjayhcbiAgICAoc2VsZWN0ZWRPcHRpb246IFNsYXNoTWVudU9wdGlvbikgPT4ge1xuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRleHROb2RlQ29udGFpbmluZ1F1ZXJ5ID1cbiAgICAgICAgICByZXNvbHV0aW9uLm1hdGNoICE9IG51bGwgJiYgc2hvdWxkU3BsaXROb2RlV2l0aFF1ZXJ5XG4gICAgICAgICAgICA/ICRzcGxpdE5vZGVDb250YWluaW5nUXVlcnkocmVzb2x1dGlvbi5tYXRjaClcbiAgICAgICAgICAgIDogbnVsbFxuXG4gICAgICAgIG9uU2VsZWN0T3B0aW9uKFxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9uLFxuICAgICAgICAgIHRleHROb2RlQ29udGFpbmluZ1F1ZXJ5LFxuICAgICAgICAgIGNsb3NlLFxuICAgICAgICAgIHJlc29sdXRpb24ubWF0Y2ggPyByZXNvbHV0aW9uLm1hdGNoLm1hdGNoaW5nU3RyaW5nIDogJycsXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZWRpdG9yLCBzaG91bGRTcGxpdE5vZGVXaXRoUXVlcnksIHJlc29sdXRpb24ubWF0Y2gsIG9uU2VsZWN0T3B0aW9uLCBjbG9zZV0sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCByb290RWxlbSA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgICBpZiAocm9vdEVsZW0gIT09IG51bGwpIHtcbiAgICAgICAgcm9vdEVsZW0ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvcl0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ3JvdXBzV2l0aE9wdGlvbnMgPT09IG51bGwpIHtcbiAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5KG51bGwpXG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZE9wdGlvbktleSA9PT0gbnVsbCkge1xuICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXlUb0ZpcnN0TWF0Y2hpbmdPcHRpb24oKVxuICAgIH1cbiAgfSwgW1xuICAgIGdyb3Vwc1dpdGhPcHRpb25zLFxuICAgIHNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLFxuICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5VG9GaXJzdE1hdGNoaW5nT3B0aW9uLFxuICBdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCxcbiAgICAgICAgKHsgb3B0aW9uIH0pID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9uLnJlZiAmJiBvcHRpb24ucmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZChvcHRpb24ucmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVTZWxlY3RlZE9wdGlvbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQ8S2V5Ym9hcmRFdmVudD4oXG4gICAgICAgIEtFWV9BUlJPV19ET1dOX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBwYXlsb2FkXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMgIT09IG51bGwgJiZcbiAgICAgICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zLmxlbmd0aCAmJlxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25LZXkgIT09IG51bGxcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBhbGxPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBzZWxlY3RlZE9wdGlvbktleSlcblxuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXggIT09IGFsbE9wdGlvbnMubGVuZ3RoIC0gMSA/IHNlbGVjdGVkSW5kZXggKyAxIDogMFxuXG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZE9wdGlvbiA9IGFsbE9wdGlvbnNbbmV3U2VsZWN0ZWRJbmRleF1cblxuICAgICAgICAgICAgdXBkYXRlU2VsZWN0ZWRPcHRpb24obmV3U2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgICBpZiAobmV3U2VsZWN0ZWRPcHRpb24ucmVmICE9IG51bGwgJiYgbmV3U2VsZWN0ZWRPcHRpb24ucmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChTQ1JPTExfVFlQRUFIRUFEX09QVElPTl9JTlRPX1ZJRVdfQ09NTUFORCwge1xuICAgICAgICAgICAgICAgIGluZGV4OiBuZXdTZWxlY3RlZEluZGV4LFxuICAgICAgICAgICAgICAgIG9wdGlvbjogbmV3U2VsZWN0ZWRPcHRpb24sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kPEtleWJvYXJkRXZlbnQ+KFxuICAgICAgICBLRVlfQVJST1dfVVBfQ09NTUFORCxcbiAgICAgICAgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICBjb25zdCBldmVudCA9IHBheWxvYWRcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBncm91cHNXaXRoT3B0aW9ucyAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMubGVuZ3RoICYmXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbktleSAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgYWxsT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLmZsYXRNYXAoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zKVxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IGFsbE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IHNlbGVjdGVkT3B0aW9uS2V5KVxuXG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZEluZGV4ID0gc2VsZWN0ZWRJbmRleCAhPT0gMCA/IHNlbGVjdGVkSW5kZXggLSAxIDogYWxsT3B0aW9ucy5sZW5ndGggLSAxXG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGVkT3B0aW9uID0gYWxsT3B0aW9uc1tuZXdTZWxlY3RlZEluZGV4XVxuXG4gICAgICAgICAgICB1cGRhdGVTZWxlY3RlZE9wdGlvbihuZXdTZWxlY3RlZE9wdGlvbilcbiAgICAgICAgICAgIGlmIChuZXdTZWxlY3RlZE9wdGlvbi5yZWYgIT0gbnVsbCAmJiBuZXdTZWxlY3RlZE9wdGlvbi5yZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICBzY3JvbGxJbnRvVmlld0lmTmVlZGVkKG5ld1NlbGVjdGVkT3B0aW9uLnJlZi5jdXJyZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZDxLZXlib2FyZEV2ZW50PihcbiAgICAgICAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICAgICAgICAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gcGF5bG9hZFxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGNsb3NlKClcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kPEtleWJvYXJkRXZlbnQ+KFxuICAgICAgICBLRVlfVEFCX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnQgPSBwYXlsb2FkXG5cbiAgICAgICAgICBpZiAoZ3JvdXBzV2l0aE9wdGlvbnMgPT09IG51bGwgfHwgc2VsZWN0ZWRPcHRpb25LZXkgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhbGxPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmxhdE1hcCgoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMpXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBhbGxPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmtleSA9PT0gc2VsZWN0ZWRPcHRpb25LZXkpXG4gICAgICAgICAgaWYgKCFzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgICAgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcChzZWxlY3RlZE9wdGlvbilcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBLRVlfRU5URVJfQ09NTUFORCxcbiAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICAgIGlmIChncm91cHNXaXRoT3B0aW9ucyA9PT0gbnVsbCB8fCBzZWxlY3RlZE9wdGlvbktleSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGFsbE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5mbGF0TWFwKChncm91cCkgPT4gZ3JvdXAub3B0aW9ucylcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IGFsbE9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBzZWxlY3RlZE9wdGlvbktleSlcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAoc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgIClcbiAgfSwgW1xuICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAsXG4gICAgY2xvc2UsXG4gICAgZWRpdG9yLFxuICAgIGdyb3Vwc1dpdGhPcHRpb25zLFxuICAgIHNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIHVwZGF0ZVNlbGVjdGVkT3B0aW9uLFxuICBdKVxuXG4gIGNvbnN0IGxpc3RJdGVtUHJvcHMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBncm91cHNXaXRoT3B0aW9ucyxcbiAgICAgIHNlbGVjdE9wdGlvbkFuZENsZWFuVXAsXG4gICAgICBzZWxlY3RlZE9wdGlvbktleSxcbiAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5LFxuICAgIH0pLFxuICAgIFtzZWxlY3RPcHRpb25BbmRDbGVhblVwLCBzZWxlY3RlZE9wdGlvbktleSwgZ3JvdXBzV2l0aE9wdGlvbnNdLFxuICApXG5cbiAgcmV0dXJuIG1lbnVSZW5kZXJGbihcbiAgICBhbmNob3JFbGVtZW50UmVmLFxuICAgIGxpc3RJdGVtUHJvcHMsXG4gICAgcmVzb2x1dGlvbi5tYXRjaCA/IHJlc29sdXRpb24ubWF0Y2gubWF0Y2hpbmdTdHJpbmcgOiAnJyxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTWVudUFuY2hvclJlZihcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIHJlc29sdXRpb246IE1lbnVSZXNvbHV0aW9uIHwgbnVsbCxcbiAgc2V0UmVzb2x1dGlvbjogKHI6IE1lbnVSZXNvbHV0aW9uIHwgbnVsbCkgPT4gdm9pZCxcbiAgY2xhc3NOYW1lPzogc3RyaW5nLFxuKTogTXV0YWJsZVJlZk9iamVjdDxIVE1MRWxlbWVudD4ge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICBjb25zdCBhbmNob3JFbGVtZW50UmVmID0gdXNlUmVmPEhUTUxFbGVtZW50Pihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSlcbiAgY29uc3QgcG9zaXRpb25NZW51ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcbiAgICBjb25zdCBjb250YWluZXJEaXYgPSBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnRcblxuICAgIGNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDMyIGFzIGNvbnN0XG5cbiAgICBjb25zdCBtZW51RWxlID0gY29udGFpbmVyRGl2LmZpcnN0Q2hpbGQgYXMgRWxlbWVudFxuICAgIGlmIChyb290RWxlbWVudCAhPT0gbnVsbCAmJiByZXNvbHV0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IGhlaWdodCwgd2lkdGggfSA9IHJlc29sdXRpb24uZ2V0UmVjdCgpXG4gICAgICBsZXQgeyBsZWZ0LCB0b3AgfSA9IHJlc29sdXRpb24uZ2V0UmVjdCgpXG5cbiAgICAgIGNvbnN0IHJhd1RvcCA9IHRvcFxuICAgICAgdG9wIC09IGFuY2hvckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFlcbiAgICAgIGxlZnQgLT0gYW5jaG9yRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgd2luZG93LnNjcm9sbFhcbiAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS5sZWZ0ID0gYCR7bGVmdCArIHdpbmRvdy5zY3JvbGxYfXB4YFxuICAgICAgY29udGFpbmVyRGl2LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGBcbiAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YFxuICAgICAgaWYgKG1lbnVFbGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbWVudVJlY3QgPSBtZW51RWxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSBtZW51UmVjdC5oZWlnaHRcbiAgICAgICAgY29uc3QgbWVudVdpZHRoID0gbWVudVJlY3Qud2lkdGhcblxuICAgICAgICBjb25zdCByb290RWxlbWVudFJlY3QgPSByb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgICAgIGlmIChsZWZ0ICsgbWVudVdpZHRoID4gcm9vdEVsZW1lbnRSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgY29udGFpbmVyRGl2LnN0eWxlLmxlZnQgPSBgJHtyb290RWxlbWVudFJlY3QucmlnaHQgLSBtZW51V2lkdGggKyB3aW5kb3cuc2Nyb2xsWH1weGBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdvdWxkR29PZmZCb3R0b21PZlNjcmVlbiA9IHJhd1RvcCArIG1lbnVIZWlnaHQgKyBWRVJUSUNBTF9PRkZTRVQgPiB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICAgLy9jb25zdCB3b3VsZEdvT2ZmQm90dG9tT2ZDb250YWluZXIgPSB0b3AgKyBtZW51SGVpZ2h0ID4gcm9vdEVsZW1lbnRSZWN0LmJvdHRvbVxuICAgICAgICBjb25zdCB3b3VsZEdvT2ZmVG9wT2ZTY3JlZW4gPSByYXdUb3AgPCAwXG5cbiAgICAgICAgLy8gUG9zaXRpb24gc2xhc2ggbWVudSBhYm92ZSB0aGUgY3Vyc29yIGluc3RlYWQgb2YgYmVsb3cgKGRlZmF1bHQpIGlmIGl0IHdvdWxkIG90aGVyd2lzZSBnbyBvZmYgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLlxuICAgICAgICBpZiAod291bGRHb09mZkJvdHRvbU9mU2NyZWVuICYmICF3b3VsZEdvT2ZmVG9wT2ZTY3JlZW4pIHtcbiAgICAgICAgICBjb25zdCBtYXJnaW4gPSAyNFxuICAgICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS50b3AgPSBgJHtcbiAgICAgICAgICAgIHRvcCArIFZFUlRJQ0FMX09GRlNFVCAtIG1lbnVIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsWSAtIChoZWlnaHQgKyBtYXJnaW4pXG4gICAgICAgICAgfXB4YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS50b3AgPSBgJHt0b3AgKyB3aW5kb3cuc2Nyb2xsWSArIFZFUlRJQ0FMX09GRlNFVH1weGBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbnRhaW5lckRpdi5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBpZiAoY2xhc3NOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBjb250YWluZXJEaXYuY2xhc3NOYW1lID0gY2xhc3NOYW1lXG4gICAgICAgIH1cbiAgICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdTbGFzaCBtZW51JylcbiAgICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnaWQnLCAnc2xhc2gtbWVudScpXG4gICAgICAgIGNvbnRhaW5lckRpdi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnbGlzdGJveCcpXG4gICAgICAgIGNvbnRhaW5lckRpdi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICBjb250YWluZXJEaXYuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgIGFuY2hvckVsZW0uYXBwZW5kKGNvbnRhaW5lckRpdilcbiAgICAgIH1cbiAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCA9IGNvbnRhaW5lckRpdlxuICAgICAgcm9vdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgJ3NsYXNoLW1lbnUnKVxuICAgIH1cbiAgfSwgW2VkaXRvciwgcmVzb2x1dGlvbiwgY2xhc3NOYW1lLCBhbmNob3JFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcbiAgICBpZiAocmVzb2x1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgcG9zaXRpb25NZW51KClcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChyb290RWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJvb3RFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250YWluZXJEaXYgPSBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGNvbnRhaW5lckRpdiAhPT0gbnVsbCAmJiBjb250YWluZXJEaXYuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICBjb250YWluZXJEaXYucmVtb3ZlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgcG9zaXRpb25NZW51LCByZXNvbHV0aW9uXSlcblxuICBjb25zdCBvblZpc2liaWxpdHlDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoaXNJblZpZXc6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChyZXNvbHV0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghaXNJblZpZXcpIHtcbiAgICAgICAgICBzZXRSZXNvbHV0aW9uKG51bGwpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtyZXNvbHV0aW9uLCBzZXRSZXNvbHV0aW9uXSxcbiAgKVxuXG4gIHVzZUR5bmFtaWNQb3NpdGlvbmluZyhyZXNvbHV0aW9uLCBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnQsIHBvc2l0aW9uTWVudSwgb25WaXNpYmlsaXR5Q2hhbmdlKVxuXG4gIHJldHVybiBhbmNob3JFbGVtZW50UmVmXG59XG4iXSwibmFtZXMiOlsidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIm1lcmdlUmVnaXN0ZXIiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsIktFWV9BUlJPV19ET1dOX0NPTU1BTkQiLCJLRVlfQVJST1dfVVBfQ09NTUFORCIsIktFWV9FTlRFUl9DT01NQU5EIiwiS0VZX0VTQ0FQRV9DT01NQU5EIiwiS0VZX1RBQl9DT01NQU5EIiwiY3JlYXRlQ29tbWFuZCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTGF5b3V0RWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwiYmFzZUNsYXNzIiwic2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCIsInRhcmdldCIsInR5cGVhaGVhZENvbnRhaW5lck5vZGUiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidHlwZWFoZWFkUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRvcCIsImhlaWdodCIsIndpbmRvdyIsImlubmVySGVpZ2h0Iiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImdldEZ1bGxNYXRjaE9mZnNldCIsImRvY3VtZW50VGV4dCIsImVudHJ5VGV4dCIsIm9mZnNldCIsInRyaWdnZXJPZmZzZXQiLCJpIiwibGVuZ3RoIiwic3Vic3RyIiwiJHNwbGl0Tm9kZUNvbnRhaW5pbmdRdWVyeSIsIm1hdGNoIiwic2VsZWN0aW9uIiwiaXNDb2xsYXBzZWQiLCJhbmNob3IiLCJ0eXBlIiwiYW5jaG9yTm9kZSIsImdldE5vZGUiLCJpc1NpbXBsZVRleHQiLCJzZWxlY3Rpb25PZmZzZXQiLCJ0ZXh0Q29udGVudCIsImdldFRleHRDb250ZW50Iiwic2xpY2UiLCJjaGFyYWN0ZXJPZmZzZXQiLCJyZXBsYWNlYWJsZVN0cmluZyIsInF1ZXJ5T2Zmc2V0IiwibWF0Y2hpbmdTdHJpbmciLCJzdGFydE9mZnNldCIsIm5ld05vZGUiLCJzcGxpdFRleHQiLCJnZXRTY3JvbGxQYXJlbnQiLCJlbGVtZW50IiwiaW5jbHVkZUhpZGRlbiIsInN0eWxlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImV4Y2x1ZGVTdGF0aWNQYXJlbnQiLCJwb3NpdGlvbiIsIm92ZXJmbG93UmVnZXgiLCJib2R5IiwicGFyZW50IiwicGFyZW50RWxlbWVudCIsInRlc3QiLCJvdmVyZmxvdyIsIm92ZXJmbG93WSIsIm92ZXJmbG93WCIsImlzVHJpZ2dlclZpc2libGVJbk5lYXJlc3RTY3JvbGxDb250YWluZXIiLCJ0YXJnZXRFbGVtZW50IiwiY29udGFpbmVyRWxlbWVudCIsInRSZWN0IiwiY1JlY3QiLCJib3R0b20iLCJ1c2VEeW5hbWljUG9zaXRpb25pbmciLCJyZXNvbHV0aW9uIiwib25SZXBvc2l0aW9uIiwib25WaXNpYmlsaXR5Q2hhbmdlIiwiZWRpdG9yIiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsInJvb3RTY3JvbGxQYXJlbnQiLCJ0aWNraW5nIiwicHJldmlvdXNJc0luVmlldyIsImhhbmRsZVNjcm9sbCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImlzSW5WaWV3IiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJjYXB0dXJlIiwicGFzc2l2ZSIsIm9ic2VydmUiLCJ1bm9ic2VydmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiU0NST0xMX1RZUEVBSEVBRF9PUFRJT05fSU5UT19WSUVXX0NPTU1BTkQiLCJMZXhpY2FsTWVudSIsImFuY2hvckVsZW1lbnRSZWYiLCJjbG9zZSIsImdyb3Vwc1dpdGhPcHRpb25zIiwibWVudVJlbmRlckZuIiwib25TZWxlY3RPcHRpb24iLCJzaG91bGRTcGxpdE5vZGVXaXRoUXVlcnkiLCJzZWxlY3RlZE9wdGlvbktleSIsInNldFNlbGVjdGVkT3B0aW9uS2V5IiwidXBkYXRlU2VsZWN0ZWRPcHRpb24iLCJvcHRpb24iLCJyb290RWxlbSIsInNldEF0dHJpYnV0ZSIsImtleSIsInNldFNlbGVjdGVkT3B0aW9uS2V5VG9GaXJzdE1hdGNoaW5nT3B0aW9uIiwiYWxsT3B0aW9ucyIsImZsYXRNYXAiLCJncm91cCIsIm9wdGlvbnMiLCJmaXJzdE1hdGNoaW5nT3B0aW9uIiwic2VsZWN0T3B0aW9uQW5kQ2xlYW5VcCIsInNlbGVjdGVkT3B0aW9uIiwidXBkYXRlIiwidGV4dE5vZGVDb250YWluaW5nUXVlcnkiLCJyZW1vdmVBdHRyaWJ1dGUiLCJyZWdpc3RlckNvbW1hbmQiLCJyZWYiLCJjdXJyZW50IiwicGF5bG9hZCIsImV2ZW50Iiwic2VsZWN0ZWRJbmRleCIsImZpbmRJbmRleCIsIm5ld1NlbGVjdGVkSW5kZXgiLCJuZXdTZWxlY3RlZE9wdGlvbiIsImRpc3BhdGNoQ29tbWFuZCIsImluZGV4IiwicHJldmVudERlZmF1bHQiLCJzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24iLCJmaW5kIiwibGlzdEl0ZW1Qcm9wcyIsInVzZU1lbnVBbmNob3JSZWYiLCJhbmNob3JFbGVtIiwic2V0UmVzb2x1dGlvbiIsImNsYXNzTmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJwb3NpdGlvbk1lbnUiLCJjb250YWluZXJEaXYiLCJWRVJUSUNBTF9PRkZTRVQiLCJtZW51RWxlIiwiZmlyc3RDaGlsZCIsIndpZHRoIiwiZ2V0UmVjdCIsImxlZnQiLCJyYXdUb3AiLCJzY3JvbGxZIiwic2Nyb2xsWCIsIm1lbnVSZWN0IiwibWVudUhlaWdodCIsIm1lbnVXaWR0aCIsInJvb3RFbGVtZW50UmVjdCIsInJpZ2h0Iiwid291bGRHb09mZkJvdHRvbU9mU2NyZWVuIiwid291bGRHb09mZlRvcE9mU2NyZWVuIiwibWFyZ2luIiwiaXNDb25uZWN0ZWQiLCJkaXNwbGF5IiwiYXBwZW5kIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQVNBLHlCQUF5QixRQUFRLHdDQUF1QztBQUNqRixTQUFTQyxhQUFhLFFBQVEsaUJBQWdCO0FBQzlDLFNBQ0VDLGFBQWEsRUFDYkMsaUJBQWlCLEVBQ2pCQyxvQkFBb0IsRUFDcEJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxhQUFhLFFBQ1IsVUFBUztBQUNoQixTQUFTQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsZUFBZSxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFXMUYsTUFBTUMsWUFBWTtBQWFsQixNQUFNQyx5QkFBeUIsQ0FBQ0M7SUFDOUIsTUFBTUMseUJBQXlCQyxTQUFTQyxjQUFjLENBQUM7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
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import type { LexicalCommand, ParagraphNode, TextNode } from 'lexical';
3
+ import type { MenuTextMatch, TriggerFn } from '../useMenuTriggerMatch';
3
4
  import type { MenuRenderFn, MenuResolution } from './LexicalMenu';
4
5
  import type { SlashMenuGroup, SlashMenuOption } from './types';
5
- import { MenuTextMatch, TriggerFn } from '../useMenuTriggerMatch';
6
6
  export declare const PUNCTUATION = "\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;";
7
7
  export declare function getScrollParent(element: HTMLElement, includeHidden: boolean): HTMLBodyElement | HTMLElement;
8
8
  export { useDynamicPositioning } from './LexicalMenu';
@@ -21,5 +21,5 @@ export declare const ENABLE_SLASH_MENU_COMMAND: LexicalCommand<{
21
21
  node: ParagraphNode;
22
22
  }>;
23
23
  export declare function LexicalTypeaheadMenuPlugin({ anchorClassName, anchorElem, groupsWithOptions, menuRenderFn, onClose, onOpen, onQueryChange, onSelectOption, triggerFn, }: TypeaheadMenuPluginProps): JSX.Element | null;
24
- export { MenuRenderFn, MenuResolution, MenuTextMatch, TriggerFn };
24
+ export type { MenuRenderFn, MenuResolution, MenuTextMatch, TriggerFn };
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EAEb,QAAQ,EACT,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGjE,eAAO,MAAM,WAAW,iEAAiE,CAAA;AA4EzF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,OAAO,GACrB,eAAe,GAAG,WAAW,CAiB/B;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,WAAW,CAAA;IACvB,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IACxC,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,aAAa,EAAE,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACtD,cAAc,EAAE,CACd,MAAM,EAAE,eAAe,EACvB,uBAAuB,EAAE,QAAQ,GAAG,IAAI,EACxC,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,KACnB,IAAI,CAAA;IACT,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC;IACrD,IAAI,EAAE,aAAa,CAAA;CACpB,CAA8C,CAAA;AAE/C,wBAAgB,0BAA0B,CAAC,EACzC,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,aAAa,EACb,cAAc,EACd,SAAS,GACV,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAyH/C;AAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EAEb,QAAQ,EACT,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9D,eAAO,MAAM,WAAW,iEAAiE,CAAA;AA4EzF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,OAAO,GACrB,eAAe,GAAG,WAAW,CAiB/B;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,WAAW,CAAA;IACvB,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IACxC,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,aAAa,EAAE,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACtD,cAAc,EAAE,CACd,MAAM,EAAE,eAAe,EACvB,uBAAuB,EAAE,QAAQ,GAAG,IAAI,EACxC,SAAS,EAAE,MAAM,IAAI,EACrB,cAAc,EAAE,MAAM,KACnB,IAAI,CAAA;IACT,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC;IACrD,IAAI,EAAE,aAAa,CAAA;CACpB,CAA8C,CAAA;AAE/C,wBAAgB,0BAA0B,CAAC,EACzC,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,aAAa,EACb,cAAc,EACd,SAAS,GACV,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAyH/C;AAED,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA"}