webdav.client 6.0.8766 → 6.0.8911

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 (213) hide show
  1. package/ITHitWebDAVClient.js +2 -2
  2. package/Plugins/ITHitEditDocumentOpener.deb +0 -0
  3. package/Plugins/ITHitEditDocumentOpener.msix +0 -0
  4. package/Plugins/ITHitEditDocumentOpener.rpm +0 -0
  5. package/index.d.ts +8 -1
  6. package/index.js +1 -1
  7. package/package.json +1 -1
  8. package/Help/ClassReference/Create.html +0 -1809
  9. package/Help/ClassReference/ITHit.Environment.html +0 -1739
  10. package/Help/ClassReference/ITHit.LogLevel.html +0 -1985
  11. package/Help/ClassReference/ITHit.Logger.html +0 -2170
  12. package/Help/ClassReference/ITHit.WebDAV.Client.AsyncResult.html +0 -1877
  13. package/Help/ClassReference/ITHit.WebDAV.Client.BrowserExtension.html +0 -2282
  14. package/Help/ClassReference/ITHit.WebDAV.Client.CancellableResult.html +0 -2049
  15. package/Help/ClassReference/ITHit.WebDAV.Client.DavConstants.html +0 -3181
  16. package/Help/ClassReference/ITHit.WebDAV.Client.Depth.html +0 -1815
  17. package/Help/ClassReference/ITHit.WebDAV.Client.DocManager.html +0 -3739
  18. package/Help/ClassReference/ITHit.WebDAV.Client.Encoder.html +0 -1785
  19. package/Help/ClassReference/ITHit.WebDAV.Client.Error.html +0 -1785
  20. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.BadRequestException.html +0 -1883
  21. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.ConflictException.html +0 -1883
  22. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.DependencyFailedException.html +0 -1883
  23. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.ForbiddenException.html +0 -1883
  24. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.Error.html +0 -1753
  25. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.Multistatus.html +0 -1703
  26. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.MultistatusResponse.html +0 -1703
  27. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.PropertyMultistatus.html +0 -1755
  28. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.PropertyMultistatusResponse.html +0 -1703
  29. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.InsufficientStorageException.html +0 -1883
  30. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.IntegrationException.html +0 -1689
  31. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.LockedException.html +0 -1883
  32. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.MethodNotAllowedException.html +0 -1883
  33. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.NotFoundException.html +0 -1883
  34. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.NotImplementedException.html +0 -1883
  35. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Parsers.InsufficientStorage.html +0 -1805
  36. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PreconditionFailedException.html +0 -1883
  37. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyConflictException.html +0 -1929
  38. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyException.html +0 -1929
  39. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyForbiddenException.html +0 -1929
  40. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyNotFoundException.html +0 -1929
  41. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.QuotaNotExceededException.html +0 -1883
  42. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.SufficientDiskSpaceException.html +0 -1883
  43. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.UnauthorizedException.html +0 -1883
  44. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.WebDavException.html +0 -1695
  45. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.WebDavHttpException.html +0 -1883
  46. package/Help/ClassReference/ITHit.WebDAV.Client.Features.html +0 -2215
  47. package/Help/ClassReference/ITHit.WebDAV.Client.File.html +0 -9490
  48. package/Help/ClassReference/ITHit.WebDAV.Client.Folder.html +0 -11459
  49. package/Help/ClassReference/ITHit.WebDAV.Client.GEditInfo.html +0 -1785
  50. package/Help/ClassReference/ITHit.WebDAV.Client.HierarchyItem.html +0 -8324
  51. package/Help/ClassReference/ITHit.WebDAV.Client.HttpStatus.html +0 -3861
  52. package/Help/ClassReference/ITHit.WebDAV.Client.LockInfo.html +0 -1923
  53. package/Help/ClassReference/ITHit.WebDAV.Client.LockScope.html +0 -1755
  54. package/Help/ClassReference/ITHit.WebDAV.Client.LockUriTokenPair.html +0 -1785
  55. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.CancelUpload.html +0 -1691
  56. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.CopyMove.html +0 -1745
  57. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Delete.html +0 -1691
  58. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.ErrorResponse.html +0 -1751
  59. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Get.GoAsync.html +0 -1830
  60. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Get.html +0 -1698
  61. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Head.html +0 -1691
  62. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.HttpMethod.html +0 -1765
  63. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.Go.html +0 -1866
  64. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.GoAsync.html +0 -1884
  65. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.html +0 -1701
  66. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.Go.html +0 -1866
  67. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.GoAsync.html +0 -1884
  68. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.html +0 -1701
  69. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Mkcol.html +0 -1691
  70. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.MultiResponse.html +0 -1751
  71. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Options.html +0 -1748
  72. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Propfind.html +0 -1745
  73. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Proppatch.html +0 -1691
  74. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Propstat.html +0 -1733
  75. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Put.html +0 -1691
  76. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Report.html +0 -1761
  77. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Response.html +0 -1751
  78. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.ResponseFactory.html +0 -1689
  79. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Search.html +0 -1691
  80. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.SingleResponse.html +0 -1742
  81. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Undelete.html +0 -1685
  82. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Unlock.html +0 -1691
  83. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.UpdateToVersion.html +0 -1691
  84. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.VersionControl.html +0 -1691
  85. package/Help/ClassReference/ITHit.WebDAV.Client.MsOfficeEditExtensions.html +0 -2103
  86. package/Help/ClassReference/ITHit.WebDAV.Client.Multistatus.html +0 -1785
  87. package/Help/ClassReference/ITHit.WebDAV.Client.MultistatusResponse.html +0 -1831
  88. package/Help/ClassReference/ITHit.WebDAV.Client.OptionsInfo.html +0 -1739
  89. package/Help/ClassReference/ITHit.WebDAV.Client.OrderProperty.html +0 -1960
  90. package/Help/ClassReference/ITHit.WebDAV.Client.PageResults.html +0 -1785
  91. package/Help/ClassReference/ITHit.WebDAV.Client.Property.html +0 -2017
  92. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyList.html +0 -2048
  93. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyMultistatusResponse.html +0 -1883
  94. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyName.html +0 -1972
  95. package/Help/ClassReference/ITHit.WebDAV.Client.Request.html +0 -2673
  96. package/Help/ClassReference/ITHit.WebDAV.Client.RequestProgress.html +0 -1969
  97. package/Help/ClassReference/ITHit.WebDAV.Client.ResourceType.html +0 -1755
  98. package/Help/ClassReference/ITHit.WebDAV.Client.ResumableUpload.html +0 -2271
  99. package/Help/ClassReference/ITHit.WebDAV.Client.SPSManager.html +0 -1951
  100. package/Help/ClassReference/ITHit.WebDAV.Client.SearchQuery.html +0 -1974
  101. package/Help/ClassReference/ITHit.WebDAV.Client.Source.html +0 -1785
  102. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.DocManager.MsOfficeEditExtensions.html +0 -1685
  103. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CopyMove.html +0 -1685
  104. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.html +0 -1685
  105. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFolder.html +0 -1685
  106. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Delete.html +0 -1685
  107. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetFolderItems.html +0 -1685
  108. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetHeadRequests.html +0 -1685
  109. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemByFolder.html +0 -1685
  110. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemBySession.html +0 -1685
  111. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetParent.html +0 -1685
  112. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.ItemExists.html +0 -1685
  113. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.MicrosoftOfficeDiscovery.html +0 -1685
  114. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.NameCheck.html +0 -1685
  115. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Progress.html +0 -1685
  116. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Refresh.html +0 -1685
  117. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Search.html +0 -1685
  118. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.SupportedFeatures.html +0 -1685
  119. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyProperties.GetProperties.html +0 -1685
  120. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyProperties.UpdateProperties.html +0 -1685
  121. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.CheckSupport.html +0 -1685
  122. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.Etag.html +0 -1685
  123. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.GetLocks.html +0 -1685
  124. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.Lock.html +0 -1685
  125. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.RefreshLock.html +0 -1685
  126. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.GetVersions.html +0 -1685
  127. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.ManageVersions.html +0 -1685
  128. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.PutUnderVersion.html +0 -1685
  129. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.ReadContent.html +0 -1685
  130. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.WebDavSession.Events.html +0 -1685
  131. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.AutoUploader.html +0 -1753
  132. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Collections.Map.html +0 -1916
  133. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Collections.Pair.html +0 -1787
  134. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ContentWriter.html +0 -1945
  135. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.DropZone.html +0 -1791
  136. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.FSEntryFactory.html +0 -1689
  137. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.HtmlControl.html +0 -1781
  138. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.Input.html +0 -1791
  139. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.DropZoneCollection.html +0 -2140
  140. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.AsyncEvent.html +0 -1884
  141. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.BaseEvent.html +0 -1685
  142. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.BeforeUploadStarted.html +0 -2030
  143. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.Error.html +0 -1695
  144. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.EventName.html +0 -1843
  145. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.ProgressChanged.html +0 -1791
  146. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.QueueChanged.html +0 -1787
  147. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.StateChanged.html +0 -1791
  148. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.UploadError.html +0 -2174
  149. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.UploadItemsCreated.html +0 -2150
  150. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.FSEntry.html +0 -1823
  151. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.FileSpan.html +0 -1806
  152. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Groups.Group.html +0 -1761
  153. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Groups.GroupManager.html +0 -1803
  154. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.InputCollection.html +0 -2140
  155. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ItemSettings.html +0 -1685
  156. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Path.Generator.html +0 -1888
  157. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Path.PathCache.html +0 -1693
  158. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Progress.html +0 -1969
  159. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.ProgressTracker.html +0 -1744
  160. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.UploadDiff.html +0 -1786
  161. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.UploadProvider.html +0 -1832
  162. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Queue.html +0 -2618
  163. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ServerItem.html +0 -1761
  164. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Settings.html +0 -1840
  165. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.State.html +0 -2031
  166. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.BaseState.html +0 -1685
  167. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.CanceledState.html +0 -1691
  168. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.CompletedState.html +0 -1691
  169. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.Factory.html +0 -1689
  170. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.PausedState.html +0 -1691
  171. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.QueuedState.html +0 -1691
  172. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.ResumeState.html +0 -1691
  173. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.SkippedState.html +0 -1691
  174. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.UploadingState.html +0 -1691
  175. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploadItem.html +0 -5087
  176. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploadLocation.html +0 -1761
  177. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Uploader.html +0 -2106
  178. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploaderSession.html +0 -3304
  179. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.DavUrl.html +0 -1779
  180. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.DavUrlBuilder.html +0 -1744
  181. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.RepeatableAction.html +0 -1863
  182. package/Help/ClassReference/ITHit.WebDAV.Client.UploadProgressInfo.html +0 -1877
  183. package/Help/ClassReference/ITHit.WebDAV.Client.Version.html +0 -3357
  184. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavRequest.html +0 -1689
  185. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavResponse.html +0 -1689
  186. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavSession.html +0 -4046
  187. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavUtil.html +0 -1689
  188. package/Help/ClassReference/data/search.json +0 -1
  189. package/Help/ClassReference/fonts/Inconsolata-Regular.ttf +0 -0
  190. package/Help/ClassReference/fonts/OpenSans-Regular.ttf +0 -0
  191. package/Help/ClassReference/fonts/WorkSans-Bold.ttf +0 -0
  192. package/Help/ClassReference/global.html +0 -7914
  193. package/Help/ClassReference/index.html +0 -2408
  194. package/Help/ClassReference/scripts/core.js +0 -710
  195. package/Help/ClassReference/scripts/core.min.js +0 -23
  196. package/Help/ClassReference/scripts/resize.js +0 -90
  197. package/Help/ClassReference/scripts/search.js +0 -265
  198. package/Help/ClassReference/scripts/search.min.js +0 -6
  199. package/Help/ClassReference/scripts/third-party/Apache-License-2.0.txt +0 -202
  200. package/Help/ClassReference/scripts/third-party/fuse.js +0 -9
  201. package/Help/ClassReference/scripts/third-party/hljs-line-num-original.js +0 -369
  202. package/Help/ClassReference/scripts/third-party/hljs-line-num.js +0 -1
  203. package/Help/ClassReference/scripts/third-party/hljs-original.js +0 -5171
  204. package/Help/ClassReference/scripts/third-party/hljs.js +0 -1
  205. package/Help/ClassReference/scripts/third-party/jquery.min.js +0 -6
  206. package/Help/ClassReference/scripts/third-party/popper.js +0 -5
  207. package/Help/ClassReference/scripts/third-party/tippy.js +0 -1
  208. package/Help/ClassReference/scripts/third-party/tocbot.js +0 -683
  209. package/Help/ClassReference/scripts/third-party/tocbot.min.js +0 -1
  210. package/Help/ClassReference/styles/clean-jsdoc-theme-base.css +0 -1053
  211. package/Help/ClassReference/styles/clean-jsdoc-theme-dark.css +0 -418
  212. package/Help/ClassReference/styles/clean-jsdoc-theme-light.css +0 -399
  213. package/Help/ClassReference/styles/clean-jsdoc-theme.min.css +0 -1
