highmark-markdown 1.2.130 → 1.2.132

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 (261) hide show
  1. package/lib/attributeNames.js +38 -0
  2. package/lib/constants.js +86 -0
  3. package/lib/example/constants.js +38 -0
  4. package/lib/example/customEventTypes.js +46 -0
  5. package/lib/example/importer.js +100 -0
  6. package/lib/example/indexOptions.js +45 -0
  7. package/lib/example/view/button/page.js +54 -0
  8. package/lib/example/view/button/tab/css.js +33 -0
  9. package/lib/example/view/button/tab/html.js +33 -0
  10. package/lib/example/view/button/tab/markdown.js +33 -0
  11. package/lib/example/view/button/tab/markdownStyle.js +33 -0
  12. package/lib/example/view/button/tab/plainText.js +33 -0
  13. package/lib/example/view/button/tab/preview.js +33 -0
  14. package/lib/example/view/button/tab.js +56 -0
  15. package/lib/example/view/div/container/css.js +35 -0
  16. package/lib/example/view/div/container/html.js +37 -0
  17. package/lib/example/view/div/container/markdown.js +56 -0
  18. package/lib/example/view/div/container/markdownStyle.js +57 -0
  19. package/lib/example/view/div/container/plainText.js +35 -0
  20. package/lib/example/view/div/container/preview.js +41 -0
  21. package/lib/example/view/div/container.js +39 -0
  22. package/lib/example/view/div/html.js +37 -0
  23. package/lib/example/view/div/pageButtons.js +86 -0
  24. package/lib/example/view/div/preview.js +83 -0
  25. package/lib/example/view/div/sizeable/left.js +31 -0
  26. package/lib/example/view/div/tabButtons/left.js +61 -0
  27. package/lib/example/view/div/tabButtons/right.js +95 -0
  28. package/lib/example/view/div/tabButtons.js +34 -0
  29. package/lib/example/view/textarea/css.js +47 -0
  30. package/lib/example/view/textarea/markdown.js +47 -0
  31. package/lib/example/view/textarea/markdownStyle.js +47 -0
  32. package/lib/example/view/textarea/parseTree/css.js +39 -0
  33. package/lib/example/view/textarea/parseTree/html.js +39 -0
  34. package/lib/example/view/textarea/parseTree/markdown.js +36 -0
  35. package/lib/example/view/textarea/parseTree/markdownStyle.js +36 -0
  36. package/lib/example/view/textarea/parseTree.js +40 -0
  37. package/lib/example/view/textarea/plainText.js +50 -0
  38. package/lib/example/view/textarea.js +33 -0
  39. package/lib/example/view/xmp.js +49 -0
  40. package/lib/example/view.js +309 -0
  41. package/lib/example.js +26 -0
  42. package/lib/index/item.js +40 -0
  43. package/lib/index/list.js +55 -0
  44. package/lib/index/match.js +37 -0
  45. package/lib/index.js +147 -0
  46. package/lib/letters.js +41 -0
  47. package/lib/map/className.js +19 -0
  48. package/lib/map/node/css.js +76 -0
  49. package/lib/map/node/html.js +142 -0
  50. package/lib/map/nonTerminalNode/markdown.js +89 -0
  51. package/lib/map/nonTerminalNode/markdownStyle.js +63 -0
  52. package/lib/map/tagName.js +19 -0
  53. package/lib/markdown/bnf.js +362 -0
  54. package/lib/markdown/entries.js +81 -0
  55. package/lib/markdown/lexer.js +41 -0
  56. package/lib/markdown/parser.js +36 -0
  57. package/lib/markdownStyle/bnf.js +89 -0
  58. package/lib/markdownStyle/entries.js +53 -0
  59. package/lib/markdownStyle/lexer.js +41 -0
  60. package/lib/markdownStyle/parser.js +36 -0
  61. package/lib/mixins/node.js +145 -0
  62. package/lib/mixins/token.js +43 -0
  63. package/lib/node/css/amount.js +34 -0
  64. package/lib/node/css/argument.js +26 -0
  65. package/lib/node/css/arguments.js +32 -0
  66. package/lib/node/css/class.js +32 -0
  67. package/lib/node/css/colour.js +34 -0
  68. package/lib/node/css/content.js +30 -0
  69. package/lib/node/css/declaration.js +37 -0
  70. package/lib/node/css/identifier.js +34 -0
  71. package/lib/node/css/name.js +32 -0
  72. package/lib/node/css/pseudoClass.js +32 -0
  73. package/lib/node/css/ruleName.js +65 -0
  74. package/lib/node/css/ruleSet.js +65 -0
  75. package/lib/node/css/selector.js +26 -0
  76. package/lib/node/css/selectors.js +37 -0
  77. package/lib/node/css/selectorsList.js +40 -0
  78. package/lib/node/css/string.js +34 -0
  79. package/lib/node/css/target.js +26 -0
  80. package/lib/node/css/topmost.js +93 -0
  81. package/lib/node/css/value.js +31 -0
  82. package/lib/node/css/values.js +34 -0
  83. package/lib/node/css/verbatim.js +38 -0
  84. package/lib/node/css.js +89 -0
  85. package/lib/node/html/anchor/contents.js +26 -0
  86. package/lib/node/html/anchor/footnote.js +26 -0
  87. package/lib/node/html/anchor/index.js +26 -0
  88. package/lib/node/html/anchor.js +56 -0
  89. package/lib/node/html/container.js +43 -0
  90. package/lib/node/html/directive/contents.js +26 -0
  91. package/lib/node/html/directive/footnotes.js +26 -0
  92. package/lib/node/html/directive/index.js +26 -0
  93. package/lib/node/html/directive/pageNumber.js +26 -0
  94. package/lib/node/html/directive.js +41 -0
  95. package/lib/node/html/division.js +149 -0
  96. package/lib/node/html/error.js +59 -0
  97. package/lib/node/html/footnote.js +58 -0
  98. package/lib/node/html/heading/index.js +81 -0
  99. package/lib/node/html/heading/primary.js +30 -0
  100. package/lib/node/html/heading/quaternary.js +30 -0
  101. package/lib/node/html/heading/secondary.js +30 -0
  102. package/lib/node/html/heading/tertiary.js +30 -0
  103. package/lib/node/html/heading.js +56 -0
  104. package/lib/node/html/image.js +95 -0
  105. package/lib/node/html/item/contents.js +38 -0
  106. package/lib/node/html/item/footnote.js +39 -0
  107. package/lib/node/html/item/index.js +57 -0
  108. package/lib/node/html/item/ordered.js +41 -0
  109. package/lib/node/html/item/unordered.js +28 -0
  110. package/lib/node/html/line/block.js +33 -0
  111. package/lib/node/html/line.js +113 -0
  112. package/lib/node/html/link/contents.js +54 -0
  113. package/lib/node/html/link/email.js +111 -0
  114. package/lib/node/html/link/footnote.js +114 -0
  115. package/lib/node/html/link/hyper.js +111 -0
  116. package/lib/node/html/link/index.js +88 -0
  117. package/lib/node/html/list/contents.js +38 -0
  118. package/lib/node/html/list/footnotes.js +58 -0
  119. package/lib/node/html/list/index.js +38 -0
  120. package/lib/node/html/list/ordered.js +28 -0
  121. package/lib/node/html/list/unordered.js +28 -0
  122. package/lib/node/html/listing/block.js +55 -0
  123. package/lib/node/html/listing/inline.js +55 -0
  124. package/lib/node/html/pageNumber.js +86 -0
  125. package/lib/node/html/paragraph.js +28 -0
  126. package/lib/node/html/reference.js +28 -0
  127. package/lib/node/html/table.js +28 -0
  128. package/lib/node/html/tableBody.js +28 -0
  129. package/lib/node/html/tableBodyCell.js +28 -0
  130. package/lib/node/html/tableBodyRow.js +28 -0
  131. package/lib/node/html/tableHead.js +28 -0
  132. package/lib/node/html/tableHeadCell.js +28 -0
  133. package/lib/node/html/tableHeadRow.js +28 -0
  134. package/lib/node/html/text/block.js +28 -0
  135. package/lib/node/html/text/comma.js +39 -0
  136. package/lib/node/html/text/emphasised.js +32 -0
  137. package/lib/node/html/text/index.js +46 -0
  138. package/lib/node/html/text/inline.js +52 -0
  139. package/lib/node/html/text/plain.js +28 -0
  140. package/lib/node/html/text/strong.js +32 -0
  141. package/lib/node/html/text/stronglyEmphasised.js +87 -0
  142. package/lib/node/html/text/xml.js +34 -0
  143. package/lib/node/html/text.js +42 -0
  144. package/lib/node/html/topmost.js +125 -0
  145. package/lib/node/html/xmlElement/complex.js +35 -0
  146. package/lib/node/html/xmlElement/simple.js +34 -0
  147. package/lib/node/html/xmlElement.js +125 -0
  148. package/lib/node/html.js +282 -0
  149. package/lib/node/markdown/blockEnd.js +23 -0
  150. package/lib/node/markdown/blockStart.js +49 -0
  151. package/lib/node/markdown/className.js +30 -0
  152. package/lib/node/markdown/container.js +36 -0
  153. package/lib/node/markdown/directive/embed.js +60 -0
  154. package/lib/node/markdown/directive/include.js +59 -0
  155. package/lib/node/markdown/division.js +91 -0
  156. package/lib/node/markdown/document.js +62 -0
  157. package/lib/node/markdown/error.js +30 -0
  158. package/lib/node/markdown/footnote.js +30 -0
  159. package/lib/node/markdown/hyperlink.js +58 -0
  160. package/lib/node/markdown/image.js +30 -0
  161. package/lib/node/markdown/item/ordered.js +36 -0
  162. package/lib/node/markdown/languageName.js +30 -0
  163. package/lib/node/markdown/link/email.js +58 -0
  164. package/lib/node/markdown/link/footnote.js +32 -0
  165. package/lib/node/markdown/listng/block.js +37 -0
  166. package/lib/node/markdown/listng/inline.js +36 -0
  167. package/lib/node/markdown/path.js +30 -0
  168. package/lib/node/markdown/reference.js +36 -0
  169. package/lib/node/markdown/releaseName.js +30 -0
  170. package/lib/node/markdown/subDivision.js +53 -0
  171. package/lib/node/markdown/text/block.js +23 -0
  172. package/lib/node/markdown/text/plain.js +23 -0
  173. package/lib/node/markdown/text/xml.js +23 -0
  174. package/lib/node/markdown/text.js +66 -0
  175. package/lib/node/markdown/xmlAttribute.js +45 -0
  176. package/lib/node/markdown/xmlAttributeName.js +32 -0
  177. package/lib/node/markdown/xmlAttributeValue.js +31 -0
  178. package/lib/node/markdown/xmlElement/complex.js +23 -0
  179. package/lib/node/markdown/xmlElement/simple.js +23 -0
  180. package/lib/node/markdown/xmlElement.js +51 -0
  181. package/lib/node/markdown/xmlTag/complete.js +23 -0
  182. package/lib/node/markdown/xmlTag/end.js +35 -0
  183. package/lib/node/markdown/xmlTag/start.js +23 -0
  184. package/lib/node/markdown/xmlTag.js +57 -0
  185. package/lib/node/markdown/xmlTagName.js +32 -0
  186. package/lib/node/markdown.js +67 -0
  187. package/lib/node/markdownStyle/amount.js +31 -0
  188. package/lib/node/markdownStyle/argument.js +23 -0
  189. package/lib/node/markdownStyle/arguments.js +23 -0
  190. package/lib/node/markdownStyle/colour.js +30 -0
  191. package/lib/node/markdownStyle/content.js +39 -0
  192. package/lib/node/markdownStyle/declaration.js +23 -0
  193. package/lib/node/markdownStyle/document.js +23 -0
  194. package/lib/node/markdownStyle/error.js +23 -0
  195. package/lib/node/markdownStyle/identifier.js +31 -0
  196. package/lib/node/markdownStyle/name.js +23 -0
  197. package/lib/node/markdownStyle/nonsense.js +23 -0
  198. package/lib/node/markdownStyle/pseudoClass.js +23 -0
  199. package/lib/node/markdownStyle/ruleName.js +30 -0
  200. package/lib/node/markdownStyle/ruleSet.js +23 -0
  201. package/lib/node/markdownStyle/selector.js +23 -0
  202. package/lib/node/markdownStyle/selectors.js +23 -0
  203. package/lib/node/markdownStyle/selectorsList.js +23 -0
  204. package/lib/node/markdownStyle/string.js +30 -0
  205. package/lib/node/markdownStyle/value.js +23 -0
  206. package/lib/node/markdownStyle/values.js +23 -0
  207. package/lib/node/markdownStyle/verbatim.js +23 -0
  208. package/lib/node/markdownStyle.js +36 -0
  209. package/lib/prepends.js +26 -0
  210. package/lib/queries/markdown.js +20 -0
  211. package/lib/queries/markdownStyle.js +20 -0
  212. package/lib/ruleNames/markdown.js +435 -0
  213. package/lib/ruleNames/markdownStyle.js +135 -0
  214. package/lib/style/defaultMarkdown.js +258 -0
  215. package/lib/style/font.js +65 -0
  216. package/lib/styleElement/markdown/default.js +36 -0
  217. package/lib/styleElement/markdown.js +86 -0
  218. package/lib/styleElement.js +56 -0
  219. package/lib/tokenTypes.js +110 -0
  220. package/lib/transform/css/ruleSet.js +33 -0
  221. package/lib/transform/css/selectors.js +35 -0
  222. package/lib/transform/css/selectorsList.js +51 -0
  223. package/lib/transform/css.js +57 -0
  224. package/lib/transform/html/anchor/index.js +29 -0
  225. package/lib/transform/html/division.js +36 -0
  226. package/lib/transform/html/footnote.js +43 -0
  227. package/lib/transform/html/heading/index.js +25 -0
  228. package/lib/transform/html/index.js +64 -0
  229. package/lib/transform/html/item/contents.js +42 -0
  230. package/lib/transform/html/item/footnote.js +29 -0
  231. package/lib/transform/html/item/index.js +29 -0
  232. package/lib/transform/html/line.js +28 -0
  233. package/lib/transform/html/link/contents.js +39 -0
  234. package/lib/transform/html/link/footnote.js +54 -0
  235. package/lib/transform/html/list/contents.js +66 -0
  236. package/lib/transform/html/list/footnotes.js +38 -0
  237. package/lib/transform/html/list/index.js +34 -0
  238. package/lib/transform/html/pageNumber.js +33 -0
  239. package/lib/transform/html.js +44 -0
  240. package/lib/transform/markdown/directive/embed.js +28 -0
  241. package/lib/transform/markdown/directive/ignore.js +24 -0
  242. package/lib/transform/markdown/directive/include.js +34 -0
  243. package/lib/transform/markdown/subDivision.js +24 -0
  244. package/lib/transform/markdown.js +21 -0
  245. package/lib/utilities/contents.js +101 -0
  246. package/lib/utilities/css.js +53 -0
  247. package/lib/utilities/dom.js +58 -0
  248. package/lib/utilities/element.js +26 -0
  249. package/lib/utilities/entities.js +17 -0
  250. package/lib/utilities/entries.js +24 -0
  251. package/lib/utilities/grammar.js +160 -0
  252. package/lib/utilities/html.js +86 -0
  253. package/lib/utilities/index.js +250 -0
  254. package/lib/utilities/jsx.js +59 -0
  255. package/lib/utilities/markdown.js +61 -0
  256. package/lib/utilities/markdownStyle.js +13 -0
  257. package/lib/utilities/object.js +65 -0
  258. package/lib/utilities/query.js +64 -0
  259. package/lib/utilities/string.js +51 -0
  260. package/lib/utilities/stringLiteral.js +16 -0
  261. package/package.json +6 -6
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DivisionHTMLNode;
9
+ }
10
+ });
11
+ const _necessary = require("necessary");
12
+ const _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
13
+ const _pageNumber = /*#__PURE__*/ _interop_require_default(require("../../node/html/pageNumber"));
14
+ const _division = /*#__PURE__*/ _interop_require_default(require("../../transform/html/division"));
15
+ const _pageNumber1 = /*#__PURE__*/ _interop_require_default(require("../../transform/html/pageNumber"));
16
+ const _index = /*#__PURE__*/ _interop_require_default(require("../../transform/html/anchor/index"));
17
+ const _footnote = /*#__PURE__*/ _interop_require_default(require("../../transform/html/item/footnote"));
18
+ const _footnotes = /*#__PURE__*/ _interop_require_default(require("../../transform/html/list/footnotes"));
19
+ const _markdown = require("../../ruleNames/markdown");
20
+ const _html1 = require("../../utilities/html");
21
+ function _interop_require_default(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ const { extract } = _necessary.arrayUtilities;
27
+ class DivisionHTMLNode extends _html.default {
28
+ constructor(outerNode, parentNode, childNodes, domElement, divisionClassName){
29
+ super(outerNode, parentNode, childNodes, domElement);
30
+ this.divisionClassName = divisionClassName;
31
+ }
32
+ getDivisionClassName() {
33
+ return this.divisionClassName;
34
+ }
35
+ getDivDOMElement() {
36
+ const domElement = this.getDOMElement(), divDOMElement = domElement; ///
37
+ return divDOMElement;
38
+ }
39
+ className(context) {
40
+ const className = this.divisionClassName; ///
41
+ return className;
42
+ }
43
+ getRuleName() {
44
+ const ruleNme = _markdown.DIVISION_MARKDOWN_RULE_NAME;
45
+ return ruleNme;
46
+ }
47
+ isIgnored() {
48
+ const markdownNode = this.getMarkdownNode(), divisionMarkdownNode = markdownNode, ignored = divisionMarkdownNode.isIgnored();
49
+ return ignored;
50
+ }
51
+ pageNumber(context) {
52
+ const pageNumber = this.fromFirstLastChildNode((firstLastChildNode)=>{
53
+ let pageNumber = null;
54
+ const firstLastChildNodePageNumberHTMLNode = firstLastChildNode instanceof _pageNumber.default;
55
+ if (firstLastChildNodePageNumberHTMLNode) {
56
+ const pageNumberHTMLNode = firstLastChildNode; ///
57
+ pageNumber = pageNumberHTMLNode.getPageNumber();
58
+ }
59
+ return pageNumber;
60
+ });
61
+ return pageNumber;
62
+ }
63
+ paginate(htmlTransforms, context) {
64
+ const ignored = this.isIgnored();
65
+ if (ignored) {
66
+ return;
67
+ }
68
+ const node = this, start = 1, divisionHTMLNode = this, footnotesDirectiveHTMLNode = (0, _html1.footnotesDirectiveHTMLNodeFromNode)(node), pageNumberDirectiveHTMLNode = (0, _html1.pageNumberDirectiveHTMLNodeFromNode)(node);
69
+ let { pageNumber } = context;
70
+ Object.assign(context, {
71
+ start
72
+ });
73
+ if (footnotesDirectiveHTMLNode !== null) {
74
+ const footnotesListHTMLTransform = divisionHTMLNode.resolveFootnotes(context);
75
+ if (footnotesListHTMLTransform !== null) {
76
+ footnotesListHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
77
+ }
78
+ }
79
+ if (pageNumberDirectiveHTMLNode !== null) {
80
+ const pageNumberHTMLTransform = divisionHTMLNode.resolvePageNumber(pageNumber);
81
+ pageNumberHTMLTransform.appendToDivisionHTMLNode(divisionHTMLNode);
82
+ }
83
+ let htmlTransform;
84
+ const indexAnchorHTMLTransform = _index.default.fromPageNumber(pageNumber);
85
+ htmlTransform = indexAnchorHTMLTransform; ///
86
+ htmlTransforms.push(htmlTransform);
87
+ const divisionHTMLTransform = _division.default.fromDivisionHTMLNode(divisionHTMLNode);
88
+ htmlTransform = divisionHTMLTransform; ///
89
+ htmlTransforms.push(htmlTransform);
90
+ pageNumber++;
91
+ Object.assign(context, {
92
+ pageNumber
93
+ });
94
+ delete context.start;
95
+ }
96
+ resolveFootnotes(context) {
97
+ const node = this, footnoteHTMLNodes = (0, _html1.footnoteHTMLNodesFromNode)(node), footnoteLinkHTMLNodes = (0, _html1.footnoteLinkHTMLNodesFromNode)(node);
98
+ let start;
99
+ ({ start = 1 } = context);
100
+ const footnoteItemHTMLTransforms = [];
101
+ let number = start; ///
102
+ footnoteLinkHTMLNodes.forEach((footnoteLinkHTMLNode)=>{
103
+ const identifier = footnoteLinkHTMLNode.identifier(context), footnoteHTMLNode = extract(footnoteHTMLNodes, (footnoteHTMLNode)=>{
104
+ const identifierMatches = footnoteHTMLNode.matchIdentifier(identifier);
105
+ if (identifierMatches) {
106
+ return true;
107
+ }
108
+ }) || null;
109
+ if (footnoteHTMLNode !== null) {
110
+ const paragraphHTMLNode = footnoteHTMLNode.getParagraphHTMLNode(), footnoteItemHTMLTransform = _footnote.default.fromParagraphHTMLNOdeAndIdentifier(paragraphHTMLNode, identifier);
111
+ footnoteItemHTMLTransforms.push(footnoteItemHTMLTransform);
112
+ footnoteLinkHTMLNode.setNumber(number);
113
+ number++;
114
+ } else {
115
+ footnoteLinkHTMLNode.resetNumber();
116
+ }
117
+ });
118
+ const footnotesListHTMLTransform = _footnotes.default.fromStartAndFootnoteItemHTMLTransforms(start, footnoteItemHTMLTransforms);
119
+ start = number; ///
120
+ Object.assign(context, {
121
+ start
122
+ });
123
+ return footnotesListHTMLTransform;
124
+ }
125
+ resolvePageNumber(pageNumber) {
126
+ const pageNumberHTMLTransform = _pageNumber1.default.fromPageNumber(pageNumber);
127
+ return pageNumberHTMLTransform;
128
+ }
129
+ asString() {
130
+ const ruleName = this.getRuleName(), string = ruleName; ///
131
+ return string;
132
+ }
133
+ static tagName = "div";
134
+ static className = null;
135
+ static fromNothing() {
136
+ const divisionClassName = null, divisionHTMLNode = _html.default.fromNothing(DivisionHTMLNode, divisionClassName);
137
+ return divisionHTMLNode;
138
+ }
139
+ static fromOuterNode(outerNode) {
140
+ const divisionMarkdownNode = outerNode, divisionClassName = divisionMarkdownNode.getDivisionClassName(), divisionHTMLNode = _html.default.fromOuterNode(DivisionHTMLNode, outerNode, divisionClassName);
141
+ return divisionHTMLNode;
142
+ }
143
+ static fromPaginatedHTMLNodesAndDivisionClassName(paginatedHTMLNodes, divisionClassName) {
144
+ const childHTMLNodes = paginatedHTMLNodes, divisionHTMLNode = _html.default.fromChildHTMLNodes(DivisionHTMLNode, childHTMLNodes, divisionClassName);
145
+ return divisionHTMLNode;
146
+ }
147
+ }
148
+
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvZGl2aXNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IFBhZ2VOdW1iZXJIVE1MTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBEaXZpc2lvbkhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2RpdmlzaW9uXCI7XG5pbXBvcnQgUGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL3BhZ2VOdW1iZXJcIjtcbmltcG9ydCBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2FuY2hvci9pbmRleFwiO1xuaW1wb3J0IEZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9odG1sL2l0ZW0vZm9vdG5vdGVcIjtcbmltcG9ydCBGb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2h0bWwvbGlzdC9mb290bm90ZXNcIjtcblxuaW1wb3J0IHsgRElWSVNJT05fTUFSS0RPV05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlLFxuICAgICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9odG1sXCI7XG5cbmNvbnN0IHsgZXh0cmFjdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERpdmlzaW9uSFRNTE5vZGUgZXh0ZW5kcyBIVE1MTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2RlcywgZG9tRWxlbWVudCwgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgZ2V0RGl2aXNpb25DbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBnZXREaXZET01FbGVtZW50KCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcbiAgICAgICAgICBkaXZET01FbGVtZW50ID0gZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcmV0dXJuIGRpdkRPTUVsZW1lbnQ7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IHJ1bGVObWUgPSBESVZJU0lPTl9NQVJLRE9XTl9SVUxFX05BTUU7XG5cbiAgICByZXR1cm4gcnVsZU5tZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBtYXJrZG93bk5vZGUgPSB0aGlzLmdldE1hcmtkb3duTm9kZSgpLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLCAgLy8vXG4gICAgICAgICAgaWdub3JlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmlzSWdub3JlZCgpO1xuXG4gICAgcmV0dXJuIGlnbm9yZWQ7XG4gIH1cblxuICBwYWdlTnVtYmVyKGNvbnRleHQpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5mcm9tRmlyc3RMYXN0Q2hpbGROb2RlKChmaXJzdExhc3RDaGlsZE5vZGUpID0+IHtcbiAgICAgIGxldCBwYWdlTnVtYmVyID0gbnVsbDtcblxuICAgICAgY29uc3QgZmlyc3RMYXN0Q2hpbGROb2RlUGFnZU51bWJlckhUTUxOb2RlID0gKGZpcnN0TGFzdENoaWxkTm9kZSBpbnN0YW5jZW9mIFBhZ2VOdW1iZXJIVE1MTm9kZSk7XG5cbiAgICAgIGlmIChmaXJzdExhc3RDaGlsZE5vZGVQYWdlTnVtYmVySFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxOb2RlID0gZmlyc3RMYXN0Q2hpbGROb2RlOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlciA9IHBhZ2VOdW1iZXJIVE1MTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYWdlTnVtYmVyO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIH1cblxuICBwYWdpbmF0ZShodG1sVHJhbnNmb3JtcywgY29udGV4dCkge1xuICAgIGNvbnN0IGlnbm9yZWQgPSB0aGlzLmlzSWdub3JlZCgpO1xuXG4gICAgaWYgKGlnbm9yZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXJ0ID0gMSxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gdGhpcyxcbiAgICAgICAgICBmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSA9IGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlID0gcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSk7XG5cbiAgICBsZXQgeyBwYWdlTnVtYmVyIH0gPSBjb250ZXh0O1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBzdGFydFxuICAgIH0pO1xuXG4gICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAgPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVGb290bm90ZXMoY29udGV4dCk7XG5cbiAgICAgIGlmIChmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGFnZU51bWJlckhUTUxUcmFuc2Zvcm0gPSBkaXZpc2lvbkhUTUxOb2RlLnJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgICBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybS5hcHBlbmRUb0RpdmlzaW9uSFRNTE5vZGUoZGl2aXNpb25IVE1MTm9kZSk7XG4gICAgfVxuXG4gICAgbGV0IGh0bWxUcmFuc2Zvcm07XG5cbiAgICBjb25zdCBpbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0gPSBJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0uZnJvbVBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG5cbiAgICBodG1sVHJhbnNmb3JtID0gaW5kZXhBbmNob3JIVE1MVHJhbnNmb3JtOyAgLy8vXG5cbiAgICBodG1sVHJhbnNmb3Jtcy5wdXNoKGh0bWxUcmFuc2Zvcm0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25IVE1MVHJhbnNmb3JtID0gRGl2aXNpb25IVE1MVHJhbnNmb3JtLmZyb21EaXZpc2lvbkhUTUxOb2RlKGRpdmlzaW9uSFRNTE5vZGUpO1xuXG4gICAgaHRtbFRyYW5zZm9ybSA9IGRpdmlzaW9uSFRNTFRyYW5zZm9ybTsgIC8vL1xuXG4gICAgaHRtbFRyYW5zZm9ybXMucHVzaChodG1sVHJhbnNmb3JtKTtcblxuICAgIHBhZ2VOdW1iZXIrKztcblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgcGFnZU51bWJlclxuICAgIH0pO1xuXG4gICAgZGVsZXRlIGNvbnRleHQuc3RhcnQ7XG4gIH1cblxuICByZXNvbHZlRm9vdG5vdGVzKGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3RlSFRNTE5vZGVzID0gZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZXMgPSBmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIGxldCBzdGFydDtcblxuICAgICh7IHN0YXJ0ID0gMSB9ID0gY29udGV4dCk7XG5cbiAgICBjb25zdCBmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtcyA9IFtdO1xuXG4gICAgbGV0IG51bWJlciA9IHN0YXJ0OyAvLy9cblxuICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlcy5mb3JFYWNoKChmb290bm90ZUxpbmtIVE1MTm9kZSkgPT4ge1xuICAgICAgY29uc3QgaWRlbnRpZmllciA9IGZvb3Rub3RlTGlua0hUTUxOb2RlLmlkZW50aWZpZXIoY29udGV4dCksXG4gICAgICAgICAgICBmb290bm90ZUhUTUxOb2RlID0gZXh0cmFjdChmb290bm90ZUhUTUxOb2RlcywgKGZvb3Rub3RlSFRNTE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaWRlbnRpZmllck1hdGNoZXMgPSBmb290bm90ZUhUTUxOb2RlLm1hdGNoSWRlbnRpZmllcihpZGVudGlmaWVyKTtcblxuICAgICAgICAgICAgICBpZiAoaWRlbnRpZmllck1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgICAgaWYgKGZvb3Rub3RlSFRNTE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcGFyYWdyYXBoSFRNTE5vZGUgPSBmb290bm90ZUhUTUxOb2RlLmdldFBhcmFncmFwaEhUTUxOb2RlKCksXG4gICAgICAgICAgICAgIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0gPSBGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtLmZyb21QYXJhZ3JhcGhIVE1MTk9kZUFuZElkZW50aWZpZXIocGFyYWdyYXBoSFRNTE5vZGUsIGlkZW50aWZpZXIpXG5cbiAgICAgICAgZm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMucHVzaChmb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtKTtcblxuICAgICAgICBmb290bm90ZUxpbmtIVE1MTm9kZS5zZXROdW1iZXIobnVtYmVyKTtcblxuICAgICAgICBudW1iZXIrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2RlLnJlc2V0TnVtYmVyKClcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGZvb3Rub3Rlc0xpc3RIVE1MVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0uZnJvbVN0YXJ0QW5kRm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMoc3RhcnQsIGZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm1zKTtcblxuICAgIHN0YXJ0ID0gbnVtYmVyOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgc3RhcnRcbiAgICB9KTtcblxuICAgIHJldHVybiBmb290bm90ZXNMaXN0SFRNTFRyYW5zZm9ybTtcbiAgfVxuXG4gIHJlc29sdmVQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVySFRNTFRyYW5zZm9ybSA9IFBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSB0aGlzLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgc3RyaW5nID0gcnVsZU5hbWU7ICAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGNsYXNzTmFtZSA9IG51bGw7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGRpdmlzaW9uQ2xhc3NOYW1lID0gbnVsbCxcbiAgICAgICAgICBkaXZpc2lvbkhUTUxOb2RlID0gSFRNTE5vZGUuZnJvbU5vdGhpbmcoRGl2aXNpb25IVE1MTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IG91dGVyTm9kZSwgLy8vXG4gICAgICAgICAgZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5nZXREaXZpc2lvbkNsYXNzTmFtZSgpLFxuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tT3V0ZXJOb2RlKERpdmlzaW9uSFRNTE5vZGUsIG91dGVyTm9kZSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhZ2luYXRlZEhUTUxOb2Rlc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2luYXRlZEhUTUxOb2RlcywgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHBhZ2luYXRlZEhUTUxOb2RlcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tQ2hpbGRIVE1MTm9kZXMoRGl2aXNpb25IVE1MTm9kZSwgY2hpbGRIVE1MTm9kZXMsIGRpdmlzaW9uQ2xhc3NOYW1lKTtcblxuICAgIHJldHVybiBkaXZpc2lvbkhUTUxOb2RlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRGl2aXNpb25IVE1MTm9kZSIsImV4dHJhY3QiLCJhcnJheVV0aWxpdGllcyIsIkhUTUxOb2RlIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJkb21FbGVtZW50IiwiZGl2aXNpb25DbGFzc05hbWUiLCJnZXREaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdkRPTUVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwiZGl2RE9NRWxlbWVudCIsImNsYXNzTmFtZSIsImNvbnRleHQiLCJnZXRSdWxlTmFtZSIsInJ1bGVObWUiLCJESVZJU0lPTl9NQVJLRE9XTl9SVUxFX05BTUUiLCJpc0lnbm9yZWQiLCJtYXJrZG93bk5vZGUiLCJnZXRNYXJrZG93bk5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsImlnbm9yZWQiLCJwYWdlTnVtYmVyIiwiZnJvbUZpcnN0TGFzdENoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZVBhZ2VOdW1iZXJIVE1MTm9kZSIsIlBhZ2VOdW1iZXJIVE1MTm9kZSIsInBhZ2VOdW1iZXJIVE1MTm9kZSIsImdldFBhZ2VOdW1iZXIiLCJwYWdpbmF0ZSIsImh0bWxUcmFuc2Zvcm1zIiwibm9kZSIsInN0YXJ0IiwiZGl2aXNpb25IVE1MTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiZm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0iLCJyZXNvbHZlRm9vdG5vdGVzIiwiYXBwZW5kVG9EaXZpc2lvbkhUTUxOb2RlIiwicGFnZU51bWJlckhUTUxUcmFuc2Zvcm0iLCJyZXNvbHZlUGFnZU51bWJlciIsImh0bWxUcmFuc2Zvcm0iLCJpbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0iLCJJbmRleEFuY2hvckhUTUxUcmFuc2Zvcm0iLCJmcm9tUGFnZU51bWJlciIsInB1c2giLCJkaXZpc2lvbkhUTUxUcmFuc2Zvcm0iLCJEaXZpc2lvbkhUTUxUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25IVE1MTm9kZSIsImZvb3Rub3RlSFRNTE5vZGVzIiwiZm9vdG5vdGVIVE1MTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlTGlua0hUTUxOb2RlcyIsImZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVJdGVtSFRNTFRyYW5zZm9ybXMiLCJudW1iZXIiLCJmb3JFYWNoIiwiZm9vdG5vdGVMaW5rSFRNTE5vZGUiLCJpZGVudGlmaWVyIiwiZm9vdG5vdGVIVE1MTm9kZSIsImlkZW50aWZpZXJNYXRjaGVzIiwibWF0Y2hJZGVudGlmaWVyIiwicGFyYWdyYXBoSFRNTE5vZGUiLCJnZXRQYXJhZ3JhcGhIVE1MTm9kZSIsImZvb3Rub3RlSXRlbUhUTUxUcmFuc2Zvcm0iLCJGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtIiwiZnJvbVBhcmFncmFwaEhUTUxOT2RlQW5kSWRlbnRpZmllciIsInNldE51bWJlciIsInJlc2V0TnVtYmVyIiwiRm9vdG5vdGVzTGlzdEhUTUxUcmFuc2Zvcm0iLCJmcm9tU3RhcnRBbmRGb290bm90ZUl0ZW1IVE1MVHJhbnNmb3JtcyIsIlBhZ2VOdW1iZXJIVE1MVHJhbnNmb3JtIiwiYXNTdHJpbmciLCJydWxlTmFtZSIsInN0cmluZyIsInRhZ05hbWUiLCJmcm9tTm90aGluZyIsImZyb21PdXRlck5vZGUiLCJmcm9tUGFnaW5hdGVkSFRNTE5vZGVzQW5kRGl2aXNpb25DbGFzc05hbWUiLCJwYWdpbmF0ZWRIVE1MTm9kZXMiLCJjaGlsZEhUTUxOb2RlcyIsImZyb21DaGlsZEhUTUxOb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0JBOzs7ZUFBcUJBOzs7MkJBbEJVOzZEQUVWO21FQUNVO2lFQUNHO29FQUNFOzhEQUNDO2lFQUNDO2tFQUNDOzBCQUVLO3VCQUlROzs7Ozs7QUFFcEQsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0MseUJBQWM7QUFFbkIsTUFBTUYseUJBQXlCRyxhQUFRO0lBQ3BELFlBQVlDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCLENBQUU7UUFDNUUsS0FBSyxDQUFDSixXQUFXQyxZQUFZQyxZQUFZQztRQUV6QyxJQUFJLENBQUNDLGlCQUFpQixHQUFHQTtJQUMzQjtJQUVBQyx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtJQUMvQjtJQUVBRSxtQkFBbUI7UUFDakIsTUFBTUgsYUFBYSxJQUFJLENBQUNJLGFBQWEsSUFDL0JDLGdCQUFnQkwsWUFBYSxHQUFHO1FBRXRDLE9BQU9LO0lBQ1Q7SUFFQUMsVUFBVUMsT0FBTyxFQUFFO1FBQ2pCLE1BQU1ELFlBQVksSUFBSSxDQUFDTCxpQkFBaUIsRUFBRSxHQUFHO1FBRTdDLE9BQU9LO0lBQ1Q7SUFFQUUsY0FBYztRQUNaLE1BQU1DLFVBQVVDLHFDQUEyQjtRQUUzQyxPQUFPRDtJQUNUO0lBRUFFLFlBQVk7UUFDVixNQUFNQyxlQUFlLElBQUksQ0FBQ0MsZUFBZSxJQUNuQ0MsdUJBQXVCRixjQUN2QkcsVUFBVUQscUJBQXFCSCxTQUFTO1FBRTlDLE9BQU9JO0lBQ1Q7SUFFQUMsV0FBV1QsT0FBTyxFQUFFO1FBQ2xCLE1BQU1TLGFBQWEsSUFBSSxDQUFDQyxzQkFBc0IsQ0FBQyxDQUFDQztZQUM5QyxJQUFJRixhQUFhO1lBRWpCLE1BQU1HLHVDQUF3Q0QsOEJBQThCRSxtQkFBa0I7WUFFOUYsSUFBSUQsc0NBQXNDO2dC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
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ErrorHTMLNode;
9
+ }
10
+ });
11
+ const _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ const _dom = require("../../utilities/dom");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class ErrorHTMLNode extends _html.default {
19
+ error(context) {
20
+ const markdownNode = this.getMarkdownNode(), error = markdownNode.error(context);
21
+ return error;
22
+ }
23
+ createDOMElement(context) {
24
+ let domElement;
25
+ const error = this.error(context), content = error, textNode = document.createTextNode(content);
26
+ domElement = super.createDOMElement(context);
27
+ const parentDOMElement = domElement; ///
28
+ domElement = textNode; ///
29
+ (0, _dom.insertAfterwards)(domElement, parentDOMElement);
30
+ domElement = parentDOMElement; ///
31
+ return domElement;
32
+ }
33
+ asHTML(indent, context) {
34
+ let html;
35
+ indent = this.adjustIndent(indent);
36
+ const childNodesHTML = this.childNodesAsHTML(indent, context), startingTag = this.startingTag(context), closingTag = this.closingTag(context);
37
+ html = `${indent}${startingTag}${childNodesHTML}${closingTag}
38
+ `;
39
+ return html;
40
+ }
41
+ asPlainText(context) {
42
+ const error = this.error(context), plainText = error; ///
43
+ return plainText;
44
+ }
45
+ childNodesAsHTML(indent, context) {
46
+ const error = this.error(context), childNodesHTML = error; ///
47
+ return childNodesHTML;
48
+ }
49
+ static tagName = "span";
50
+ static className = "error";
51
+ static fromNothing() {
52
+ return _html.default.fromNothing(ErrorHTMLNode);
53
+ }
54
+ static fromOuterNode(outerNode) {
55
+ return _html.default.fromOuterNode(ErrorHTMLNode, outerNode);
56
+ }
57
+ }
58
+
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBIVE1MTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9odG1sXCI7XG5pbXBvcnQgeyBpbnNlcnRBZnRlcndhcmRzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXJyb3JIVE1MTm9kZSBleHRlbmRzIEhUTUxOb2RlIHtcbiAgZXJyb3IoY29udGV4dCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgZXJyb3IgPSBtYXJrZG93bk5vZGUuZXJyb3IoY29udGV4dCk7XG5cbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudDtcblxuICAgIGNvbnN0IGVycm9yID0gdGhpcy5lcnJvcihjb250ZXh0KSxcbiAgICAgICAgICBjb250ZW50ID0gZXJyb3IsICAvLy9cbiAgICAgICAgICB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpO1xuXG4gICAgZG9tRWxlbWVudCA9IHN1cGVyLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dClcblxuICAgIGNvbnN0IHBhcmVudERPTUVsZW1lbnQgPSBkb21FbGVtZW50OyAgLy8vXG5cbiAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7IC8vL1xuXG4gICAgaW5zZXJ0QWZ0ZXJ3YXJkcyhkb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50KTtcblxuICAgIGRvbUVsZW1lbnQgPSBwYXJlbnRET01FbGVtZW50OyAgLy8vXG5cbiAgICByZXR1cm4gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgaHRtbDtcblxuICAgIGluZGVudCA9IHRoaXMuYWRqdXN0SW5kZW50KGluZGVudCk7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpLFxuICAgICAgICAgIHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgaHRtbCA9IGAke2luZGVudH0ke3N0YXJ0aW5nVGFnfSR7Y2hpbGROb2Rlc0hUTUx9JHtjbG9zaW5nVGFnfVxuYDtcblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IGVycm9yID0gdGhpcy5lcnJvcihjb250ZXh0KSxcbiAgICAgICAgICBwbGFpblRleHQgPSBlcnJvcjsgIC8vL1xuXG4gICAgcmV0dXJuIHBsYWluVGV4dDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmVycm9yKGNvbnRleHQpLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gZXJyb3I7IC8vL1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcInNwYW5cIjtcblxuICBzdGF0aWMgY2xhc3NOYW1lID0gXCJlcnJvclwiO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIEhUTUxOb2RlLmZyb21Ob3RoaW5nKEVycm9ySFRNTE5vZGUpOyB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSB7IHJldHVybiBIVE1MTm9kZS5mcm9tT3V0ZXJOb2RlKEVycm9ySFRNTE5vZGUsIG91dGVyTm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJFcnJvckhUTUxOb2RlIiwiSFRNTE5vZGUiLCJlcnJvciIsImNvbnRleHQiLCJtYXJrZG93bk5vZGUiLCJnZXRNYXJrZG93bk5vZGUiLCJjcmVhdGVET01FbGVtZW50IiwiZG9tRWxlbWVudCIsImNvbnRlbnQiLCJ0ZXh0Tm9kZSIsImRvY3VtZW50IiwiY3JlYXRlVGV4dE5vZGUiLCJwYXJlbnRET01FbGVtZW50IiwiaW5zZXJ0QWZ0ZXJ3YXJkcyIsImFzSFRNTCIsImluZGVudCIsImh0bWwiLCJhZGp1c3RJbmRlbnQiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJhc1BsYWluVGV4dCIsInBsYWluVGV4dCIsInRhZ05hbWUiLCJjbGFzc05hbWUiLCJmcm9tTm90aGluZyIsImZyb21PdXRlck5vZGUiLCJvdXRlck5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBcUJBOzs7NkRBSEE7cUJBQ1k7Ozs7OztBQUVsQixNQUFNQSxzQkFBc0JDLGFBQVE7SUFDakRDLE1BQU1DLE9BQU8sRUFBRTtRQUNiLE1BQU1DLGVBQWUsSUFBSSxDQUFDQyxlQUFlLElBQ25DSCxRQUFRRSxhQUFhRixLQUFLLENBQUNDO1FBRWpDLE9BQU9EO0lBQ1Q7SUFFQUksaUJBQWlCSCxPQUFPLEVBQUU7UUFDeEIsSUFBSUk7UUFFSixNQUFNTCxRQUFRLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxVQUNuQkssVUFBVU4sT0FDVk8sV0FBV0MsU0FBU0MsY0FBYyxDQUFDSDtRQUV6Q0QsYUFBYSxLQUFLLENBQUNELGlCQUFpQkg7UUFFcEMsTUFBTVMsbUJBQW1CTCxZQUFhLEdBQUc7UUFFekNBLGFBQWFFLFVBQVUsR0FBRztRQUUxQkksSUFBQUEscUJBQWdCLEVBQUNOLFlBQVlLO1FBRTdCTCxhQUFhSyxrQkFBbUIsR0FBRztRQUVuQyxPQUFPTDtJQUNUO0lBRUFPLE9BQU9DLE1BQU0sRUFBRVosT0FBTyxFQUFFO1FBQ3RCLElBQUlhO1FBRUpELFNBQVMsSUFBSSxDQUFDRSxZQUFZLENBQUNGO1FBRTNCLE1BQU1HLGlCQUFpQixJQUFJLENBQUNDLGdCQUFnQixDQUFDSixRQUFRWixVQUMvQ2lCLGNBQWMsSUFBSSxDQUFDQSxXQUFXLENBQUNqQixVQUMvQmtCLGFBQWEsSUFBSSxDQUFDQSxVQUFVLENBQUNsQjtRQUVuQ2EsT0FBTyxHQUFHRCxTQUFTSyxjQUFjRixpQkFBaUJHLFdBQVc7QUFDakUsQ0FBQztRQUVHLE9BQU9MO0lBQ1Q7SUFFQU0sWUFBWW5CLE9BQU8sRUFBRTtRQUNuQixNQUFNRCxRQUFRLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxVQUNuQm9CLFlBQVlyQixPQUFRLEdBQUc7UUFFN0IsT0FBT3FCO0lBQ1Q7SUFFQUosaUJBQWlCSixNQUFNLEVBQUVaLE9BQU8sRUFBRTtRQUNoQyxNQUFNRCxRQUFRLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxVQUNuQmUsaUJBQWlCaEIsT0FBTyxHQUFHO1FBRWpDLE9BQU9nQjtJQUNUO0lBRUEsT0FBT00sVUFBVSxPQUFPO0lBRXhCLE9BQU9DLFlBQVksUUFBUTtJQUUzQixPQUFPQyxjQUFjO1FBQUUsT0FBT3pCLGFBQVEsQ0FBQ3lCLFdBQVcsQ0FBQzFCO0lBQWdCO0lBRW5FLE9BQU8yQixjQUFjQyxTQUFTLEVBQUU7UUFBRSxPQUFPM0IsYUFBUSxDQUFDMEIsYUFBYSxDQUFDM0IsZUFBZTRCO0lBQVk7QUFDN0YifQ==
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return FootnoteHTMLNode;
9
+ }
10
+ });
11
+ const _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ const _constants = require("../../constants");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class FootnoteHTMLNode extends _html.default {
19
+ getParagraphHTMLNode() {
20
+ const paragraphHTMLNode = this.fromSecondChildNode((secondChildNode)=>{
21
+ const paragraphHTMLNode = secondChildNode; ///
22
+ return paragraphHTMLNode;
23
+ });
24
+ return paragraphHTMLNode;
25
+ }
26
+ matchIdentifier(identifier, context) {
27
+ const identifierA = identifier; ///
28
+ identifier = this.identifier(context);
29
+ const identifierB = identifier, identifierMatches = identifierA === identifierB;
30
+ return identifierMatches;
31
+ }
32
+ identifier(context) {
33
+ const markdownNode = this.getMarkdownNode(), identifier = markdownNode.identifier(context);
34
+ return identifier;
35
+ }
36
+ mount(parentDOMElement, siblingDOMElement, context) {
37
+ return siblingDOMElement;
38
+ }
39
+ unmount(parentDOMElement) {
40
+ ///
41
+ }
42
+ asHTML(indent, context) {
43
+ const html = _constants.EMPTY_STRING;
44
+ return html;
45
+ }
46
+ asPlainText(context) {
47
+ const plainText = _constants.EMPTY_STRING;
48
+ return plainText;
49
+ }
50
+ static fromNothing() {
51
+ return _html.default.fromNothing(FootnoteHTMLNode);
52
+ }
53
+ static fromOuterNode(outerNode) {
54
+ return _html.default.fromOuterNode(FootnoteHTMLNode, outerNode);
55
+ }
56
+ }
57
+
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvZm9vdG5vdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBIVE1MTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9odG1sXCI7XG5pbXBvcnQge0VNUFRZX1NUUklOR30gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb290bm90ZUhUTUxOb2RlIGV4dGVuZHMgSFRNTE5vZGUge1xuICBnZXRQYXJhZ3JhcGhIVE1MTm9kZSgpIHtcbiAgICBjb25zdCBwYXJhZ3JhcGhIVE1MTm9kZSA9IHRoaXMuZnJvbVNlY29uZENoaWxkTm9kZSgoc2Vjb25kQ2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJhZ3JhcGhIVE1MTm9kZSA9IHNlY29uZENoaWxkTm9kZTsgIC8vL1xuXG4gICAgICByZXR1cm4gcGFyYWdyYXBoSFRNTE5vZGU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFyYWdyYXBoSFRNTE5vZGU7XG4gIH1cblxuICBtYXRjaElkZW50aWZpZXIoaWRlbnRpZmllciwgY29udGV4dCkge1xuICAgIGNvbnN0IGlkZW50aWZpZXJBID0gaWRlbnRpZmllcjsgLy8vXG5cbiAgICBpZGVudGlmaWVyID0gdGhpcy5pZGVudGlmaWVyKGNvbnRleHQpO1xuXG4gICAgY29uc3QgaWRlbnRpZmllckIgPSBpZGVudGlmaWVyLCAvLy9cbiAgICAgICAgICBpZGVudGlmaWVyTWF0Y2hlcyA9IChpZGVudGlmaWVyQSA9PT0gaWRlbnRpZmllckIpO1xuXG4gICAgcmV0dXJuIGlkZW50aWZpZXJNYXRjaGVzO1xuICB9XG5cbiAgaWRlbnRpZmllcihjb250ZXh0KSB7XG4gICAgY29uc3QgbWFya2Rvd25Ob2RlID0gdGhpcy5nZXRNYXJrZG93bk5vZGUoKSxcbiAgICAgICAgICBpZGVudGlmaWVyID0gbWFya2Rvd25Ob2RlLmlkZW50aWZpZXIoY29udGV4dCk7XG5cbiAgICByZXR1cm4gaWRlbnRpZmllcjtcbiAgfVxuXG4gIG1vdW50KHBhcmVudERPTUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50LCBjb250ZXh0KSB7XG4gICAgcmV0dXJuIHNpYmxpbmdET01FbGVtZW50O1xuICB9XG5cbiAgdW5tb3VudChwYXJlbnRET01FbGVtZW50KSB7XG4gICAgLy8vXG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgaHRtbCA9IEVNUFRZX1NUUklORztcblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IHBsYWluVGV4dCA9IEVNUFRZX1NUUklORztcblxuICAgIHJldHVybiBwbGFpblRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBIVE1MTm9kZS5mcm9tTm90aGluZyhGb290bm90ZUhUTUxOb2RlKTsgfVxuXG4gIHN0YXRpYyBmcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSkgeyByZXR1cm4gSFRNTE5vZGUuZnJvbU91dGVyTm9kZShGb290bm90ZUhUTUxOb2RlLCBvdXRlck5vZGUpOyB9XG59XG4iXSwibmFtZXMiOlsiRm9vdG5vdGVIVE1MTm9kZSIsIkhUTUxOb2RlIiwiZ2V0UGFyYWdyYXBoSFRNTE5vZGUiLCJwYXJhZ3JhcGhIVE1MTm9kZSIsImZyb21TZWNvbmRDaGlsZE5vZGUiLCJzZWNvbmRDaGlsZE5vZGUiLCJtYXRjaElkZW50aWZpZXIiLCJpZGVudGlmaWVyIiwiY29udGV4dCIsImlkZW50aWZpZXJBIiwiaWRlbnRpZmllckIiLCJpZGVudGlmaWVyTWF0Y2hlcyIsIm1hcmtkb3duTm9kZSIsImdldE1hcmtkb3duTm9kZSIsIm1vdW50IiwicGFyZW50RE9NRWxlbWVudCIsInNpYmxpbmdET01FbGVtZW50IiwidW5tb3VudCIsImFzSFRNTCIsImluZGVudCIsImh0bWwiLCJFTVBUWV9TVFJJTkciLCJhc1BsYWluVGV4dCIsInBsYWluVGV4dCIsImZyb21Ob3RoaW5nIiwiZnJvbU91dGVyTm9kZSIsIm91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUFxQkE7Ozs2REFIQTsyQkFDTTs7Ozs7O0FBRVosTUFBTUEseUJBQXlCQyxhQUFRO0lBQ3BEQyx1QkFBdUI7UUFDckIsTUFBTUMsb0JBQW9CLElBQUksQ0FBQ0MsbUJBQW1CLENBQUMsQ0FBQ0M7WUFDbEQsTUFBTUYsb0JBQW9CRSxpQkFBa0IsR0FBRztZQUUvQyxPQUFPRjtRQUNUO1FBRUEsT0FBT0E7SUFDVDtJQUVBRyxnQkFBZ0JDLFVBQVUsRUFBRUMsT0FBTyxFQUFFO1FBQ25DLE1BQU1DLGNBQWNGLFlBQVksR0FBRztRQUVuQ0EsYUFBYSxJQUFJLENBQUNBLFVBQVUsQ0FBQ0M7UUFFN0IsTUFBTUUsY0FBY0gsWUFDZEksb0JBQXFCRixnQkFBZ0JDO1FBRTNDLE9BQU9DO0lBQ1Q7SUFFQUosV0FBV0MsT0FBTyxFQUFFO1FBQ2xCLE1BQU1JLGVBQWUsSUFBSSxDQUFDQyxlQUFlLElBQ25DTixhQUFhSyxhQUFhTCxVQUFVLENBQUNDO1FBRTNDLE9BQU9EO0lBQ1Q7SUFFQU8sTUFBTUMsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFUixPQUFPLEVBQUU7UUFDbEQsT0FBT1E7SUFDVDtJQUVBQyxRQUFRRixnQkFBZ0IsRUFBRTtJQUN4QixHQUFHO0lBQ0w7SUFFQUcsT0FBT0MsTUFBTSxFQUFFWCxPQUFPLEVBQUU7UUFDdEIsTUFBTVksT0FBT0MsdUJBQVk7UUFFekIsT0FBT0Q7SUFDVDtJQUVBRSxZQUFZZCxPQUFPLEVBQUU7UUFDbkIsTUFBTWUsWUFBWUYsdUJBQVk7UUFFOUIsT0FBT0U7SUFDVDtJQUVBLE9BQU9DLGNBQWM7UUFBRSxPQUFPdkIsYUFBUSxDQUFDdUIsV0FBVyxDQUFDeEI7SUFBbUI7SUFFdEUsT0FBT3lCLGNBQWNDLFNBQVMsRUFBRTtRQUFFLE9BQU96QixhQUFRLENBQUN3QixhQUFhLENBQUN6QixrQkFBa0IwQjtJQUFZO0FBQ2hHIn0=
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return IndexHeadingHTMLNode;
9
+ }
10
+ });
11
+ const _html = /*#__PURE__*/ _interop_require_default(require("../../../node/html"));
12
+ const _markdown = require("../../../ruleNames/markdown");
13
+ const _dom = require("../../../utilities/dom");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class IndexHeadingHTMLNode extends _html.default {
20
+ constructor(outerNode, parentNode, childNodes, domElement, letter){
21
+ super(outerNode, parentNode, childNodes, domElement);
22
+ this.letter = letter;
23
+ }
24
+ getLetter() {
25
+ return this.letter;
26
+ }
27
+ getRuleName() {
28
+ const ruleName = _markdown.INDEX_HEADING_MARKDOWN_RULE_NAME;
29
+ return ruleName;
30
+ }
31
+ mount(parentDOMElement, siblingDOMElement, context) {
32
+ let domElement;
33
+ domElement = this.createDOMElement(context);
34
+ this.setDOMElement(domElement);
35
+ siblingDOMElement !== null ? (0, _dom.insertAfter)(domElement, parentDOMElement, siblingDOMElement) : (0, _dom.insertBeforehand)(domElement, parentDOMElement);
36
+ parentDOMElement = domElement; ///
37
+ const content = this.letter, textNode = document.createTextNode(content);
38
+ domElement = textNode; ///
39
+ (0, _dom.insertAfterwards)(domElement, parentDOMElement);
40
+ domElement = this.getDOMElement();
41
+ siblingDOMElement = domElement; ///
42
+ return siblingDOMElement;
43
+ }
44
+ unmount(parentDOMElement) {
45
+ let domElement;
46
+ {
47
+ domElement = this.getDOMElement();
48
+ const parentDOMElement = domElement, firstChild = domElement.firstChild;
49
+ domElement = firstChild; ///
50
+ (0, _dom.remove)(domElement, parentDOMElement);
51
+ }
52
+ domElement = this.getDOMElement();
53
+ (0, _dom.remove)(domElement, parentDOMElement);
54
+ this.resetDOMElement();
55
+ }
56
+ asHTML(indent, context) {
57
+ let html;
58
+ indent = this.adjustIndent(indent);
59
+ const childNodesHTML = this.childNodesAsHTML(indent, context);
60
+ const startingTag = this.startingTag(context), closingTag = this.closingTag(context);
61
+ html = `${indent}${startingTag}${childNodesHTML}${closingTag}
62
+ `;
63
+ return html;
64
+ }
65
+ childNodesAsHTML(indent, context) {
66
+ const childNodesHTML = this.letter;
67
+ return childNodesHTML;
68
+ }
69
+ asString() {
70
+ const ruleName = this.getRuleName(), string = ruleName; ///
71
+ return string;
72
+ }
73
+ static tagName = "h3";
74
+ static className = "index";
75
+ static fromLetter(letter) {
76
+ const indexHeadingHTMLNode = _html.default.fromNothing(IndexHeadingHTMLNode, letter);
77
+ return indexHeadingHTMLNode;
78
+ }
79
+ }
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEhUTUxOb2RlIGZyb20gXCIuLi8uLi8uLi9ub2RlL2h0bWxcIjtcblxuaW1wb3J0IHsgSU5ERVhfSEVBRElOR19NQVJLRE9XTl9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vLi4vcnVsZU5hbWVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyByZW1vdmUsIGluc2VydEFmdGVyLCBpbnNlcnRBZnRlcndhcmRzLCBpbnNlcnRCZWZvcmVoYW5kIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxpdGllcy9kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5kZXhIZWFkaW5nSFRNTE5vZGUgZXh0ZW5kcyBIVE1MTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2RlcywgZG9tRWxlbWVudCwgbGV0dGVyKSB7XG4gICAgc3VwZXIob3V0ZXJOb2RlLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBkb21FbGVtZW50KTtcblxuICAgIHRoaXMubGV0dGVyID0gbGV0dGVyO1xuICB9XG5cbiAgZ2V0TGV0dGVyKCkge1xuICAgIHJldHVybiB0aGlzLmxldHRlcjtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gSU5ERVhfSEVBRElOR19NQVJLRE9XTl9SVUxFX05BTUU7XG5cbiAgICByZXR1cm4gcnVsZU5hbWU7XG4gIH1cblxuICBtb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCkge1xuICAgIGxldCBkb21FbGVtZW50O1xuXG4gICAgZG9tRWxlbWVudCA9IHRoaXMuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgIHRoaXMuc2V0RE9NRWxlbWVudChkb21FbGVtZW50KTtcblxuICAgIChzaWJsaW5nRE9NRWxlbWVudCAhPT0gbnVsbCkgP1xuICAgICAgaW5zZXJ0QWZ0ZXIoZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQpIDpcbiAgICAgICAgaW5zZXJ0QmVmb3JlaGFuZChkb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50KTtcblxuICAgIHBhcmVudERPTUVsZW1lbnQgPSBkb21FbGVtZW50OyAvLy9cblxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmxldHRlciwgIC8vL1xuICAgICAgICAgIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCk7XG5cbiAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7ICAvLy9cblxuICAgIGluc2VydEFmdGVyd2FyZHMoZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCk7XG5cbiAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XG5cbiAgICBzaWJsaW5nRE9NRWxlbWVudCA9IGRvbUVsZW1lbnQ7IC8vL1xuXG4gICAgcmV0dXJuIHNpYmxpbmdET01FbGVtZW50O1xuICB9XG5cbiAgdW5tb3VudChwYXJlbnRET01FbGVtZW50KSB7XG4gICAgbGV0IGRvbUVsZW1lbnQ7XG5cbiAgICB7XG4gICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XG5cbiAgICAgIGNvbnN0IHBhcmVudERPTUVsZW1lbnQgPSBkb21FbGVtZW50LCAgLy8vXG4gICAgICAgICAgICBmaXJzdENoaWxkID0gZG9tRWxlbWVudC5maXJzdENoaWxkO1xuXG4gICAgICBkb21FbGVtZW50ID0gZmlyc3RDaGlsZDsgIC8vL1xuXG4gICAgICByZW1vdmUoZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpO1xuXG4gICAgcmVtb3ZlKGRvbUVsZW1lbnQsIHBhcmVudERPTUVsZW1lbnQpO1xuXG4gICAgdGhpcy5yZXNldERPTUVsZW1lbnQoKTtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgaHRtbDtcblxuICAgIGluZGVudCA9IHRoaXMuYWRqdXN0SW5kZW50KGluZGVudCk7XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgY29uc3Qgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSB0aGlzLmNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICBodG1sID0gYCR7aW5kZW50fSR7c3RhcnRpbmdUYWd9JHtjaGlsZE5vZGVzSFRNTH0ke2Nsb3NpbmdUYWd9XG5gO1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gdGhpcy5sZXR0ZXI7XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IHRoaXMuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBzdHJpbmcgPSBydWxlTmFtZTsgIC8vL1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJoM1wiO1xuXG4gIHN0YXRpYyBjbGFzc05hbWUgPSBcImluZGV4XCI7XG5cbiAgc3RhdGljIGZyb21MZXR0ZXIobGV0dGVyKSB7XG4gICAgY29uc3QgaW5kZXhIZWFkaW5nSFRNTE5vZGUgPSBIVE1MTm9kZS5mcm9tTm90aGluZyhJbmRleEhlYWRpbmdIVE1MTm9kZSwgbGV0dGVyKTtcblxuICAgIHJldHVybiBpbmRleEhlYWRpbmdIVE1MTm9kZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkluZGV4SGVhZGluZ0hUTUxOb2RlIiwiSFRNTE5vZGUiLCJvdXRlck5vZGUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlcyIsImRvbUVsZW1lbnQiLCJsZXR0ZXIiLCJnZXRMZXR0ZXIiLCJnZXRSdWxlTmFtZSIsInJ1bGVOYW1lIiwiSU5ERVhfSEVBRElOR19NQVJLRE9XTl9SVUxFX05BTUUiLCJtb3VudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImNvbnRleHQiLCJjcmVhdGVET01FbGVtZW50Iiwic2V0RE9NRWxlbWVudCIsImluc2VydEFmdGVyIiwiaW5zZXJ0QmVmb3JlaGFuZCIsImNvbnRlbnQiLCJ0ZXh0Tm9kZSIsImRvY3VtZW50IiwiY3JlYXRlVGV4dE5vZGUiLCJpbnNlcnRBZnRlcndhcmRzIiwiZ2V0RE9NRWxlbWVudCIsInVubW91bnQiLCJmaXJzdENoaWxkIiwicmVtb3ZlIiwicmVzZXRET01FbGVtZW50IiwiYXNIVE1MIiwiaW5kZW50IiwiaHRtbCIsImFkanVzdEluZGVudCIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsInN0YXJ0aW5nVGFnIiwiY2xvc2luZ1RhZyIsImFzU3RyaW5nIiwic3RyaW5nIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImZyb21MZXR0ZXIiLCJpbmRleEhlYWRpbmdIVE1MTm9kZSIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXFCQTs7OzZEQUxBOzBCQUU0QjtxQkFDdUI7Ozs7OztBQUV6RCxNQUFNQSw2QkFBNkJDLGFBQVE7SUFDeEQsWUFBWUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLENBQUU7UUFDakUsS0FBSyxDQUFDSixXQUFXQyxZQUFZQyxZQUFZQztRQUV6QyxJQUFJLENBQUNDLE1BQU0sR0FBR0E7SUFDaEI7SUFFQUMsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDRCxNQUFNO0lBQ3BCO0lBRUFFLGNBQWM7UUFDWixNQUFNQyxXQUFXQywwQ0FBZ0M7UUFFakQsT0FBT0Q7SUFDVDtJQUVBRSxNQUFNQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLEVBQUVDLE9BQU8sRUFBRTtRQUNsRCxJQUFJVDtRQUVKQSxhQUFhLElBQUksQ0FBQ1UsZ0JBQWdCLENBQUNEO1FBRW5DLElBQUksQ0FBQ0UsYUFBYSxDQUFDWDtRQUVsQlEsc0JBQXNCLE9BQ3JCSSxJQUFBQSxnQkFBVyxFQUFDWixZQUFZTyxrQkFBa0JDLHFCQUN4Q0ssSUFBQUEscUJBQWdCLEVBQUNiLFlBQVlPO1FBRWpDQSxtQkFBbUJQLFlBQVksR0FBRztRQUVsQyxNQUFNYyxVQUFVLElBQUksQ0FBQ2IsTUFBTSxFQUNyQmMsV0FBV0MsU0FBU0MsY0FBYyxDQUFDSDtRQUV6Q2QsYUFBYWUsVUFBVyxHQUFHO1FBRTNCRyxJQUFBQSxxQkFBZ0IsRUFBQ2xCLFlBQVlPO1FBRTdCUCxhQUFhLElBQUksQ0FBQ21CLGFBQWE7UUFFL0JYLG9CQUFvQlIsWUFBWSxHQUFHO1FBRW5DLE9BQU9RO0lBQ1Q7SUFFQVksUUFBUWIsZ0JBQWdCLEVBQUU7UUFDeEIsSUFBSVA7UUFFSjtZQUNFQSxhQUFhLElBQUksQ0FBQ21CLGFBQWE7WUFFL0IsTUFBTVosbUJBQW1CUCxZQUNuQnFCLGFBQWFyQixXQUFXcUIsVUFBVTtZQUV4Q3JCLGFBQWFxQixZQUFhLEdBQUc7WUFFN0JDLElBQUFBLFdBQU0sRUFBQ3RCLFlBQVlPO1FBQ3JCO1FBRUFQLGFBQWEsSUFBSSxDQUFDbUIsYUFBYTtRQUUvQkcsSUFBQUEsV0FBTSxFQUFDdEIsWUFBWU87UUFFbkIsSUFBSSxDQUFDZ0IsZUFBZTtJQUN0QjtJQUVBQyxPQUFPQyxNQUFNLEVBQUVoQixPQUFPLEVBQUU7UUFDdEIsSUFBSWlCO1FBRUpELFNBQVMsSUFBSSxDQUFDRSxZQUFZLENBQUNGO1FBRTNCLE1BQU1HLGlCQUFpQixJQUFJLENBQUNDLGdCQUFnQixDQUFDSixRQUFRaEI7UUFFckQsTUFBTXFCLGNBQWMsSUFBSSxDQUFDQSxXQUFXLENBQUNyQixVQUMvQnNCLGFBQWEsSUFBSSxDQUFDQSxVQUFVLENBQUN0QjtRQUVuQ2lCLE9BQU8sR0FBR0QsU0FBU0ssY0FBY0YsaUJBQWlCRyxXQUFXO0FBQ2pFLENBQUM7UUFFRyxPQUFPTDtJQUNUO0lBRUFHLGlCQUFpQkosTUFBTSxFQUFFaEIsT0FBTyxFQUFFO1FBQ2hDLE1BQU1tQixpQkFBaUIsSUFBSSxDQUFDM0IsTUFBTTtRQUVsQyxPQUFPMkI7SUFDVDtJQUVBSSxXQUFXO1FBQ1QsTUFBTTVCLFdBQVcsSUFBSSxDQUFDRCxXQUFXLElBQzNCOEIsU0FBUzdCLFVBQVcsR0FBRztRQUU3QixPQUFPNkI7SUFDVDtJQUVBLE9BQU9DLFVBQVUsS0FBSztJQUV0QixPQUFPQyxZQUFZLFFBQVE7SUFFM0IsT0FBT0MsV0FBV25DLE1BQU0sRUFBRTtRQUN4QixNQUFNb0MsdUJBQXVCekMsYUFBUSxDQUFDMEMsV0FBVyxDQUFDM0Msc0JBQXNCTTtRQUV4RSxPQUFPb0M7SUFDVDtBQUNGIn0=
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrimaryHeadingHTMLNode;
9
+ }
10
+ });
11
+ const _heading = /*#__PURE__*/ _interop_require_default(require("../../../node/html/heading"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ class PrimaryHeadingHTMLNode extends _heading.default {
18
+ static depth = 1;
19
+ static lines = 3;
20
+ static tagName = "h1";
21
+ static className = null;
22
+ static fromNothing() {
23
+ return _heading.default.fromNothing(PrimaryHeadingHTMLNode);
24
+ }
25
+ static fromOuterNode(outerNode) {
26
+ return _heading.default.fromOuterNode(PrimaryHeadingHTMLNode, outerNode);
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy9wcmltYXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSGVhZGluZ0hUTUxOb2RlIGZyb20gXCIuLi8uLi8uLi9ub2RlL2h0bWwvaGVhZGluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcmltYXJ5SGVhZGluZ0hUTUxOb2RlIGV4dGVuZHMgSGVhZGluZ0hUTUxOb2RlIHtcbiAgc3RhdGljIGRlcHRoID0gMTtcblxuICBzdGF0aWMgbGluZXMgPSAzO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJoMVwiO1xuXG4gIHN0YXRpYyBjbGFzc05hbWUgPSBudWxsO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIEhlYWRpbmdIVE1MTm9kZS5mcm9tTm90aGluZyhQcmltYXJ5SGVhZGluZ0hUTUxOb2RlKTsgfVxuXG4gIHN0YXRpYyBmcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSkgeyByZXR1cm4gSGVhZGluZ0hUTUxOb2RlLmZyb21PdXRlck5vZGUoUHJpbWFyeUhlYWRpbmdIVE1MTm9kZSwgb3V0ZXJOb2RlKTsgfVxufVxuIl0sIm5hbWVzIjpbIlByaW1hcnlIZWFkaW5nSFRNTE5vZGUiLCJIZWFkaW5nSFRNTE5vZGUiLCJkZXB0aCIsImxpbmVzIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImZyb21Ob3RoaW5nIiwiZnJvbU91dGVyTm9kZSIsIm91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OztnRUFGTzs7Ozs7O0FBRWIsTUFBTUEsK0JBQStCQyxnQkFBZTtJQUNqRSxPQUFPQyxRQUFRLEVBQUU7SUFFakIsT0FBT0MsUUFBUSxFQUFFO0lBRWpCLE9BQU9DLFVBQVUsS0FBSztJQUV0QixPQUFPQyxZQUFZLEtBQUs7SUFFeEIsT0FBT0MsY0FBYztRQUFFLE9BQU9MLGdCQUFlLENBQUNLLFdBQVcsQ0FBQ047SUFBeUI7SUFFbkYsT0FBT08sY0FBY0MsU0FBUyxFQUFFO1FBQUUsT0FBT1AsZ0JBQWUsQ0FBQ00sYUFBYSxDQUFDUCx3QkFBd0JRO0lBQVk7QUFDN0cifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return QuaternaryHeadingHTMLNode;
9
+ }
10
+ });
11
+ const _heading = /*#__PURE__*/ _interop_require_default(require("../../../node/html/heading"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ class QuaternaryHeadingHTMLNode extends _heading.default {
18
+ static depth = 4;
19
+ static lines = 2;
20
+ static tagName = "h4";
21
+ static className = null;
22
+ static fromNothing() {
23
+ return _heading.default.fromNothing(QuaternaryHeadingHTMLNode);
24
+ }
25
+ static fromOuterNode(outerNode) {
26
+ return _heading.default.fromOuterNode(QuaternaryHeadingHTMLNode, outerNode);
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy9xdWF0ZXJuYXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSGVhZGluZ0hUTUxOb2RlIGZyb20gXCIuLi8uLi8uLi9ub2RlL2h0bWwvaGVhZGluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBRdWF0ZXJuYXJ5SGVhZGluZ0hUTUxOb2RlIGV4dGVuZHMgSGVhZGluZ0hUTUxOb2RlIHtcbiAgc3RhdGljIGRlcHRoID0gNDtcblxuICBzdGF0aWMgbGluZXMgPSAyO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJoNFwiO1xuXG4gIHN0YXRpYyBjbGFzc05hbWUgPSBudWxsO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIEhlYWRpbmdIVE1MTm9kZS5mcm9tTm90aGluZyhRdWF0ZXJuYXJ5SGVhZGluZ0hUTUxOb2RlKTsgfVxuXG4gIHN0YXRpYyBmcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSkgeyByZXR1cm4gSGVhZGluZ0hUTUxOb2RlLmZyb21PdXRlck5vZGUoUXVhdGVybmFyeUhlYWRpbmdIVE1MTm9kZSwgb3V0ZXJOb2RlKTsgfVxufVxuIl0sIm5hbWVzIjpbIlF1YXRlcm5hcnlIZWFkaW5nSFRNTE5vZGUiLCJIZWFkaW5nSFRNTE5vZGUiLCJkZXB0aCIsImxpbmVzIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImZyb21Ob3RoaW5nIiwiZnJvbU91dGVyTm9kZSIsIm91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OztnRUFGTzs7Ozs7O0FBRWIsTUFBTUEsa0NBQWtDQyxnQkFBZTtJQUNwRSxPQUFPQyxRQUFRLEVBQUU7SUFFakIsT0FBT0MsUUFBUSxFQUFFO0lBRWpCLE9BQU9DLFVBQVUsS0FBSztJQUV0QixPQUFPQyxZQUFZLEtBQUs7SUFFeEIsT0FBT0MsY0FBYztRQUFFLE9BQU9MLGdCQUFlLENBQUNLLFdBQVcsQ0FBQ047SUFBNEI7SUFFdEYsT0FBT08sY0FBY0MsU0FBUyxFQUFFO1FBQUUsT0FBT1AsZ0JBQWUsQ0FBQ00sYUFBYSxDQUFDUCwyQkFBMkJRO0lBQVk7QUFDaEgifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SecondaryHeadingHTMLNode;
9
+ }
10
+ });
11
+ const _heading = /*#__PURE__*/ _interop_require_default(require("../../../node/html/heading"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ class SecondaryHeadingHTMLNode extends _heading.default {
18
+ static depth = 2;
19
+ static lines = 2.5;
20
+ static tagName = "h2";
21
+ static className = null;
22
+ static fromNothing() {
23
+ return _heading.default.fromNothing(SecondaryHeadingHTMLNode);
24
+ }
25
+ static fromOuterNode(outerNode) {
26
+ return _heading.default.fromOuterNode(SecondaryHeadingHTMLNode, outerNode);
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy9zZWNvbmRhcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBIZWFkaW5nSFRNTE5vZGUgZnJvbSBcIi4uLy4uLy4uL25vZGUvaHRtbC9oZWFkaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlY29uZGFyeUhlYWRpbmdIVE1MTm9kZSBleHRlbmRzIEhlYWRpbmdIVE1MTm9kZSB7XG4gIHN0YXRpYyBkZXB0aCA9IDI7XG5cbiAgc3RhdGljIGxpbmVzID0gMi41O1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJoMlwiO1xuXG4gIHN0YXRpYyBjbGFzc05hbWUgPSBudWxsO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIEhlYWRpbmdIVE1MTm9kZS5mcm9tTm90aGluZyhTZWNvbmRhcnlIZWFkaW5nSFRNTE5vZGUpOyB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSB7IHJldHVybiBIZWFkaW5nSFRNTE5vZGUuZnJvbU91dGVyTm9kZShTZWNvbmRhcnlIZWFkaW5nSFRNTE5vZGUsIG91dGVyTm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTZWNvbmRhcnlIZWFkaW5nSFRNTE5vZGUiLCJIZWFkaW5nSFRNTE5vZGUiLCJkZXB0aCIsImxpbmVzIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImZyb21Ob3RoaW5nIiwiZnJvbU91dGVyTm9kZSIsIm91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OztnRUFGTzs7Ozs7O0FBRWIsTUFBTUEsaUNBQWlDQyxnQkFBZTtJQUNuRSxPQUFPQyxRQUFRLEVBQUU7SUFFakIsT0FBT0MsUUFBUSxJQUFJO0lBRW5CLE9BQU9DLFVBQVUsS0FBSztJQUV0QixPQUFPQyxZQUFZLEtBQUs7SUFFeEIsT0FBT0MsY0FBYztRQUFFLE9BQU9MLGdCQUFlLENBQUNLLFdBQVcsQ0FBQ047SUFBMkI7SUFFckYsT0FBT08sY0FBY0MsU0FBUyxFQUFFO1FBQUUsT0FBT1AsZ0JBQWUsQ0FBQ00sYUFBYSxDQUFDUCwwQkFBMEJRO0lBQVk7QUFDL0cifQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TertiaryHeadingHTMLNode;
9
+ }
10
+ });
11
+ const _heading = /*#__PURE__*/ _interop_require_default(require("../../../node/html/heading"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ class TertiaryHeadingHTMLNode extends _heading.default {
18
+ static depth = 3;
19
+ static lines = 2.25;
20
+ static tagName = "h3";
21
+ static className = null;
22
+ static fromNothing() {
23
+ return _heading.default.fromNothing(TertiaryHeadingHTMLNode);
24
+ }
25
+ static fromOuterNode(outerNode) {
26
+ return _heading.default.fromOuterNode(TertiaryHeadingHTMLNode, outerNode);
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy90ZXJ0aWFyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEhlYWRpbmdIVE1MTm9kZSBmcm9tIFwiLi4vLi4vLi4vbm9kZS9odG1sL2hlYWRpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVydGlhcnlIZWFkaW5nSFRNTE5vZGUgZXh0ZW5kcyBIZWFkaW5nSFRNTE5vZGUge1xuICBzdGF0aWMgZGVwdGggPSAzO1xuXG4gIHN0YXRpYyBsaW5lcyA9IDIuMjU7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImgzXCI7XG5cbiAgc3RhdGljIGNsYXNzTmFtZSA9IG51bGw7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gSGVhZGluZ0hUTUxOb2RlLmZyb21Ob3RoaW5nKFRlcnRpYXJ5SGVhZGluZ0hUTUxOb2RlKTsgfVxuXG4gIHN0YXRpYyBmcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSkgeyByZXR1cm4gSGVhZGluZ0hUTUxOb2RlLmZyb21PdXRlck5vZGUoVGVydGlhcnlIZWFkaW5nSFRNTE5vZGUsIG91dGVyTm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJUZXJ0aWFyeUhlYWRpbmdIVE1MTm9kZSIsIkhlYWRpbmdIVE1MTm9kZSIsImRlcHRoIiwibGluZXMiLCJ0YWdOYW1lIiwiY2xhc3NOYW1lIiwiZnJvbU5vdGhpbmciLCJmcm9tT3V0ZXJOb2RlIiwib3V0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O2dFQUZPOzs7Ozs7QUFFYixNQUFNQSxnQ0FBZ0NDLGdCQUFlO0lBQ2xFLE9BQU9DLFFBQVEsRUFBRTtJQUVqQixPQUFPQyxRQUFRLEtBQUs7SUFFcEIsT0FBT0MsVUFBVSxLQUFLO0lBRXRCLE9BQU9DLFlBQVksS0FBSztJQUV4QixPQUFPQyxjQUFjO1FBQUUsT0FBT0wsZ0JBQWUsQ0FBQ0ssV0FBVyxDQUFDTjtJQUEwQjtJQUVwRixPQUFPTyxjQUFjQyxTQUFTLEVBQUU7UUFBRSxPQUFPUCxnQkFBZSxDQUFDTSxhQUFhLENBQUNQLHlCQUF5QlE7SUFBWTtBQUM5RyJ9
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return HeadingHTMLNode;
9
+ }
10
+ });
11
+ const _html = /*#__PURE__*/ _interop_require_default(require("../../node/html"));
12
+ const _contents = /*#__PURE__*/ _interop_require_default(require("../../node/html/anchor/contents"));
13
+ const _string = require("../../utilities/string");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class HeadingHTMLNode extends _html.default {
20
+ getLineHTMLNode() {
21
+ const lineHTMLNode = this.findChildNode((childNode)=>{
22
+ const childNodeAnchorHTMLNode = childNode instanceof _contents.default, childNodeLineHTMLNode = !childNodeAnchorHTMLNode;
23
+ if (childNodeLineHTMLNode) {
24
+ return true;
25
+ }
26
+ });
27
+ return lineHTMLNode;
28
+ }
29
+ identifier(context) {
30
+ const plainText = this.childNodesAsPlainText(context), identifier = identifierFromPlainText(plainText);
31
+ return identifier;
32
+ }
33
+ anchor(context) {
34
+ const identifier = this.identifier(context), contentsAnchorHTMLNode = _contents.default.fromIdentifier(identifier), childNode = contentsAnchorHTMLNode; ///
35
+ this.prependChildNode(childNode);
36
+ }
37
+ static tagName = "h1";
38
+ static fromNothing(Class) {
39
+ return _html.default.fromNothing(Class);
40
+ }
41
+ static fromOuterNode(Class, outerNode) {
42
+ return _html.default.fromOuterNode(Class, outerNode);
43
+ }
44
+ }
45
+ function identifierFromPlainText(plainText) {
46
+ let string;
47
+ string = plainText; ///
48
+ string = string.toLowerCase();
49
+ string = (0, _string.removeLeadingWhitespace)(string);
50
+ string = (0, _string.replaceSpacesWithHyphens)(string);
51
+ string = (0, _string.removeNonAlphabeticCharacters)(string);
52
+ const identifier = string; ///
53
+ return identifier;
54
+ }
55
+
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2h0bWwvaGVhZGluZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEhUTUxOb2RlIGZyb20gXCIuLi8uLi9ub2RlL2h0bWxcIjtcbmltcG9ydCBDb250ZW50c0FuY2hvckhUTUxOb2RlIGZyb20gXCIuLi8uLi9ub2RlL2h0bWwvYW5jaG9yL2NvbnRlbnRzXCI7XG5cbmltcG9ydCB7IHJlbW92ZUxlYWRpbmdXaGl0ZXNwYWNlLCByZXBsYWNlU3BhY2VzV2l0aEh5cGhlbnMsIHJlbW92ZU5vbkFscGhhYmV0aWNDaGFyYWN0ZXJzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGVhZGluZ0hUTUxOb2RlIGV4dGVuZHMgSFRNTE5vZGUge1xuICBnZXRMaW5lSFRNTE5vZGUoKSB7XG4gICAgY29uc3QgbGluZUhUTUxOb2RlID0gdGhpcy5maW5kQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUFuY2hvckhUTUxOb2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIENvbnRlbnRzQW5jaG9ySFRNTE5vZGUpLFxuICAgICAgICAgICAgY2hpbGROb2RlTGluZUhUTUxOb2RlID0gIWNoaWxkTm9kZUFuY2hvckhUTUxOb2RlO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTGluZUhUTUxOb2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpbmVIVE1MTm9kZTtcbiAgfVxuXG4gIGlkZW50aWZpZXIoY29udGV4dCkge1xuICAgIGNvbnN0IHBsYWluVGV4dCA9IHRoaXMuY2hpbGROb2Rlc0FzUGxhaW5UZXh0KGNvbnRleHQpLFxuICAgICAgICAgIGlkZW50aWZpZXIgPSBpZGVudGlmaWVyRnJvbVBsYWluVGV4dChwbGFpblRleHQpO1xuXG4gICAgcmV0dXJuIGlkZW50aWZpZXI7XG4gIH1cblxuICBhbmNob3IoY29udGV4dCkge1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSB0aGlzLmlkZW50aWZpZXIoY29udGV4dCksXG4gICAgICAgICAgY29udGVudHNBbmNob3JIVE1MTm9kZSA9IENvbnRlbnRzQW5jaG9ySFRNTE5vZGUuZnJvbUlkZW50aWZpZXIoaWRlbnRpZmllciksXG4gICAgICAgICAgY2hpbGROb2RlID0gY29udGVudHNBbmNob3JIVE1MTm9kZTsgLy8vXG5cbiAgICB0aGlzLnByZXBlbmRDaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJoMVwiO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhDbGFzcykgeyByZXR1cm4gSFRNTE5vZGUuZnJvbU5vdGhpbmcoQ2xhc3MpOyB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUoQ2xhc3MsIG91dGVyTm9kZSkgeyByZXR1cm4gSFRNTE5vZGUuZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlKTsgfVxufVxuXG5mdW5jdGlvbiBpZGVudGlmaWVyRnJvbVBsYWluVGV4dChwbGFpblRleHQpIHtcbiAgbGV0IHN0cmluZztcblxuICBzdHJpbmcgPSBwbGFpblRleHQ7IC8vL1xuXG4gIHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuXG4gIHN0cmluZyA9IHJlbW92ZUxlYWRpbmdXaGl0ZXNwYWNlKHN0cmluZyk7XG5cbiAgc3RyaW5nID0gcmVwbGFjZVNwYWNlc1dpdGhIeXBoZW5zKHN0cmluZyk7XG5cbiAgc3RyaW5nID0gcmVtb3ZlTm9uQWxwaGFiZXRpY0NoYXJhY3RlcnMoc3RyaW5nKTtcblxuICBjb25zdCBpZGVudGlmaWVyID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIGlkZW50aWZpZXI7XG59XG4iXSwibmFtZXMiOlsiSGVhZGluZ0hUTUxOb2RlIiwiSFRNTE5vZGUiLCJnZXRMaW5lSFRNTE5vZGUiLCJsaW5lSFRNTE5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlQW5jaG9ySFRNTE5vZGUiLCJDb250ZW50c0FuY2hvckhUTUxOb2RlIiwiY2hpbGROb2RlTGluZUhUTUxOb2RlIiwiaWRlbnRpZmllciIsImNvbnRleHQiLCJwbGFpblRleHQiLCJjaGlsZE5vZGVzQXNQbGFpblRleHQiLCJpZGVudGlmaWVyRnJvbVBsYWluVGV4dCIsImFuY2hvciIsImNvbnRlbnRzQW5jaG9ySFRNTE5vZGUiLCJmcm9tSWRlbnRpZmllciIsInByZXBlbmRDaGlsZE5vZGUiLCJ0YWdOYW1lIiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsImZyb21PdXRlck5vZGUiLCJvdXRlck5vZGUiLCJzdHJpbmciLCJ0b0xvd2VyQ2FzZSIsInJlbW92ZUxlYWRpbmdXaGl0ZXNwYWNlIiwicmVwbGFjZVNwYWNlc1dpdGhIeXBoZW5zIiwicmVtb3ZlTm9uQWxwaGFiZXRpY0NoYXJhY3RlcnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBcUJBOzs7NkRBTEE7aUVBQ2M7d0JBRThEOzs7Ozs7QUFFbEYsTUFBTUEsd0JBQXdCQyxhQUFRO0lBQ25EQyxrQkFBa0I7UUFDaEIsTUFBTUMsZUFBZSxJQUFJLENBQUNDLGFBQWEsQ0FBQyxDQUFDQztZQUN2QyxNQUFNQywwQkFBMkJELHFCQUFxQkUsaUJBQXNCLEVBQ3RFQyx3QkFBd0IsQ0FBQ0Y7WUFFL0IsSUFBSUUsdUJBQXVCO2dCQUN6QixPQUFPO1lBQ1Q7UUFDRjtRQUVBLE9BQU9MO0lBQ1Q7SUFFQU0sV0FBV0MsT0FBTyxFQUFFO1FBQ2xCLE1BQU1DLFlBQVksSUFBSSxDQUFDQyxxQkFBcUIsQ0FBQ0YsVUFDdkNELGFBQWFJLHdCQUF3QkY7UUFFM0MsT0FBT0Y7SUFDVDtJQUVBSyxPQUFPSixPQUFPLEVBQUU7UUFDZCxNQUFNRCxhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDQyxVQUM3QksseUJBQXlCUixpQkFBc0IsQ0FBQ1MsY0FBYyxDQUFDUCxhQUMvREosWUFBWVUsd0JBQXdCLEdBQUc7UUFFN0MsSUFBSSxDQUFDRSxnQkFBZ0IsQ0FBQ1o7SUFDeEI7SUFFQSxPQUFPYSxVQUFVLEtBQUs7SUFFdEIsT0FBT0MsWUFBWUMsS0FBSyxFQUFFO1FBQUUsT0FBT25CLGFBQVEsQ0FBQ2tCLFdBQVcsQ0FBQ0M7SUFBUTtJQUVoRSxPQUFPQyxjQUFjRCxLQUFLLEVBQUVFLFNBQVMsRUFBRTtRQUFFLE9BQU9yQixhQUFRLENBQUNvQixhQUFhLENBQUNELE9BQU9FO0lBQVk7QUFDNUY7QUFFQSxTQUFTVCx3QkFBd0JGLFNBQVM7SUFDeEMsSUFBSVk7SUFFSkEsU0FBU1osV0FBVyxHQUFHO0lBRXZCWSxTQUFTQSxPQUFPQyxXQUFXO0lBRTNCRCxTQUFTRSxJQUFBQSwrQkFBdUIsRUFBQ0Y7SUFFakNBLFNBQVNHLElBQUFBLGdDQUF3QixFQUFDSDtJQUVsQ0EsU0FBU0ksSUFBQUEscUNBQTZCLEVBQUNKO0lBRXZDLE1BQU1kLGFBQWFjLFFBQVMsR0FBRztJQUUvQixPQUFPZDtBQUNUIn0=