webdav.client 5.21.5999 → 5.21.6098

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 (214) hide show
  1. package/ITHitWebDAVClient.js +3 -3
  2. package/Plugins/ITHitEditDocumentOpener.deb +0 -0
  3. package/Plugins/ITHitEditDocumentOpener.msi +0 -0
  4. package/Plugins/ITHitEditDocumentOpener.pkg +0 -0
  5. package/Plugins/ITHitEditDocumentOpener.rpm +0 -0
  6. package/index.d.ts +1 -1
  7. package/index.js +1 -1
  8. package/package.json +1 -1
  9. package/Help/ClassReference/Create.html +0 -1809
  10. package/Help/ClassReference/ITHit.Environment.html +0 -1739
  11. package/Help/ClassReference/ITHit.LogLevel.html +0 -1985
  12. package/Help/ClassReference/ITHit.Logger.html +0 -2170
  13. package/Help/ClassReference/ITHit.WebDAV.Client.AsyncResult.html +0 -1877
  14. package/Help/ClassReference/ITHit.WebDAV.Client.BrowserExtension.html +0 -2282
  15. package/Help/ClassReference/ITHit.WebDAV.Client.CancellableResult.html +0 -2049
  16. package/Help/ClassReference/ITHit.WebDAV.Client.DavConstants.html +0 -3181
  17. package/Help/ClassReference/ITHit.WebDAV.Client.Depth.html +0 -1815
  18. package/Help/ClassReference/ITHit.WebDAV.Client.DocManager.html +0 -3600
  19. package/Help/ClassReference/ITHit.WebDAV.Client.Encoder.html +0 -1785
  20. package/Help/ClassReference/ITHit.WebDAV.Client.Error.html +0 -1785
  21. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.BadRequestException.html +0 -1883
  22. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.ConflictException.html +0 -1883
  23. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.DependencyFailedException.html +0 -1883
  24. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.ForbiddenException.html +0 -1883
  25. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.Error.html +0 -1753
  26. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.Multistatus.html +0 -1703
  27. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.MultistatusResponse.html +0 -1703
  28. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.PropertyMultistatus.html +0 -1755
  29. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Info.PropertyMultistatusResponse.html +0 -1703
  30. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.InsufficientStorageException.html +0 -1883
  31. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.IntegrationException.html +0 -1689
  32. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.LockedException.html +0 -1883
  33. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.MethodNotAllowedException.html +0 -1883
  34. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.NotFoundException.html +0 -1883
  35. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.NotImplementedException.html +0 -1883
  36. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.Parsers.InsufficientStorage.html +0 -1805
  37. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PreconditionFailedException.html +0 -1883
  38. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyConflictException.html +0 -1929
  39. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyException.html +0 -1929
  40. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyForbiddenException.html +0 -1929
  41. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.PropertyNotFoundException.html +0 -1929
  42. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.QuotaNotExceededException.html +0 -1883
  43. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.SufficientDiskSpaceException.html +0 -1883
  44. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.UnauthorizedException.html +0 -1883
  45. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.WebDavException.html +0 -1695
  46. package/Help/ClassReference/ITHit.WebDAV.Client.Exceptions.WebDavHttpException.html +0 -1883
  47. package/Help/ClassReference/ITHit.WebDAV.Client.Features.html +0 -2215
  48. package/Help/ClassReference/ITHit.WebDAV.Client.File.html +0 -9490
  49. package/Help/ClassReference/ITHit.WebDAV.Client.Folder.html +0 -11459
  50. package/Help/ClassReference/ITHit.WebDAV.Client.GEditInfo.html +0 -1785
  51. package/Help/ClassReference/ITHit.WebDAV.Client.HierarchyItem.html +0 -8324
  52. package/Help/ClassReference/ITHit.WebDAV.Client.HttpStatus.html +0 -3861
  53. package/Help/ClassReference/ITHit.WebDAV.Client.LockInfo.html +0 -1923
  54. package/Help/ClassReference/ITHit.WebDAV.Client.LockScope.html +0 -1755
  55. package/Help/ClassReference/ITHit.WebDAV.Client.LockUriTokenPair.html +0 -1785
  56. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.CancelUpload.html +0 -1691
  57. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.CopyMove.html +0 -1745
  58. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Delete.html +0 -1691
  59. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.ErrorResponse.html +0 -1751
  60. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Get.GoAsync.html +0 -1830
  61. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Get.html +0 -1698
  62. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Head.html +0 -1691
  63. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.HttpMethod.html +0 -1765
  64. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.Go.html +0 -1866
  65. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.GoAsync.html +0 -1884
  66. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Lock.html +0 -1701
  67. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.Go.html +0 -1866
  68. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.GoAsync.html +0 -1884
  69. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.LockRefresh.html +0 -1701
  70. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Mkcol.html +0 -1691
  71. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.MultiResponse.html +0 -1751
  72. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Options.html +0 -1748
  73. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Propfind.html +0 -1745
  74. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Proppatch.html +0 -1691
  75. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Propstat.html +0 -1733
  76. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Put.html +0 -1691
  77. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Report.html +0 -1761
  78. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Response.html +0 -1751
  79. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.ResponseFactory.html +0 -1689
  80. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Search.html +0 -1691
  81. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.SingleResponse.html +0 -1742
  82. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Undelete.html +0 -1685
  83. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.Unlock.html +0 -1691
  84. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.UpdateToVersion.html +0 -1691
  85. package/Help/ClassReference/ITHit.WebDAV.Client.Methods.VersionControl.html +0 -1691
  86. package/Help/ClassReference/ITHit.WebDAV.Client.MsOfficeEditExtensions.html +0 -2103
  87. package/Help/ClassReference/ITHit.WebDAV.Client.Multistatus.html +0 -1785
  88. package/Help/ClassReference/ITHit.WebDAV.Client.MultistatusResponse.html +0 -1831
  89. package/Help/ClassReference/ITHit.WebDAV.Client.OptionsInfo.html +0 -1739
  90. package/Help/ClassReference/ITHit.WebDAV.Client.OrderProperty.html +0 -1960
  91. package/Help/ClassReference/ITHit.WebDAV.Client.PageResults.html +0 -1785
  92. package/Help/ClassReference/ITHit.WebDAV.Client.Property.html +0 -2017
  93. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyList.html +0 -2048
  94. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyMultistatusResponse.html +0 -1883
  95. package/Help/ClassReference/ITHit.WebDAV.Client.PropertyName.html +0 -1972
  96. package/Help/ClassReference/ITHit.WebDAV.Client.Request.html +0 -2673
  97. package/Help/ClassReference/ITHit.WebDAV.Client.RequestProgress.html +0 -1969
  98. package/Help/ClassReference/ITHit.WebDAV.Client.ResourceType.html +0 -1755
  99. package/Help/ClassReference/ITHit.WebDAV.Client.ResumableUpload.html +0 -2271
  100. package/Help/ClassReference/ITHit.WebDAV.Client.SPSManager.html +0 -1951
  101. package/Help/ClassReference/ITHit.WebDAV.Client.SearchQuery.html +0 -1974
  102. package/Help/ClassReference/ITHit.WebDAV.Client.Source.html +0 -1785
  103. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.DocManager.MsOfficeEditExtensions.html +0 -1685
  104. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CopyMove.html +0 -1685
  105. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFile.html +0 -1685
  106. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.CreateFolder.html +0 -1685
  107. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Delete.html +0 -1685
  108. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetFolderItems.html +0 -1685
  109. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetHeadRequests.html +0 -1685
  110. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemByFolder.html +0 -1685
  111. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetItemBySession.html +0 -1685
  112. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.GetParent.html +0 -1685
  113. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.ItemExists.html +0 -1685
  114. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.MicrosoftOfficeDiscovery.html +0 -1685
  115. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.NameCheck.html +0 -1685
  116. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Progress.html +0 -1685
  117. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Refresh.html +0 -1685
  118. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.Search.html +0 -1685
  119. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyItems.SupportedFeatures.html +0 -1685
  120. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyProperties.GetProperties.html +0 -1685
  121. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.HierarchyProperties.UpdateProperties.html +0 -1685
  122. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.CheckSupport.html +0 -1685
  123. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.Etag.html +0 -1685
  124. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.GetLocks.html +0 -1685
  125. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.Lock.html +0 -1685
  126. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Locks.RefreshLock.html +0 -1685
  127. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.GetVersions.html +0 -1685
  128. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.ManageVersions.html +0 -1685
  129. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.PutUnderVersion.html +0 -1685
  130. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.Versions.ReadContent.html +0 -1685
  131. package/Help/ClassReference/ITHit.WebDAV.Client.Tests.WebDavSession.Events.html +0 -1685
  132. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.AutoUploader.html +0 -1753
  133. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Collections.Map.html +0 -1916
  134. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Collections.Pair.html +0 -1787
  135. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ContentWriter.html +0 -1945
  136. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.DropZone.html +0 -1791
  137. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.FSEntryFactory.html +0 -1689
  138. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.HtmlControl.html +0 -1781
  139. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Controls.Input.html +0 -1791
  140. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.DropZoneCollection.html +0 -2140
  141. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.AsyncEvent.html +0 -1884
  142. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.BaseEvent.html +0 -1685
  143. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.BeforeUploadStarted.html +0 -2030
  144. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.Error.html +0 -1695
  145. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.EventName.html +0 -1843
  146. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.ProgressChanged.html +0 -1791
  147. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.QueueChanged.html +0 -1787
  148. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.StateChanged.html +0 -1791
  149. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.UploadError.html +0 -2174
  150. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Events.UploadItemsCreated.html +0 -2150
  151. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.FSEntry.html +0 -1823
  152. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.FileSpan.html +0 -1806
  153. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Groups.Group.html +0 -1761
  154. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Groups.GroupManager.html +0 -1803
  155. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.InputCollection.html +0 -2140
  156. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ItemSettings.html +0 -1685
  157. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Path.Generator.html +0 -1888
  158. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Path.PathCache.html +0 -1693
  159. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Progress.html +0 -1969
  160. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.ProgressTracker.html +0 -1744
  161. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.UploadDiff.html +0 -1786
  162. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Providers.UploadProvider.html +0 -1832
  163. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Queue.html +0 -2618
  164. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.ServerItem.html +0 -1761
  165. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Settings.html +0 -1840
  166. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.State.html +0 -2031
  167. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.BaseState.html +0 -1685
  168. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.CanceledState.html +0 -1691
  169. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.CompletedState.html +0 -1691
  170. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.Factory.html +0 -1689
  171. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.PausedState.html +0 -1691
  172. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.QueuedState.html +0 -1691
  173. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.ResumeState.html +0 -1691
  174. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.SkippedState.html +0 -1691
  175. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.States.UploadingState.html +0 -1691
  176. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploadItem.html +0 -5087
  177. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploadLocation.html +0 -1761
  178. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Uploader.html +0 -2106
  179. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.UploaderSession.html +0 -3304
  180. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.DavUrl.html +0 -1779
  181. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.DavUrlBuilder.html +0 -1744
  182. package/Help/ClassReference/ITHit.WebDAV.Client.Upload.Utils.RepeatableAction.html +0 -1863
  183. package/Help/ClassReference/ITHit.WebDAV.Client.UploadProgressInfo.html +0 -1877
  184. package/Help/ClassReference/ITHit.WebDAV.Client.Version.html +0 -3357
  185. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavRequest.html +0 -1689
  186. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavResponse.html +0 -1689
  187. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavSession.html +0 -4046
  188. package/Help/ClassReference/ITHit.WebDAV.Client.WebDavUtil.html +0 -1689
  189. package/Help/ClassReference/data/search.json +0 -1
  190. package/Help/ClassReference/fonts/Inconsolata-Regular.ttf +0 -0
  191. package/Help/ClassReference/fonts/OpenSans-Regular.ttf +0 -0
  192. package/Help/ClassReference/fonts/WorkSans-Bold.ttf +0 -0
  193. package/Help/ClassReference/global.html +0 -7914
  194. package/Help/ClassReference/index.html +0 -2408
  195. package/Help/ClassReference/scripts/core.js +0 -710
  196. package/Help/ClassReference/scripts/core.min.js +0 -23
  197. package/Help/ClassReference/scripts/resize.js +0 -90
  198. package/Help/ClassReference/scripts/search.js +0 -265
  199. package/Help/ClassReference/scripts/search.min.js +0 -6
  200. package/Help/ClassReference/scripts/third-party/Apache-License-2.0.txt +0 -202
  201. package/Help/ClassReference/scripts/third-party/fuse.js +0 -9
  202. package/Help/ClassReference/scripts/third-party/hljs-line-num-original.js +0 -369
  203. package/Help/ClassReference/scripts/third-party/hljs-line-num.js +0 -1
  204. package/Help/ClassReference/scripts/third-party/hljs-original.js +0 -5171
  205. package/Help/ClassReference/scripts/third-party/hljs.js +0 -1
  206. package/Help/ClassReference/scripts/third-party/jquery.min.js +0 -6
  207. package/Help/ClassReference/scripts/third-party/popper.js +0 -5
  208. package/Help/ClassReference/scripts/third-party/tippy.js +0 -1
  209. package/Help/ClassReference/scripts/third-party/tocbot.js +0 -683
  210. package/Help/ClassReference/scripts/third-party/tocbot.min.js +0 -1
  211. package/Help/ClassReference/styles/clean-jsdoc-theme-base.css +0 -1053
  212. package/Help/ClassReference/styles/clean-jsdoc-theme-dark.css +0 -418
  213. package/Help/ClassReference/styles/clean-jsdoc-theme-light.css +0 -399
  214. 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}}});