@@ -1,683 +0,0 @@
1
- /* eslint no-var: off */
2
- var defaultOptions = {
3
- ignoreSelector: '.js-toc-ignore',
4
- linkClass: 'toc-link',
5
- extraLinkClasses: '',
6
- activeLinkClass: 'is-active-link',
7
- listClass: 'toc-list',
8
- extraListClasses: '',
9
- isCollapsedClass: 'is-collapsed',
10
- collapsibleClass: 'is-collapsible',
11
- listItemClass: 'toc-list-item',
12
- activeListItemClass: 'is-active-li',
13
- collapseDepth: 0,
14
- scrollSmooth: true,
15
- scrollSmoothDuration: 420,
16
- scrollSmoothOffset: 0,
17
- scrollEndCallback: function (e) { },
18
- throttleTimeout: 50,
19
- positionFixedSelector: null,
20
- positionFixedClass: 'is-position-fixed',
21
- fixedSidebarOffset: 'auto',
22
- includeHtml: false,
23
- includeTitleTags: false,
24
- orderedList: true,
25
- scrollContainer: null,
26
- skipRendering: false,
27
- headingLabelCallback: false,
28
- ignoreHiddenElements: false,
29
- headingObjectCallback: function(obj) {
30
- if(obj.headingLevel === 4){
31
- let newNameObj = document.querySelector('#' + obj.id.replaceAll(":", "\\:")).nextSibling;
32
-
33
- while(newNameObj && newNameObj.nodeType !== 1) {
34
- newNameObj = newNameObj.nextSibling
35
- }
36
- if(newNameObj && newNameObj.classList.contains('toc-nav-name')) obj.textContent = newNameObj.textContent;
37
- }
38
-
39
- return obj;
40
- },
41
- basePath: '',
42
- disableTocScrollSync: false
43
- }
44
-
45
- function ParseContent(options) {
46
- var reduce = [].reduce
47
-
48
- /**
49
- * Get the last item in an array and return a reference to it.
50
- * @param {Array} array
51
- * @return {Object}
52
- */
53
- function getLastItem(array) {
54
- return array[array.length - 1]
55
- }
56
-
57
- /**
58
- * Get heading level for a heading dom node.
59
- * @param {HTMLElement} heading
60
- * @return {Number}
61
- */
62
- function getHeadingLevel(heading) {
63
- return +heading.nodeName.toUpperCase().replace('H', '')
64
- }
65
-
66
- /**
67
- * Get important properties from a heading element and store in a plain object.
68
- * @param {HTMLElement} heading
69
- * @return {Object}
70
- */
71
- function getHeadingObject(heading) {
72
- // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it
73
- // first time heading is real DOM node element, second time it is obj
74
- // that is causing problem so I am processing only original DOM node
75
- if (!(heading instanceof window.HTMLElement)) return heading
76
-
77
- if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {
78
- return null
79
- }
80
-
81
- const headingLabel = heading.getAttribute('data-heading-label') ||
82
- (options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim())
83
- var obj = {
84
- id: heading.id,
85
- children: [],
86
- nodeName: heading.nodeName,
87
- headingLevel: getHeadingLevel(heading),
88
- textContent: headingLabel
89
- }
90
-
91
- if (options.includeHtml) {
92
- obj.childNodes = heading.childNodes
93
- }
94
-
95
- if (options.headingObjectCallback) {
96
- return options.headingObjectCallback(obj, heading)
97
- }
98
-
99
- return obj
100
- }
101
-
102
- /**
103
- * Add a node to the nested array.
104
- * @param {Object} node
105
- * @param {Array} nest
106
- * @return {Array}
107
- */
108
- function addNode(node, nest) {
109
- var obj = getHeadingObject(node)
110
- var level = obj.headingLevel
111
- var array = nest
112
- var lastItem = getLastItem(array)
113
- var lastItemLevel = lastItem
114
- ? lastItem.headingLevel
115
- : 0
116
- var counter = level - lastItemLevel
117
-
118
- while (counter > 0) {
119
- lastItem = getLastItem(array)
120
- // Handle case where there are multiple h5+ in a row.
121
- if (lastItem && level === lastItem.headingLevel) {
122
- break
123
- } else if (lastItem && lastItem.children !== undefined) {
124
- array = lastItem.children
125
- }
126
- counter--
127
- }
128
-
129
- if (level >= options.collapseDepth) {
130
- obj.isCollapsed = true
131
- }
132
-
133
- array.push(obj)
134
- return array
135
- }
136
-
137
- /**
138
- * Select headings in content area, exclude any selector in options.ignoreSelector
139
- * @param {HTMLElement} contentElement
140
- * @param {Array} headingSelector
141
- * @return {Array}
142
- */
143
- function selectHeadings(contentElement, headingSelector) {
144
- var selectors = headingSelector
145
- if (options.ignoreSelector) {
146
- selectors = headingSelector.split(',')
147
- .map(function mapSelectors(selector) {
148
- return selector.trim() + ':not(' + options.ignoreSelector + ')'
149
- })
150
- }
151
- try {
152
- return contentElement.querySelectorAll(selectors)
153
- } catch (e) {
154
- console.warn('Headers not found with selector: ' + selectors); // eslint-disable-line
155
- return null
156
- }
157
- }
158
-
159
- /**
160
- * Nest headings array into nested arrays with 'children' property.
161
- * @param {Array} headingsArray
162
- * @return {Object}
163
- */
164
- function nestHeadingsArray(headingsArray) {
165
- return reduce.call(headingsArray, function reducer(prev, curr) {
166
- var currentHeading = getHeadingObject(curr)
167
- if (currentHeading) {
168
- addNode(currentHeading, prev.nest)
169
- }
170
- return prev
171
- }, {
172
- nest: []
173
- })
174
- }
175
-
176
- return {
177
- nestHeadingsArray: nestHeadingsArray,
178
- selectHeadings: selectHeadings
179
- }
180
- }
181
-
182
- function BuildHtml(options) {
183
- var forEach = [].forEach
184
- var some = [].some
185
- var body = document.body
186
- var tocElement
187
- var mainContainer = document.querySelector(options.contentSelector)
188
- var currentlyHighlighting = true
189
- var SPACE_CHAR = ' '
190
-
191
- /**
192
- * Create link and list elements.
193
- * @param {Object} d
194
- * @param {HTMLElement} container
195
- * @return {HTMLElement}
196
- */
197
- function createEl(d, container) {
198
- var link = container.appendChild(createLink(d))
199
- if (d.children.length) {
200
- var list = createList(d.isCollapsed)
201
- d.children.forEach(function (child) {
202
- createEl(child, list)
203
- })
204
- link.appendChild(list)
205
- }
206
- }
207
-
208
- /**
209
- * Render nested heading array data into a given element.
210
- * @param {HTMLElement} parent Optional. If provided updates the {@see tocElement} to match.
211
- * @param {Array} data
212
- * @return {HTMLElement}
213
- */
214
- function render(parent, data) {
215
- var collapsed = false
216
- var container = createList(collapsed)
217
-
218
- data.forEach(function (d) {
219
- createEl(d, container)
220
- })
221
-
222
- // Return if no TOC element is provided or known.
223
- tocElement = parent || tocElement
224
- if (tocElement === null) {
225
- return
226
- }
227
-
228
- // Remove existing child if it exists.
229
- if (tocElement.firstChild) {
230
- tocElement.removeChild(tocElement.firstChild)
231
- }
232
-
233
- // Just return the parent and don't append the list if no links are found.
234
- if (data.length === 0) {
235
- return tocElement
236
- }
237
-
238
- // Append the Elements that have been created
239
- return tocElement.appendChild(container)
240
- }
241
-
242
- /**
243
- * Create link element.
244
- * @param {Object} data
245
- * @return {HTMLElement}
246
- */
247
- function createLink(data) {
248
- var item = document.createElement('li')
249
- var a = document.createElement('a')
250
- if (options.listItemClass) {
251
- item.setAttribute('class', options.listItemClass)
252
- }
253
-
254
- if (options.onClick) {
255
- a.onclick = options.onClick
256
- }
257
-
258
- if (options.includeTitleTags) {
259
- a.setAttribute('title', data.textContent)
260
- }
261
-
262
- if (options.includeHtml && data.childNodes.length) {
263
- forEach.call(data.childNodes, function (node) {
264
- a.appendChild(node.cloneNode(true))
265
- })
266
- } else {
267
- // Default behavior.
268
- a.textContent = data.textContent
269
- }
270
- a.setAttribute('href', options.basePath + '#' + data.id)
271
- a.setAttribute('class', options.linkClass +
272
- SPACE_CHAR + 'node-name--' + data.nodeName +
273
- SPACE_CHAR + options.extraLinkClasses)
274
- item.appendChild(a)
275
- return item
276
- }
277
-
278
- /**
279
- * Create list element.
280
- * @param {Boolean} isCollapsed
281
- * @return {HTMLElement}
282
- */
283
- function createList(isCollapsed) {
284
- var listElement = (options.orderedList) ? 'ol' : 'ul'
285
- var list = document.createElement(listElement)
286
- var classes = options.listClass +
287
- SPACE_CHAR + options.extraListClasses
288
- if (isCollapsed) {
289
- classes += SPACE_CHAR + options.collapsibleClass
290
- classes += SPACE_CHAR + options.isCollapsedClass
291
- }
292
- list.setAttribute('class', classes)
293
- return list
294
- }
295
-
296
- /**
297
- * Update fixed sidebar class.
298
- * @return {HTMLElement}
299
- */
300
- function updateFixedSidebarClass() {
301
- if (options.scrollContainer && document.querySelector(options.scrollContainer)) {
302
- var top
303
- top = document.querySelector(options.scrollContainer).scrollTop
304
- } else {
305
- top = document.documentElement.scrollTop || body.scrollTop
306
- }
307
- var posFixedEl = document.querySelector(options.positionFixedSelector)
308
-
309
- if (options.fixedSidebarOffset === 'auto') {
310
- options.fixedSidebarOffset = tocElement.offsetTop
311
- }
312
-
313
- if (top > options.fixedSidebarOffset) {
314
- if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {
315
- posFixedEl.className += SPACE_CHAR + options.positionFixedClass
316
- }
317
- } else {
318
- posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')
319
- }
320
- }
321
-
322
- /**
323
- * Get top position of heading
324
- * @param {HTMLElement} obj
325
- * @return {int} position
326
- */
327
- function getHeadingTopPos(obj) {
328
- var position = 0
329
- if (obj !== null) {
330
- position = obj.offsetTop
331
- if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }
332
- }
333
- return position
334
- }
335
-
336
-
337
- function updateListActiveElement(topHeader) {
338
- var forEach = [].forEach
339
-
340
- var tocLinks = tocElement
341
- .querySelectorAll('.' + options.linkClass)
342
- forEach.call(tocLinks, function (tocLink) {
343
- tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')
344
- })
345
- var tocLis = tocElement
346
- .querySelectorAll('.' + options.listItemClass)
347
- forEach.call(tocLis, function (tocLi) {
348
- tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')
349
- })
350
-
351
- // Add the active class to the active tocLink.
352
- var activeTocLink = tocElement
353
- .querySelector('.' + options.linkClass +
354
- '.node-name--' + topHeader.nodeName +
355
- '[href="' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g, '\\$1') + '"]')
356
- if (activeTocLink && activeTocLink.className.indexOf(options.activeLinkClass) === -1) {
357
- activeTocLink.className += SPACE_CHAR + options.activeLinkClass
358
- }
359
- var li = activeTocLink && activeTocLink.parentNode
360
- if (li && li.className.indexOf(options.activeListItemClass) === -1) {
361
- li.className += SPACE_CHAR + options.activeListItemClass
362
- }
363
-
364
- var tocLists = tocElement
365
- .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)
366
-
367
- // Collapse the other collapsible lists.
368
- forEach.call(tocLists, function (list) {
369
- if (list.className.indexOf(options.isCollapsedClass) === -1) {
370
- list.className += SPACE_CHAR + options.isCollapsedClass
371
- }
372
- })
373
-
374
- // Expand the active link's collapsible list and its sibling if applicable.
375
- if (activeTocLink && activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {
376
- activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')
377
- }
378
- removeCollapsedFromParents(activeTocLink && activeTocLink.parentNode.parentNode)
379
- }
380
-
381
- /**
382
- * Update TOC highlighting and collpased groupings.
383
- */
384
- function updateToc(headingsArray) {
385
- // If a fixed content container was set
386
- if (options.scrollContainer && document.querySelector(options.scrollContainer)) {
387
- var top
388
- top = document.querySelector(options.scrollContainer).scrollTop
389
- } else {
390
- top = document.documentElement.scrollTop || body.scrollTop
391
- }
392
-
393
- // Add fixed class at offset
394
- if (options.positionFixedSelector) {
395
- updateFixedSidebarClass()
396
- }
397
-
398
- // Get the top most heading currently visible on the page so we know what to highlight.
399
- var headings = headingsArray
400
- var topHeader
401
- // Using some instead of each so that we can escape early.
402
- if (currentlyHighlighting &&
403
- tocElement !== null &&
404
- headings.length > 0) {
405
- some.call(headings, function (heading, i) {
406
- var modifiedTopOffset = top + 10
407
- if (mainContainer) {
408
- modifiedTopOffset += mainContainer.clientHeight * (mainContainer.scrollTop) / (mainContainer.scrollHeight - mainContainer.clientHeight)
409
- }
410
- if (getHeadingTopPos(heading) > modifiedTopOffset) {
411
- // Don't allow negative index value.
412
- var index = (i === 0) ? i : i - 1
413
- topHeader = headings[index]
414
- return true
415
- } else if (i === headings.length - 1) {
416
- // This allows scrolling for the last heading on the page.
417
- topHeader = headings[headings.length - 1]
418
- return true
419
- }
420
- })
421
-
422
- // Remove the active class from the other tocLinks.
423
- updateListActiveElement(topHeader)
424
- }
425
- }
426
-
427
- /**
428
- * Remove collpased class from parent elements.
429
- * @param {HTMLElement} element
430
- * @return {HTMLElement}
431
- */
432
- function removeCollapsedFromParents(element) {
433
- if (element && element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {
434
- element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')
435
- return removeCollapsedFromParents(element.parentNode.parentNode)
436
- }
437
- return element
438
- }
439
-
440
- /**
441
- * Disable TOC Animation when a link is clicked.
442
- * @param {Event} event
443
- */
444
- function disableTocAnimation(event) {
445
- var target = event.target || event.srcElement
446
- if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {
447
- return
448
- }
449
- // Bind to tocLink clicks to temporarily disable highlighting
450
- // while smoothScroll is animating.
451
- currentlyHighlighting = false
452
- }
453
-
454
- /**
455
- * Enable TOC Animation.
456
- */
457
- function enableTocAnimation() {
458
- currentlyHighlighting = true
459
- }
460
-
461
- return {
462
- enableTocAnimation: enableTocAnimation,
463
- disableTocAnimation: disableTocAnimation,
464
- render: render,
465
- updateToc: updateToc,
466
- updateListActiveElement: updateListActiveElement
467
- }
468
- }
469
-
470
- function updateTocScroll(options) {
471
- var toc = options.tocElement || document.querySelector(options.tocSelector)
472
- if (toc && toc.scrollHeight > toc.clientHeight) {
473
- var activeItem = toc.querySelector('.' + options.activeListItemClass)
474
- if (activeItem) {
475
- var topOffset = toc.getBoundingClientRect().top
476
- toc.scrollTop = activeItem.offsetTop - topOffset
477
- }
478
- }
479
- }
480
-
481
- (function (root, factory) {
482
- if (typeof define === 'function' && define.amd) {
483
- define([], factory(root))
484
- } else if (typeof exports === 'object') {
485
- module.exports = factory(root)
486
- } else {
487
- root.tocbot = factory(root)
488
- }
489
- })(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {
490
- 'use strict'
491
-
492
- var options = {}
493
- var tocbot = {}
494
- var buildHtml
495
- var parseContent
496
-
497
- // Just return if its not a browser.
498
- var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test
499
- if (typeof window === 'undefined' && !supports) {
500
- return
501
- }
502
- var headingsArray
503
-
504
- // From: https://github.com/Raynos/xtend
505
- var hasOwnProperty = Object.prototype.hasOwnProperty
506
- function extend() {
507
- var target = {}
508
- for (var i = 0; i < arguments.length; i++) {
509
- var source = arguments[i]
510
- for (var key in source) {
511
- if (hasOwnProperty.call(source, key)) {
512
- target[key] = source[key]
513
- }
514
- }
515
- }
516
- return target
517
- }
518
-
519
- // From: https://remysharp.com/2010/07/21/throttling-function-calls
520
- function throttle(fn, threshhold, scope) {
521
- threshhold || (threshhold = 250)
522
- var last
523
- var deferTimer
524
- return function () {
525
- var context = scope || this
526
- var now = +new Date()
527
- var args = arguments
528
- if (last && now < last + threshhold) {
529
- // hold on to it
530
- clearTimeout(deferTimer)
531
- deferTimer = setTimeout(function () {
532
- last = now
533
- fn.apply(context, args)
534
- }, threshhold)
535
- } else {
536
- last = now
537
- fn.apply(context, args)
538
- }
539
- }
540
- }
541
-
542
- function getContentElement(options) {
543
- try {
544
- return options.contentElement || document.querySelector(options.contentSelector)
545
- } catch (e) {
546
- console.warn('Contents element not found: ' + options.contentSelector) // eslint-disable-line
547
- return null
548
- }
549
- }
550
-
551
- function getTocElement(options) {
552
- try {
553
- return options.tocElement || document.querySelector(options.tocSelector)
554
- } catch (e) {
555
- console.warn('TOC element not found: ' + options.tocSelector) // eslint-disable-line
556
- return null
557
- }
558
- }
559
-
560
- /**
561
- * Destroy tocbot.
562
- */
563
- tocbot.destroy = function () {
564
- var tocElement = getTocElement(options)
565
- if (tocElement === null) {
566
- return
567
- }
568
-
569
- if (!options.skipRendering) {
570
- // Clear HTML.
571
- if (tocElement) {
572
- tocElement.innerHTML = ''
573
- }
574
- }
575
-
576
- // Remove event listeners.
577
- if (options.scrollContainer && document.querySelector(options.scrollContainer)) {
578
- document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)
579
- document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)
580
- } else {
581
- document.removeEventListener('scroll', this._scrollListener, false)
582
- document.removeEventListener('resize', this._scrollListener, false)
583
- }
584
- }
585
-
586
- /**
587
- * Initialize tocbot.
588
- * @param {object} customOptions
589
- */
590
- tocbot.init = function (customOptions) {
591
- // feature test
592
- if (!supports) {
593
- return
594
- }
595
-
596
- // Merge defaults with user options.
597
- // Set to options variable at the top.
598
- options = extend(defaultOptions, customOptions || {})
599
- this.options = options
600
- this.state = {}
601
-
602
- // Init smooth scroll if enabled (default).
603
- if (options.scrollSmooth) {
604
- options.duration = options.scrollSmoothDuration
605
- options.offset = options.scrollSmoothOffset
606
- }
607
-
608
- // Pass options to these modules.
609
- buildHtml = BuildHtml(options)
610
- parseContent = ParseContent(options)
611
-
612
- // For testing purposes.
613
- this._buildHtml = buildHtml
614
- this._parseContent = parseContent
615
- this._headingsArray = headingsArray
616
- this.updateTocListActiveElement = buildHtml.updateListActiveElement
617
-
618
- // Destroy it if it exists first.
619
- tocbot.destroy()
620
-
621
- var contentElement = getContentElement(options)
622
- if (contentElement === null) {
623
- return
624
- }
625
-
626
- var tocElement = getTocElement(options)
627
- if (tocElement === null) {
628
- return
629
- }
630
-
631
- // Get headings array.
632
- headingsArray = parseContent.selectHeadings(contentElement, options.headingSelector)
633
- // Return if no headings are found.
634
- if (headingsArray === null) {
635
- return
636
- }
637
-
638
- // Build nested headings array.
639
- var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)
640
- var nestedHeadings = nestedHeadingsObj.nest
641
-
642
- // Render.
643
- if (!options.skipRendering) {
644
- buildHtml.render(tocElement, nestedHeadings)
645
- }
646
-
647
- // Update Sidebar and bind listeners.
648
- this._scrollListener = throttle(function (e) {
649
- buildHtml.updateToc(headingsArray)
650
- !options.disableTocScrollSync && updateTocScroll(options)
651
- var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0
652
- if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {
653
- buildHtml.updateToc(headingsArray)
654
- if (options.scrollEndCallback) {
655
- options.scrollEndCallback(e)
656
- }
657
- }
658
- }, options.throttleTimeout)
659
- this._scrollListener()
660
- if (options.scrollContainer && document.querySelector(options.scrollContainer)) {
661
- document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)
662
- document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)
663
- } else {
664
- document.addEventListener('scroll', this._scrollListener, false)
665
- document.addEventListener('resize', this._scrollListener, false)
666
- }
667
-
668
- return this
669
- }
670
-
671
- /**
672
- * Refresh tocbot.
673
- */
674
- tocbot.refresh = function (customOptions) {
675
- tocbot.destroy()
676
- tocbot.init(customOptions || this.options)
677
- }
678
-
679
- // Make tocbot available globally.
680
- root.tocbot = tocbot
681
-
682
- return tocbot
683
- })
@@ -1 +0,0 @@
1
- var defaultOptions={ignoreSelector:".js-toc-ignore",linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,includeTitleTags:!1,orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:function(t){if(4===t.headingLevel){let e=document.querySelector("#"+t.id.replaceAll(":","\\:")).nextSibling;for(;e&&1!==e.nodeType;)e=e.nextSibling;e&&e.classList.contains("toc-nav-name")&&(t.textContent=e.textContent)}return t},basePath:"",disableTocScrollSync:!1};function ParseContent(r){var t=[].reduce;function a(e){return e[e.length-1]}function c(e){if(!(e instanceof window.HTMLElement))return e;if(r.ignoreHiddenElements&&(!e.offsetHeight||!e.offsetParent))return null;var t=e.getAttribute("data-heading-label")||(r.headingLabelCallback?String(r.headingLabelCallback(e.textContent)):e.textContent.trim()),t={id:e.id,children:[],nodeName:e.nodeName,headingLevel:+e.nodeName.toUpperCase().replace("H",""),textContent:t};return r.includeHtml&&(t.childNodes=e.childNodes),r.headingObjectCallback?r.headingObjectCallback(t,e):t}return{nestHeadingsArray:function(e){return t.call(e,function(e,t){t=c(t);if(t){for(var l=e.nest,n=(t=c(t)).headingLevel,o=l,s=a(o),i=n-(s?s.headingLevel:0);0<i&&(!(s=a(o))||n!==s.headingLevel);)s&&void 0!==s.children&&(o=s.children),i--;n>=r.collapseDepth&&(t.isCollapsed=!0),o.push(t)}return e},{nest:[]})},selectHeadings:function(e,t){var l=t;r.ignoreSelector&&(l=t.split(",").map(function(e){return e.trim()+":not("+r.ignoreSelector+")"}));try{return e.querySelectorAll(l)}catch(e){return console.warn("Headers not found with selector: "+l),null}}}}function BuildHtml(i){var r,n=[].forEach,a=[].some,c=document.body,d=document.querySelector(i.contentSelector),u=!0,f=" ";function o(e,t){var l,t=t.appendChild(function(e){var t=document.createElement("li"),l=document.createElement("a");i.listItemClass&&t.setAttribute("class",i.listItemClass);i.onClick&&(l.onclick=i.onClick);i.includeTitleTags&&l.setAttribute("title",e.textContent);i.includeHtml&&e.childNodes.length?n.call(e.childNodes,function(e){l.appendChild(e.cloneNode(!0))}):l.textContent=e.textContent;return l.setAttribute("href",i.basePath+"#"+e.id),l.setAttribute("class",i.linkClass+f+"node-name--"+e.nodeName+f+i.extraLinkClasses),t.appendChild(l),t}(e));e.children.length&&(l=s(e.isCollapsed),e.children.forEach(function(e){o(e,l)}),t.appendChild(l))}function s(e){var t=i.orderedList?"ol":"ul",t=document.createElement(t),l=i.listClass+f+i.extraListClasses;return e&&(l=(l+=f+i.collapsibleClass)+(f+i.isCollapsedClass)),t.setAttribute("class",l),t}function m(e){var t=[].forEach,l=r.querySelectorAll("."+i.linkClass),l=(t.call(l,function(e){e.className=e.className.split(f+i.activeLinkClass).join("")}),r.querySelectorAll("."+i.listItemClass)),l=(t.call(l,function(e){e.className=e.className.split(f+i.activeListItemClass).join("")}),r.querySelector("."+i.linkClass+".node-name--"+e.nodeName+'[href="'+i.basePath+"#"+e.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]')),e=(l&&-1===l.className.indexOf(i.activeLinkClass)&&(l.className+=f+i.activeLinkClass),l&&l.parentNode),e=(e&&-1===e.className.indexOf(i.activeListItemClass)&&(e.className+=f+i.activeListItemClass),r.querySelectorAll("."+i.listClass+"."+i.collapsibleClass));t.call(e,function(e){-1===e.className.indexOf(i.isCollapsedClass)&&(e.className+=f+i.isCollapsedClass)}),l&&l.nextSibling&&-1!==l.nextSibling.className.indexOf(i.isCollapsedClass)&&(l.nextSibling.className=l.nextSibling.className.split(f+i.isCollapsedClass).join("")),function e(t){if(t&&-1!==t.className.indexOf(i.collapsibleClass)&&-1!==t.className.indexOf(i.isCollapsedClass))return t.className=t.className.split(f+i.isCollapsedClass).join(""),e(t.parentNode.parentNode);return t}(l&&l.parentNode.parentNode)}return{enableTocAnimation:function(){u=!0},disableTocAnimation:function(e){"string"==typeof(e=e.target||e.srcElement).className&&-1!==e.className.indexOf(i.linkClass)&&(u=!1)},render:function(e,t){var l=s(!1);if(t.forEach(function(e){o(e,l)}),null!==(r=e||r))return r.firstChild&&r.removeChild(r.firstChild),0===t.length?r:r.appendChild(l)},updateToc:function(e){n=i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).scrollTop:document.documentElement.scrollTop||c.scrollTop,i.positionFixedSelector&&(t=i.scrollContainer&&document.querySelector(i.scrollContainer)?document.querySelector(i.scrollContainer).scrollTop:document.documentElement.scrollTop||c.scrollTop,l=document.querySelector(i.positionFixedSelector),"auto"===i.fixedSidebarOffset&&(i.fixedSidebarOffset=r.offsetTop),t>i.fixedSidebarOffset?-1===l.className.indexOf(i.positionFixedClass)&&(l.className+=f+i.positionFixedClass):l.className=l.className.split(f+i.positionFixedClass).join(""));var n,t,l,o,s=e;u&&null!==r&&0<s.length&&(a.call(s,function(e,t){var l=n+10;return d&&(l+=d.clientHeight*d.scrollTop/(d.scrollHeight-d.clientHeight)),function e(t){var l=0;return null!==t&&(l=t.offsetTop,i.hasInnerContainers&&(l+=e(t.offsetParent))),l}(e)>l?(o=s[0===t?t:t-1],!0):t===s.length-1?(o=s[s.length-1],!0):void 0}),m(o))},updateListActiveElement:m}}function updateTocScroll(e){var t,l=e.tocElement||document.querySelector(e.tocSelector);l&&l.scrollHeight>l.clientHeight&&((e=l.querySelector("."+e.activeListItemClass))&&(t=l.getBoundingClientRect().top,l.scrollTop=e.offsetTop-t))}!function(e,t){"function"==typeof define&&define.amd?define([],t(e)):"object"==typeof exports?module.exports=t(e):e.tocbot=t(e)}("undefined"!=typeof global?global:this.window||this.global,function(e){"use strict";var l,a,c,d,u={},f={},m=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||m)return d=Object.prototype.hasOwnProperty,f.destroy=function(){var e=C(u);null!==e&&(u.skipRendering||e&&(e.innerHTML=""),u.scrollContainer&&document.querySelector(u.scrollContainer)?(document.querySelector(u.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(u.scrollContainer).removeEventListener("resize",this._scrollListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1)))},f.init=function(e){if(m){u=function(){for(var e={},t=0;t<arguments.length;t++){var l,n=arguments[t];for(l in n)d.call(n,l)&&(e[l]=n[l])}return e}(defaultOptions,e||{}),this.options=u,this.state={},u.scrollSmooth&&(u.duration=u.scrollSmoothDuration,u.offset=u.scrollSmoothOffset),l=BuildHtml(u),a=ParseContent(u),this._buildHtml=l,this._parseContent=a,this._headingsArray=c,this.updateTocListActiveElement=l.updateListActiveElement,f.destroy();e=function(t){try{return t.contentElement||document.querySelector(t.contentSelector)}catch(e){return console.warn("Contents element not found: "+t.contentSelector),null}}(u);if(null!==e){var n,o,s,i,r,t=C(u);if(null!==t)if(null!==(c=a.selectHeadings(e,u.headingSelector)))return e=a.nestHeadingsArray(c).nest,u.skipRendering||l.render(t,e),this._scrollListener=(n=function(e){l.updateToc(c),u.disableTocScrollSync||updateTocScroll(u);var t=e&&e.target&&e.target.scrollingElement&&0===e.target.scrollingElement.scrollTop;(e&&(0===e.eventPhase||null===e.currentTarget)||t)&&(l.updateToc(c),u.scrollEndCallback&&u.scrollEndCallback(e))},o=(o=u.throttleTimeout)||250,function(){var e=s||this,t=+new Date,l=arguments;i&&t<i+o?(clearTimeout(r),r=setTimeout(function(){i=t,n.apply(e,l)},o)):(i=t,n.apply(e,l))}),this._scrollListener(),u.scrollContainer&&document.querySelector(u.scrollContainer)?(document.querySelector(u.scrollContainer).addEventListener("scroll",this._scrollListener,!1),document.querySelector(u.scrollContainer).addEventListener("resize",this._scrollListener,!1)):(document.addEventListener("scroll",this._scrollListener,!1),document.addEventListener("resize",this._scrollListener,!1)),this}}},f.refresh=function(e){f.destroy(),f.init(e||this.options)},e.tocbot=f;function C(t){try{return t.tocElement||document.querySelector(t.tocSelector)}catch(e){return console.warn("TOC element not found: "+t.tocSelector),null}}});