umberto 6.0.0 → 6.1.0

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 (348) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +3 -0
  3. package/package.json +1 -1
  4. package/scripts/filter/before-post-render/set-layout.js +9 -11
  5. package/src/api-builder/classes/doc-data-factory.js +1 -1
  6. package/src/data-converter/converters/typedoc/typedocconverter.js +2 -2
  7. package/src/index.js +108 -146
  8. package/src/tasks/build-api-docs.js +4 -4
  9. package/src/tasks/build-documentation.js +9 -3
  10. package/src/tasks/build-sdk.js +25 -9
  11. package/src/tasks/copy-assets.js +9 -9
  12. package/src/tasks/create-sym-links.js +2 -3
  13. package/themes/umberto/layout/{404.pug → gloria/404.pug} +1 -1
  14. package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/class.pug +1 -1
  15. package/themes/umberto/layout/gloria/_api-docs/interface.pug +10 -0
  16. package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/mixin.pug +1 -1
  17. package/themes/umberto/layout/gloria/_api-docs/module.pug +10 -0
  18. package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/namespace.pug +1 -1
  19. package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/typedef.pug +1 -1
  20. package/themes/umberto/layout/{_partial → gloria/_partial}/gh-contribute.pug +2 -2
  21. package/themes/umberto/layout/{_partial → gloria/_partial}/head.pug +2 -2
  22. package/themes/umberto/layout/{_partial → gloria/_partial}/search-box.pug +1 -1
  23. package/themes/umberto/layout/{api.pug → gloria/api.pug} +1 -1
  24. package/themes/umberto/layout/{base.pug → gloria/base.pug} +1 -1
  25. package/themes/umberto/layout/{sdk.pug → gloria/sdk.pug} +1 -1
  26. package/themes/umberto/layout/umberto/404.pug +22 -0
  27. package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-see-source.pug +11 -0
  28. package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-title.pug +17 -0
  29. package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-tree-item.pug +30 -0
  30. package/themes/umberto/layout/umberto/_api-docs/_mixin/_badge.pug +17 -0
  31. package/themes/umberto/layout/umberto/_api-docs/_mixin/_class-item.pug +29 -0
  32. package/themes/umberto/layout/umberto/_api-docs/_mixin/_dev-names.pug +9 -0
  33. package/themes/umberto/layout/umberto/_api-docs/_mixin/_error.pug +23 -0
  34. package/themes/umberto/layout/umberto/_api-docs/_mixin/_fires-item.pug +7 -0
  35. package/themes/umberto/layout/umberto/_api-docs/_mixin/_hierarchy-item.pug +14 -0
  36. package/themes/umberto/layout/umberto/_api-docs/_mixin/_hierarchy-list.pug +7 -0
  37. package/themes/umberto/layout/umberto/_api-docs/_mixin/_link-or-text.pug +43 -0
  38. package/themes/umberto/layout/umberto/_api-docs/_mixin/_method.pug +89 -0
  39. package/themes/umberto/layout/umberto/_api-docs/_mixin/_params.pug +44 -0
  40. package/themes/umberto/layout/umberto/_api-docs/_mixin/_property.pug +51 -0
  41. package/themes/umberto/layout/umberto/_api-docs/_mixin/_related.pug +8 -0
  42. package/themes/umberto/layout/umberto/_api-docs/_mixin/_return.pug +14 -0
  43. package/themes/umberto/layout/umberto/_api-docs/_mixin/_sidebox-list-item.pug +8 -0
  44. package/themes/umberto/layout/umberto/_api-docs/_mixin/_sidebox-list.pug +8 -0
  45. package/themes/umberto/layout/umberto/_api-docs/_mixin/_type.pug +180 -0
  46. package/themes/umberto/layout/umberto/_api-docs/_mixin/type-parameter.pug +18 -0
  47. package/themes/umberto/layout/umberto/_api-docs/_partial/api-info-box.pug +30 -0
  48. package/themes/umberto/layout/umberto/_api-docs/_partial/api-subheader.pug +22 -0
  49. package/themes/umberto/layout/umberto/_api-docs/_partial/classes.pug +7 -0
  50. package/themes/umberto/layout/umberto/_api-docs/_partial/config-options.pug +7 -0
  51. package/themes/umberto/layout/umberto/_api-docs/_partial/constants.pug +7 -0
  52. package/themes/umberto/layout/umberto/_api-docs/_partial/description.pug +9 -0
  53. package/themes/umberto/layout/umberto/_api-docs/_partial/events.pug +7 -0
  54. package/themes/umberto/layout/umberto/_api-docs/_partial/filter.pug +40 -0
  55. package/themes/umberto/layout/umberto/_api-docs/_partial/functions.pug +7 -0
  56. package/themes/umberto/layout/umberto/_api-docs/_partial/interfaces.pug +7 -0
  57. package/themes/umberto/layout/umberto/_api-docs/_partial/loading-spinner.pug +2 -0
  58. package/themes/umberto/layout/umberto/_api-docs/_partial/methods.pug +19 -0
  59. package/themes/umberto/layout/umberto/_api-docs/_partial/namespaces.pug +7 -0
  60. package/themes/umberto/layout/umberto/_api-docs/_partial/navtree.pug +13 -0
  61. package/themes/umberto/layout/umberto/_api-docs/_partial/properties.pug +19 -0
  62. package/themes/umberto/layout/umberto/_api-docs/_partial/type-parameters.pug +26 -0
  63. package/themes/umberto/layout/umberto/_api-docs/_partial/typedefs.pug +7 -0
  64. package/themes/umberto/layout/umberto/_api-docs/api-base.pug +45 -0
  65. package/themes/umberto/layout/{_api-docs/interface.pug → umberto/_api-docs/class.pug} +1 -1
  66. package/themes/umberto/layout/umberto/_api-docs/errors.pug +6 -0
  67. package/themes/umberto/layout/umberto/_api-docs/interface.pug +10 -0
  68. package/themes/umberto/layout/{_api-docs/module.pug → umberto/_api-docs/mixin.pug} +1 -1
  69. package/themes/umberto/layout/umberto/_api-docs/module.pug +10 -0
  70. package/themes/umberto/layout/umberto/_api-docs/namespace.pug +10 -0
  71. package/themes/umberto/layout/umberto/_api-docs/typedef.pug +37 -0
  72. package/themes/umberto/layout/umberto/_mixin/nav-tree-item.pug +13 -0
  73. package/themes/umberto/layout/umberto/_mixin/nav-tree-level.pug +38 -0
  74. package/themes/umberto/layout/umberto/_partial/docsearch.pug +21 -0
  75. package/themes/umberto/layout/umberto/_partial/dropdown.pug +12 -0
  76. package/themes/umberto/layout/umberto/_partial/feedback-widget.pug +20 -0
  77. package/themes/umberto/layout/umberto/_partial/footer.pug +6 -0
  78. package/themes/umberto/layout/umberto/_partial/gh-contribute.pug +8 -0
  79. package/themes/umberto/layout/umberto/_partial/google-analytics.pug +19 -0
  80. package/themes/umberto/layout/umberto/_partial/google-tag-manager.pug +18 -0
  81. package/themes/umberto/layout/umberto/_partial/head.pug +67 -0
  82. package/themes/umberto/layout/umberto/_partial/header.pug +64 -0
  83. package/themes/umberto/layout/umberto/_partial/nav-tree.pug +9 -0
  84. package/themes/umberto/layout/umberto/_partial/report-issue-widget.pug +26 -0
  85. package/themes/umberto/layout/umberto/_partial/rwd-breadcrumbs.pug +13 -0
  86. package/themes/umberto/layout/umberto/_partial/search-box.pug +6 -0
  87. package/themes/umberto/layout/umberto/_partial/vwo.pug +11 -0
  88. package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-sample-item.pug +5 -0
  89. package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-samples.pug +7 -0
  90. package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-tree-item.pug +7 -0
  91. package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-tree-level.pug +29 -0
  92. package/themes/umberto/layout/umberto/_sdk/_partial/navtree.pug +4 -0
  93. package/themes/umberto/layout/umberto/_sdk/page.pug +23 -0
  94. package/themes/umberto/layout/umberto/api.pug +27 -0
  95. package/themes/umberto/layout/umberto/base.pug +42 -0
  96. package/themes/umberto/layout/umberto/index.pug +17 -0
  97. package/themes/umberto/layout/umberto/page.pug +28 -0
  98. package/themes/umberto/layout/umberto/sdk.pug +29 -0
  99. package/themes/umberto/source/umberto/assets/_img/info-circle.svg +4 -0
  100. package/themes/umberto/source/umberto/assets/_img/triangle-right.svg +1 -0
  101. package/themes/umberto/src/umberto/css/_api-content.scss +32 -0
  102. package/themes/umberto/src/umberto/css/_api-info-box.scss +86 -0
  103. package/themes/umberto/src/umberto/css/_api-props-filter.scss +106 -0
  104. package/themes/umberto/src/umberto/css/_api-see-source.scss +35 -0
  105. package/themes/umberto/src/umberto/css/_api-subheader.scss +167 -0
  106. package/themes/umberto/src/umberto/css/_api-tree.scss +121 -0
  107. package/themes/umberto/src/umberto/css/_badge.scss +74 -0
  108. package/themes/umberto/src/umberto/css/_code-switcher.scss +61 -0
  109. package/themes/umberto/src/umberto/css/_collapsinglist.scss +262 -0
  110. package/themes/umberto/src/umberto/css/_content.scss +236 -0
  111. package/themes/umberto/src/umberto/css/_docsearch.scss +109 -0
  112. package/themes/umberto/src/umberto/css/_dropdown.scss +63 -0
  113. package/themes/umberto/src/umberto/css/_editor-icon.scss +26 -0
  114. package/themes/umberto/src/umberto/css/_feedback-widget.scss +11 -0
  115. package/themes/umberto/src/umberto/css/_font-external.scss +8 -0
  116. package/themes/umberto/src/umberto/css/_footer.scss +40 -0
  117. package/themes/umberto/src/umberto/css/_formatted.scss +285 -0
  118. package/themes/umberto/src/umberto/css/_guide-content.scss +37 -0
  119. package/themes/umberto/src/umberto/css/_guide-sdk-tree.scss +14 -0
  120. package/themes/umberto/src/umberto/css/_loading-spinner.scss +33 -0
  121. package/themes/umberto/src/umberto/css/_main.scss +59 -0
  122. package/themes/umberto/src/umberto/css/_navigation.scss +35 -0
  123. package/themes/umberto/src/umberto/css/_notice.scss +116 -0
  124. package/themes/umberto/src/umberto/css/_print.scss +20 -0
  125. package/themes/umberto/src/umberto/css/_prism.scss +223 -0
  126. package/themes/umberto/src/umberto/css/_rwd-breadcrumbs.scss +28 -0
  127. package/themes/umberto/src/umberto/css/_rwd-menu.scss +89 -0
  128. package/themes/umberto/src/umberto/css/_secondary-navigation.scss +152 -0
  129. package/themes/umberto/src/umberto/css/_theme-dark.scss +175 -0
  130. package/themes/umberto/src/umberto/css/_toggler.scss +46 -0
  131. package/themes/umberto/src/umberto/css/_top.scss +350 -0
  132. package/themes/umberto/src/umberto/css/_tree.scss +218 -0
  133. package/themes/umberto/src/umberto/css/_warning-banner.scss +46 -0
  134. package/themes/umberto/src/umberto/css/components/_lightbox.scss +12 -0
  135. package/themes/umberto/src/umberto/css/helpers/_color.scss +49 -0
  136. package/themes/umberto/src/umberto/css/helpers/_font.scss +60 -0
  137. package/themes/umberto/src/umberto/css/helpers/_globals.scss +129 -0
  138. package/themes/umberto/src/umberto/css/helpers/_reset.scss +52 -0
  139. package/themes/umberto/src/umberto/css/helpers/_spacing.scss +21 -0
  140. package/themes/umberto/src/umberto/css/pages/_sdk.scss +111 -0
  141. package/themes/umberto/src/umberto/css/styles.scss +117 -0
  142. package/themes/umberto/src/umberto/js/_anchors.js +57 -0
  143. package/themes/umberto/src/umberto/js/_apisearch.js +126 -0
  144. package/themes/umberto/src/umberto/js/_apitree.js +67 -0
  145. package/themes/umberto/src/umberto/js/_attachpermalinklistener.js +50 -0
  146. package/themes/umberto/src/umberto/js/_codeswitcherbuttons.js +146 -0
  147. package/themes/umberto/src/umberto/js/_collapsables.js +135 -0
  148. package/themes/umberto/src/umberto/js/_copymobileapinavigation.js +26 -0
  149. package/themes/umberto/src/umberto/js/_devnames.js +37 -0
  150. package/themes/umberto/src/umberto/js/_dropdowns.js +55 -0
  151. package/themes/umberto/src/umberto/js/_filtering.js +139 -0
  152. package/themes/umberto/src/umberto/js/_imageModal.js +16 -0
  153. package/themes/umberto/src/umberto/js/_pagenavigation.js +93 -0
  154. package/themes/umberto/src/umberto/js/_prism.js +104 -0
  155. package/themes/umberto/src/umberto/js/_rwdmenu.js +15 -0
  156. package/themes/umberto/src/umberto/js/_samplecode.js +23 -0
  157. package/themes/umberto/src/umberto/js/_sidenavigation.js +59 -0
  158. package/themes/umberto/src/umberto/js/_toc.js +93 -0
  159. package/themes/umberto/src/umberto/js/_tooltips.js +39 -0
  160. package/themes/umberto/src/umberto/js/_warningbanner.js +18 -0
  161. package/themes/umberto/src/umberto/js/app.js +70 -0
  162. package/themes/umberto/src/umberto/js/vendor/prism.js +45 -0
  163. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-see-source.pug +0 -0
  164. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-title.pug +0 -0
  165. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-tree-item.pug +0 -0
  166. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_badge.pug +0 -0
  167. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_class-item.pug +0 -0
  168. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_dev-names.pug +0 -0
  169. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_error.pug +0 -0
  170. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_fires-item.pug +0 -0
  171. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_hierarchy-item.pug +0 -0
  172. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_hierarchy-list.pug +0 -0
  173. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_link-or-text.pug +0 -0
  174. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_method.pug +0 -0
  175. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_params.pug +0 -0
  176. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_property.pug +0 -0
  177. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_related.pug +0 -0
  178. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_return.pug +0 -0
  179. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_sidebox-list-item.pug +0 -0
  180. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_sidebox-list.pug +0 -0
  181. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_type.pug +0 -0
  182. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/type-parameter.pug +0 -0
  183. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/api-info-box.pug +0 -0
  184. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/api-subheader.pug +0 -0
  185. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/classes.pug +0 -0
  186. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/config-options.pug +0 -0
  187. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/constants.pug +0 -0
  188. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/description.pug +0 -0
  189. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/events.pug +0 -0
  190. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/filter.pug +0 -0
  191. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/functions.pug +0 -0
  192. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/interfaces.pug +0 -0
  193. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/loading-spinner.pug +0 -0
  194. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/methods.pug +0 -0
  195. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/namespaces.pug +0 -0
  196. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/navtree.pug +0 -0
  197. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/properties.pug +0 -0
  198. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/type-parameters.pug +0 -0
  199. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/typedefs.pug +0 -0
  200. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/api-base.pug +0 -0
  201. /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/errors.pug +0 -0
  202. /package/themes/umberto/layout/{_mixin → gloria/_mixin}/nav-tree-item.pug +0 -0
  203. /package/themes/umberto/layout/{_mixin → gloria/_mixin}/nav-tree-level.pug +0 -0
  204. /package/themes/umberto/layout/{_partial → gloria/_partial}/docsearch.pug +0 -0
  205. /package/themes/umberto/layout/{_partial → gloria/_partial}/dropdown.pug +0 -0
  206. /package/themes/umberto/layout/{_partial → gloria/_partial}/feedback-widget.pug +0 -0
  207. /package/themes/umberto/layout/{_partial → gloria/_partial}/footer.pug +0 -0
  208. /package/themes/umberto/layout/{_partial → gloria/_partial}/google-analytics.pug +0 -0
  209. /package/themes/umberto/layout/{_partial → gloria/_partial}/google-tag-manager.pug +0 -0
  210. /package/themes/umberto/layout/{_partial → gloria/_partial}/header.pug +0 -0
  211. /package/themes/umberto/layout/{_partial → gloria/_partial}/nav-tree.pug +0 -0
  212. /package/themes/umberto/layout/{_partial → gloria/_partial}/report-issue-widget.pug +0 -0
  213. /package/themes/umberto/layout/{_partial → gloria/_partial}/rwd-breadcrumbs.pug +0 -0
  214. /package/themes/umberto/layout/{_partial → gloria/_partial}/vwo.pug +0 -0
  215. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-sample-item.pug +0 -0
  216. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-samples.pug +0 -0
  217. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-tree-item.pug +0 -0
  218. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-tree-level.pug +0 -0
  219. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_partial/navtree.pug +0 -0
  220. /package/themes/umberto/layout/{_sdk → gloria/_sdk}/page.pug +0 -0
  221. /package/themes/umberto/layout/{index.pug → gloria/index.pug} +0 -0
  222. /package/themes/umberto/layout/{page.pug → gloria/page.pug} +0 -0
  223. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/arrows.svg +0 -0
  224. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/book.svg +0 -0
  225. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-brown.svg +0 -0
  226. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-orange.svg +0 -0
  227. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-red.svg +0 -0
  228. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/bulb.svg +0 -0
  229. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/clipboard.svg +0 -0
  230. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/cog.svg +0 -0
  231. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/data.svg +0 -0
  232. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/documentation.svg +0 -0
  233. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/download.svg +0 -0
  234. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/edit.svg +0 -0
  235. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/exclamation-circle.svg +0 -0
  236. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/eye.svg +0 -0
  237. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/filter.svg +0 -0
  238. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/filtering.svg +0 -0
  239. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/folder.svg +0 -0
  240. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/github.svg +0 -0
  241. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-configs.svg +0 -0
  242. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-events.svg +0 -0
  243. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-methods.svg +0 -0
  244. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-properties.svg +0 -0
  245. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/heart.svg +0 -0
  246. /package/themes/umberto/source/{assets → gloria/assets}/_img/info-circle.svg +0 -0
  247. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/info.svg +0 -0
  248. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/list-nest.svg +0 -0
  249. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/loupe.svg +0 -0
  250. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/menu.svg +0 -0
  251. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/plug.svg +0 -0
  252. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/star-in-circle.svg +0 -0
  253. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/tick.svg +0 -0
  254. /package/themes/{nova/source → umberto/source/gloria}/assets/_img/triangle-down.svg +0 -0
  255. /package/themes/umberto/source/{assets → gloria/assets}/_img/triangle-right.svg +0 -0
  256. /package/themes/umberto/source/{assets → umberto/assets}/_img/arrows.svg +0 -0
  257. /package/themes/umberto/source/{assets → umberto/assets}/_img/book.svg +0 -0
  258. /package/themes/umberto/source/{assets → umberto/assets}/_img/box-brown.svg +0 -0
  259. /package/themes/umberto/source/{assets → umberto/assets}/_img/box-orange.svg +0 -0
  260. /package/themes/umberto/source/{assets → umberto/assets}/_img/box-red.svg +0 -0
  261. /package/themes/umberto/source/{assets → umberto/assets}/_img/bulb.svg +0 -0
  262. /package/themes/umberto/source/{assets → umberto/assets}/_img/clipboard.svg +0 -0
  263. /package/themes/umberto/source/{assets → umberto/assets}/_img/cog.svg +0 -0
  264. /package/themes/umberto/source/{assets → umberto/assets}/_img/data.svg +0 -0
  265. /package/themes/umberto/source/{assets → umberto/assets}/_img/documentation.svg +0 -0
  266. /package/themes/umberto/source/{assets → umberto/assets}/_img/download.svg +0 -0
  267. /package/themes/umberto/source/{assets → umberto/assets}/_img/edit.svg +0 -0
  268. /package/themes/umberto/source/{assets → umberto/assets}/_img/exclamation-circle.svg +0 -0
  269. /package/themes/umberto/source/{assets → umberto/assets}/_img/eye.svg +0 -0
  270. /package/themes/umberto/source/{assets → umberto/assets}/_img/filter.svg +0 -0
  271. /package/themes/umberto/source/{assets → umberto/assets}/_img/filtering.svg +0 -0
  272. /package/themes/umberto/source/{assets → umberto/assets}/_img/folder.svg +0 -0
  273. /package/themes/umberto/source/{assets → umberto/assets}/_img/github.svg +0 -0
  274. /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-configs.svg +0 -0
  275. /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-events.svg +0 -0
  276. /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-methods.svg +0 -0
  277. /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-properties.svg +0 -0
  278. /package/themes/umberto/source/{assets → umberto/assets}/_img/heart.svg +0 -0
  279. /package/themes/umberto/source/{assets → umberto/assets}/_img/info.svg +0 -0
  280. /package/themes/umberto/source/{assets → umberto/assets}/_img/list-nest.svg +0 -0
  281. /package/themes/umberto/source/{assets → umberto/assets}/_img/loupe.svg +0 -0
  282. /package/themes/umberto/source/{assets → umberto/assets}/_img/menu.svg +0 -0
  283. /package/themes/umberto/source/{assets → umberto/assets}/_img/plug.svg +0 -0
  284. /package/themes/umberto/source/{assets → umberto/assets}/_img/star-in-circle.svg +0 -0
  285. /package/themes/umberto/source/{assets → umberto/assets}/_img/tick.svg +0 -0
  286. /package/themes/umberto/source/{assets → umberto/assets}/_img/triangle-down.svg +0 -0
  287. /package/themes/umberto/src/{css → gloria/css}/_api-content.scss +0 -0
  288. /package/themes/umberto/src/{css → gloria/css}/_api-info-box.scss +0 -0
  289. /package/themes/umberto/src/{css → gloria/css}/_api-props-filter.scss +0 -0
  290. /package/themes/umberto/src/{css → gloria/css}/_api-see-source.scss +0 -0
  291. /package/themes/umberto/src/{css → gloria/css}/_api-subheader.scss +0 -0
  292. /package/themes/umberto/src/{css → gloria/css}/_api-tree.scss +0 -0
  293. /package/themes/umberto/src/{css → gloria/css}/_badge.scss +0 -0
  294. /package/themes/umberto/src/{css → gloria/css}/_code-switcher.scss +0 -0
  295. /package/themes/umberto/src/{css → gloria/css}/_collapsinglist.scss +0 -0
  296. /package/themes/umberto/src/{css → gloria/css}/_content.scss +0 -0
  297. /package/themes/umberto/src/{css → gloria/css}/_docsearch.scss +0 -0
  298. /package/themes/umberto/src/{css → gloria/css}/_dropdown.scss +0 -0
  299. /package/themes/umberto/src/{css → gloria/css}/_editor-icon.scss +0 -0
  300. /package/themes/umberto/src/{css → gloria/css}/_feedback-widget.scss +0 -0
  301. /package/themes/umberto/src/{css → gloria/css}/_font-external.scss +0 -0
  302. /package/themes/umberto/src/{css → gloria/css}/_footer.scss +0 -0
  303. /package/themes/umberto/src/{css → gloria/css}/_formatted.scss +0 -0
  304. /package/themes/umberto/src/{css → gloria/css}/_guide-content.scss +0 -0
  305. /package/themes/umberto/src/{css → gloria/css}/_guide-sdk-tree.scss +0 -0
  306. /package/themes/umberto/src/{css → gloria/css}/_loading-spinner.scss +0 -0
  307. /package/themes/umberto/src/{css → gloria/css}/_main.scss +0 -0
  308. /package/themes/umberto/src/{css → gloria/css}/_navigation.scss +0 -0
  309. /package/themes/umberto/src/{css → gloria/css}/_notice.scss +0 -0
  310. /package/themes/umberto/src/{css → gloria/css}/_print.scss +0 -0
  311. /package/themes/umberto/src/{css → gloria/css}/_prism.scss +0 -0
  312. /package/themes/umberto/src/{css → gloria/css}/_rwd-breadcrumbs.scss +0 -0
  313. /package/themes/umberto/src/{css → gloria/css}/_rwd-menu.scss +0 -0
  314. /package/themes/umberto/src/{css → gloria/css}/_secondary-navigation.scss +0 -0
  315. /package/themes/umberto/src/{css → gloria/css}/_theme-dark.scss +0 -0
  316. /package/themes/umberto/src/{css → gloria/css}/_toggler.scss +0 -0
  317. /package/themes/umberto/src/{css → gloria/css}/_top.scss +0 -0
  318. /package/themes/umberto/src/{css → gloria/css}/_tree.scss +0 -0
  319. /package/themes/umberto/src/{css → gloria/css}/_warning-banner.scss +0 -0
  320. /package/themes/umberto/src/{css → gloria/css}/components/_lightbox.scss +0 -0
  321. /package/themes/umberto/src/{css → gloria/css}/helpers/_color.scss +0 -0
  322. /package/themes/umberto/src/{css → gloria/css}/helpers/_font.scss +0 -0
  323. /package/themes/umberto/src/{css → gloria/css}/helpers/_globals.scss +0 -0
  324. /package/themes/umberto/src/{css → gloria/css}/helpers/_reset.scss +0 -0
  325. /package/themes/umberto/src/{css → gloria/css}/helpers/_spacing.scss +0 -0
  326. /package/themes/umberto/src/{css → gloria/css}/pages/_sdk.scss +0 -0
  327. /package/themes/umberto/src/{css → gloria/css}/styles.scss +0 -0
  328. /package/themes/umberto/src/{js → gloria/js}/_anchors.js +0 -0
  329. /package/themes/umberto/src/{js → gloria/js}/_apisearch.js +0 -0
  330. /package/themes/umberto/src/{js → gloria/js}/_apitree.js +0 -0
  331. /package/themes/umberto/src/{js → gloria/js}/_attachpermalinklistener.js +0 -0
  332. /package/themes/umberto/src/{js → gloria/js}/_codeswitcherbuttons.js +0 -0
  333. /package/themes/umberto/src/{js → gloria/js}/_collapsables.js +0 -0
  334. /package/themes/umberto/src/{js → gloria/js}/_copymobileapinavigation.js +0 -0
  335. /package/themes/umberto/src/{js → gloria/js}/_devnames.js +0 -0
  336. /package/themes/umberto/src/{js → gloria/js}/_dropdowns.js +0 -0
  337. /package/themes/umberto/src/{js → gloria/js}/_filtering.js +0 -0
  338. /package/themes/umberto/src/{js → gloria/js}/_imageModal.js +0 -0
  339. /package/themes/umberto/src/{js → gloria/js}/_pagenavigation.js +0 -0
  340. /package/themes/umberto/src/{js → gloria/js}/_prism.js +0 -0
  341. /package/themes/umberto/src/{js → gloria/js}/_rwdmenu.js +0 -0
  342. /package/themes/umberto/src/{js → gloria/js}/_samplecode.js +0 -0
  343. /package/themes/umberto/src/{js → gloria/js}/_sidenavigation.js +0 -0
  344. /package/themes/umberto/src/{js → gloria/js}/_toc.js +0 -0
  345. /package/themes/umberto/src/{js → gloria/js}/_tooltips.js +0 -0
  346. /package/themes/umberto/src/{js → gloria/js}/_warningbanner.js +0 -0
  347. /package/themes/umberto/src/{js → gloria/js}/app.js +0 -0
  348. /package/themes/umberto/src/{js → gloria/js}/vendor/prism.js +0 -0
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ export default function pageNavigation() {
7
+ const CLASS_NAMES = {
8
+ huge: 'api-subheader__navigation-dropdown--huge',
9
+ big: 'api-subheader__navigation-dropdown--big',
10
+ small: 'api-subheader__navigation-dropdown--small',
11
+ empty: 'api-subheader__navigation-dropdown--empty',
12
+ hidden: 'api-subheader__navigation-dropdown--hidden'
13
+ };
14
+ const mainNavigationElements = document.querySelectorAll( '.api-subheader__navigation > ul > li' );
15
+ for ( const element of mainNavigationElements ) {
16
+ const ul = createListFor( element );
17
+
18
+ element.appendChild( ul );
19
+ }
20
+
21
+ if ( !window.umberto ) {
22
+ window.umberto = {};
23
+ }
24
+
25
+ window.umberto.updateDropdowns = function updateDropdowns() {
26
+ for ( const element of mainNavigationElements ) {
27
+ const ul = element.querySelector( 'ul' );
28
+ const visibleItemsLength = ul.querySelectorAll( 'li:not(.api-subheader__navigation-dropdown--hidden)' ).length;
29
+ if ( !visibleItemsLength ) {
30
+ element.classList.add( CLASS_NAMES.hidden );
31
+ } else {
32
+ element.classList.remove( CLASS_NAMES.hidden );
33
+ setClass( ul, dropdownLengthType( visibleItemsLength ) );
34
+ }
35
+ }
36
+ };
37
+
38
+ function createListFor( element ) {
39
+ const links = getLinksFor( element );
40
+ const ul = document.createElement( 'ul' );
41
+
42
+ ul.classList.add( 'api-subheader__navigation-dropdown' );
43
+ ul.classList.add( dropdownLengthType( links.length ) );
44
+
45
+ for ( const link of links ) {
46
+ ul.appendChild( link );
47
+ }
48
+
49
+ return ul;
50
+ }
51
+
52
+ function getLinksFor( element ) {
53
+ const outputList = [];
54
+ const lists = document.querySelectorAll( 'ul[data-type=' + element.dataset.type + ']' );
55
+ for ( const list of lists ) {
56
+ const links = list.querySelectorAll( 'li.collapsing-list__item' );
57
+ for ( const link of links ) {
58
+ const listItem = document.createElement( 'li' );
59
+ const clonedLink = link.querySelector( 'h3 a.member-name' ).cloneNode( true );
60
+ clonedLink.classList.add( 'api-subheader__navigation-link' );
61
+ listItem.appendChild( clonedLink );
62
+ Object.assign( listItem.dataset, link.dataset );
63
+ outputList.push( listItem );
64
+ }
65
+ }
66
+ return outputList;
67
+ }
68
+
69
+ function dropdownLengthType( elements ) {
70
+ if ( elements > 60 ) {
71
+ return CLASS_NAMES.huge;
72
+ } else if ( elements > 20 ) {
73
+ return CLASS_NAMES.big;
74
+ } else if ( elements > 0 ) {
75
+ return CLASS_NAMES.small;
76
+ } else {
77
+ return CLASS_NAMES.empty;
78
+ }
79
+ }
80
+
81
+ function setClass( element, className ) {
82
+ if ( !element.classList.contains( className ) ) {
83
+ element.classList.add( className );
84
+ }
85
+
86
+ for ( const cls in CLASS_NAMES ) {
87
+ if ( CLASS_NAMES[ cls ] !== className ) {
88
+ element.classList.remove( CLASS_NAMES[ cls ] );
89
+ }
90
+ }
91
+ }
92
+ }
93
+
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ import './vendor/prism';
7
+
8
+ export function setupPrism() {
9
+ const locationHref = window.location.href;
10
+ const isApiPage = !!locationHref.match( /\/api\// );
11
+
12
+ // For CKEditor 4 snippets (SDK) attach the "Download" button.
13
+ if ( locationHref.match( /\/ckeditor4\// ) && locationHref.match( /\/examples\// ) ) {
14
+ createDownloadButton();
15
+ }
16
+
17
+ Array.from( document.querySelectorAll( 'pre code' ) )
18
+ .filter( element => {
19
+ // Don't highlight code block's inside editor's content. See: #838.
20
+ if ( element.closest( '.ck-content' ) ) {
21
+ return false;
22
+ }
23
+
24
+ // Don't highlight the element if it contains the `no-highlight` class.
25
+ if ( element.classList.contains( 'no-highlight' ) ) {
26
+ return false;
27
+ }
28
+
29
+ return true;
30
+ } )
31
+ .forEach( element => {
32
+ const classList = element.classList.values();
33
+ const preElement = element.parentElement;
34
+
35
+ // Don't highlight the element if it has no parent.
36
+ if ( !preElement ) {
37
+ return false;
38
+ }
39
+
40
+ for ( const className of classList ) {
41
+ preElement.classList.add( `language-${ className }` );
42
+ }
43
+
44
+ // Render as `javascript` on API pages and as `plaintext` for others if the language is not specified.
45
+ if ( !preElement.classList.length ) {
46
+ preElement.classList.add( isApiPage ? 'language-javascript' : 'language-plaintext' );
47
+ }
48
+
49
+ element.setAttribute( 'data-prismjs-copy-success', 'Ready!' );
50
+ preElement.classList.add( 'highlight' );
51
+
52
+ window.Prism.highlightElement( element );
53
+ } );
54
+
55
+ // Add the `[title]` attribute to "Copy" button.
56
+ [ ...document.querySelectorAll( '.copy-to-clipboard-button' ) ]
57
+ .forEach( button => {
58
+ button.title = 'Copy the code to the clipboard';
59
+ } );
60
+ }
61
+
62
+ /**
63
+ * Add the "Download" button to the code snippets.
64
+ */
65
+ function createDownloadButton() {
66
+ window.Prism.plugins.toolbar.registerButton( 'download', env => {
67
+ const button = document.createElement( 'button' );
68
+ const span = document.createElement( 'span' );
69
+
70
+ span.innerHTML = 'Download';
71
+ button.appendChild( span );
72
+ button.classList.add( 'download-snippet-button' );
73
+ button.title = 'Download this snippet';
74
+
75
+ button.addEventListener( 'click', () => {
76
+ download( env.element.textContent, 'index.html', 'text/html' );
77
+ } );
78
+
79
+ return button;
80
+ } );
81
+
82
+ function download( data, filename, type ) {
83
+ const file = new Blob( [ data ], { type } );
84
+
85
+ if ( window.navigator.msSaveOrOpenBlob ) {
86
+ // IE10+
87
+ window.navigator.msSaveOrOpenBlob( file, filename );
88
+ } else {
89
+ // Others
90
+ const a = document.createElement( 'a' );
91
+ const url = URL.createObjectURL( file );
92
+
93
+ a.href = url;
94
+ a.download = filename;
95
+ document.body.appendChild( a );
96
+
97
+ a.click();
98
+ setTimeout( function() {
99
+ document.body.removeChild( a );
100
+ window.URL.revokeObjectURL( url );
101
+ } );
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ export function rwdButton() {
7
+ // Handle the mobile menu button.
8
+ const rwdButton = document.querySelector( '.header__main-rwd-button a' );
9
+ const rwdTop = document.querySelector( '.top' );
10
+
11
+ rwdButton.addEventListener( 'click', e => {
12
+ e.preventDefault();
13
+ rwdTop.classList.toggle( 'rwd-menu-active' );
14
+ } );
15
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ import $ from 'jquery';
7
+
8
+ export default function sampleCode() {
9
+ const headerHeight = document.querySelector( 'header.top' ).offsetHeight;
10
+
11
+ // Accordion toggling button.
12
+ $( '.sdk-sample-source-code__button' ).on( 'click', function( e ) {
13
+ e.preventDefault();
14
+
15
+ $( this ).toggleClass( 'active' );
16
+ $( this ).parent().find( '.sdk-sample-source-code__code-block' ).toggleClass( 'active' );
17
+
18
+ // scroll smoothly to the clicked content
19
+ $( 'html, body' ).animate( {
20
+ scrollTop: $( this ).offset().top - headerHeight - 20
21
+ }, 400 );
22
+ } );
23
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ export default function sideNavigation() {
7
+ const folderButtons = Array.from( document.querySelectorAll( '.tree:not(.api-tree) .tree__item--folder' ) );
8
+ const guideTreeElement = document.getElementById( 'guidetree' );
9
+ const foldedClassName = 'tree__item-nested-list--hidden';
10
+ const activeClassName = '.tree__item__wrapper--active';
11
+ const localStorageKey = 'foldersState';
12
+
13
+ let foldersState = JSON.parse( window.localStorage.getItem( localStorageKey ) );
14
+ if ( foldersState === null ) {
15
+ foldersState = {};
16
+ }
17
+
18
+ folderButtons.forEach( btn => {
19
+ const element = btn.parentNode.nextElementSibling; // Get <ul> element
20
+ const id = element.getAttribute( 'data-id' );
21
+
22
+ applyFolderState( element, foldersState[ id ] );
23
+ checkForActiveChildren( element, id );
24
+
25
+ btn.addEventListener( 'click', function() {
26
+ element.classList.toggle( foldedClassName );
27
+ saveFolderState( id, isFolded( element ) );
28
+ } );
29
+ } );
30
+
31
+ if ( guideTreeElement ) {
32
+ guideTreeElement.classList.add( 'state-applied' );
33
+ }
34
+
35
+ function applyFolderState( element, folded ) {
36
+ if ( folded === false ) {
37
+ element.classList.remove( foldedClassName );
38
+ }
39
+ if ( folded === true ) {
40
+ element.classList.add( foldedClassName );
41
+ }
42
+ }
43
+
44
+ function saveFolderState( id, state ) {
45
+ foldersState[ id ] = state;
46
+ window.localStorage.setItem( localStorageKey, JSON.stringify( foldersState ) );
47
+ }
48
+
49
+ function checkForActiveChildren( element, id ) {
50
+ if ( element.querySelectorAll( activeClassName ).length > 0 ) {
51
+ element.classList.remove( foldedClassName );
52
+ saveFolderState( id, isFolded( element ) );
53
+ }
54
+ }
55
+
56
+ function isFolded( element ) {
57
+ return element.classList.contains( foldedClassName );
58
+ }
59
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ import $ from 'jquery';
7
+ import throttle from 'lodash/throttle';
8
+
9
+ export function trackArticlePosition() {
10
+ let headingsData = [];
11
+ const toc = $( '.secondary-navigation' );
12
+ const tocLinks = $( '.secondary-navigation a' );
13
+ const currentItemClass = 'secondary-navigation__current-position';
14
+ let tocItemClicked = false;
15
+
16
+ function getHeadingsData() {
17
+ headingsData = [];
18
+
19
+ $( ':header' ).each( function() {
20
+ const currentHeading = $( this );
21
+ const currentHeadingId = currentHeading.attr( 'id' );
22
+
23
+ if ( !currentHeadingId ) {
24
+ return true;
25
+ }
26
+
27
+ headingsData.unshift( {
28
+ top: currentHeading.offset().top,
29
+ tocItem: toc.find( `a[href$="#${ currentHeadingId }"]` )
30
+ } );
31
+ } );
32
+ }
33
+
34
+ function updateToc() {
35
+ // Prevent updating when ToC item was clicked and page scrolled.
36
+ if ( tocItemClicked ) {
37
+ return;
38
+ }
39
+
40
+ // When ToC is not fixed to the right, there is no need for marking current position.
41
+ if ( toc.css( 'position' ) !== 'fixed' ) {
42
+ if ( tocLinks.hasClass( currentItemClass ) ) {
43
+ tocLinks.removeClass( currentItemClass );
44
+ }
45
+
46
+ return;
47
+ }
48
+
49
+ const scrollTop = $( window ).scrollTop();
50
+ const offsetAboveHeading = $( window ).height() / 3;
51
+
52
+ for ( const hd of headingsData ) {
53
+ if ( scrollTop > hd.top - offsetAboveHeading ) {
54
+ if ( !hd.tocItem.hasClass( currentItemClass ) ) {
55
+ tocLinks.removeClass( currentItemClass );
56
+ hd.tocItem.addClass( currentItemClass );
57
+ }
58
+
59
+ return;
60
+ }
61
+ }
62
+
63
+ if ( tocLinks.hasClass( currentItemClass ) ) {
64
+ tocLinks.removeClass( currentItemClass );
65
+ }
66
+ }
67
+
68
+ tocLinks.click( function() {
69
+ tocItemClicked = true;
70
+
71
+ if ( tocLinks.hasClass( currentItemClass ) ) {
72
+ tocLinks.removeClass( currentItemClass );
73
+ }
74
+
75
+ $( this ).addClass( currentItemClass );
76
+ setTimeout( () => {
77
+ tocItemClicked = false;
78
+ }, 200 );
79
+ } );
80
+
81
+ $( window ).resize( () => {
82
+ getHeadingsData();
83
+ updateToc();
84
+ } );
85
+
86
+ $( window ).scroll( throttle( updateToc, 100 ) );
87
+
88
+ // Timeout because highlight.js takes time to run and it changes headings position.
89
+ setTimeout( function() {
90
+ getHeadingsData();
91
+ updateToc();
92
+ }, 200 );
93
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ import $ from 'jquery';
7
+ import tippy from 'tippy.js';
8
+
9
+ export function enableBadgeTooltips() {
10
+ $( '[data-badge-tooltip]' ).each( ( index, element ) => {
11
+ tippy( element, {
12
+ content: element.dataset.badgeTooltip,
13
+ placement: 'right',
14
+ duration: 150,
15
+ animation: 'scale',
16
+ theme: 'light-border',
17
+ zIndex: 1
18
+ } );
19
+ } );
20
+ }
21
+
22
+ export function createTooltip( target, content, options ) {
23
+ const tooltip = tippy( target, {
24
+ content,
25
+ ...options
26
+ } );
27
+
28
+ const closeButton = tooltip.popper.querySelector( '.tippy-content__close-button' );
29
+
30
+ closeButton.addEventListener( 'click', () => {
31
+ tooltip.hide();
32
+ } );
33
+
34
+ target.addEventListener( 'click', () => {
35
+ tooltip.hide();
36
+ } );
37
+
38
+ return tooltip;
39
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ import $ from 'jquery';
7
+
8
+ /**
9
+ * Displays a warning banner on top of the page with a pre-defined message.
10
+ *
11
+ * @param {String} message
12
+ */
13
+ export default function showWarningBanner( message ) {
14
+ const warningElement = $( '<div class="warning-banner"></div>' );
15
+
16
+ warningElement.append( `<span>⚠️ Warning</span><span>${ message }</span>` );
17
+ warningElement.appendTo( 'header.top' );
18
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md.
4
+ */
5
+
6
+ // Polyfill for `window.Symbol`.
7
+ import '@babel/polyfill';
8
+ // Polyfill for `Element.closest()`.
9
+ import 'element-closest/browser';
10
+
11
+ import $ from 'jquery';
12
+ import { setupPrism } from './_prism';
13
+ import { enableCollapsables, hideTogglers } from './_collapsables';
14
+ import { enableAnchors } from './_anchors';
15
+ import { enableDropdowns } from './_dropdowns';
16
+ import { enableFiltering } from './_filtering';
17
+ import { trackArticlePosition } from './_toc';
18
+ import { expandApiTree, scrollApiTree } from './_apitree';
19
+ import { setUpFuse } from './_apisearch';
20
+ import pageNavigation from './_pagenavigation';
21
+ import { activateDevNames } from './_devnames';
22
+ import sideNavigation from './_sidenavigation';
23
+ import sampleCode from './_samplecode';
24
+ import copyMobileApiNavigation from './_copymobileapinavigation';
25
+ import { rwdButton } from './_rwdmenu';
26
+ import imageModal from './_imageModal';
27
+ import showWarningBanner from './_warningbanner';
28
+ import { enableBadgeTooltips, createTooltip } from './_tooltips';
29
+ import attachPermalinkListener from './_attachpermalinklistener';
30
+ import { createCodeSwitcherButtons } from './_codeswitcherbuttons';
31
+
32
+ // Changing documentation theme. To enable, type in the console: `localStorage.setItem( 'theme', 'theme-dark' )`.
33
+ if ( localStorage.getItem( 'theme' ) === 'theme-dark' ) {
34
+ document.getElementsByTagName( 'html' )[ 0 ].classList.add( 'theme-dark' );
35
+ }
36
+
37
+ // Set up the global variable.
38
+ window.umberto = {
39
+ // The `VERSION` value will be replaced by the `DefinePlugin` webpack plugin.
40
+ version: VERSION, // eslint-disable-line no-undef
41
+ showWarningBanner,
42
+ createTooltip
43
+ };
44
+
45
+ // Ask the SOS team before touching this 😛
46
+ window.open.closed = 1;
47
+
48
+ $( document ).ready( () => {
49
+ pageNavigation(); // pageNavigation - needs to be run before filtering initialization.
50
+ copyMobileApiNavigation(); // copy API Tree into mobile navigation
51
+ sideNavigation();
52
+ expandApiTree();
53
+ scrollApiTree();
54
+ enableFiltering();
55
+ setupPrism();
56
+ enableCollapsables();
57
+ hideTogglers();
58
+ enableAnchors();
59
+ enableDropdowns();
60
+ trackArticlePosition();
61
+ setUpFuse();
62
+ activateDevNames();
63
+ attachPermalinkListener();
64
+ rwdButton();
65
+ imageModal(); // lightbox for { @img } elements
66
+ // `sampleCode()` must be called after the `setupPrism()` function.
67
+ sampleCode(); // control accordion of sample code and buttons(copy/download)
68
+ enableBadgeTooltips(); // attaches tippy.js tooltip for all elements with data-badge-tooltip
69
+ createCodeSwitcherButtons();
70
+ } );