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.
- package/CHANGELOG.md +9 -0
- package/README.md +3 -0
- package/package.json +1 -1
- package/scripts/filter/before-post-render/set-layout.js +9 -11
- package/src/api-builder/classes/doc-data-factory.js +1 -1
- package/src/data-converter/converters/typedoc/typedocconverter.js +2 -2
- package/src/index.js +108 -146
- package/src/tasks/build-api-docs.js +4 -4
- package/src/tasks/build-documentation.js +9 -3
- package/src/tasks/build-sdk.js +25 -9
- package/src/tasks/copy-assets.js +9 -9
- package/src/tasks/create-sym-links.js +2 -3
- package/themes/umberto/layout/{404.pug → gloria/404.pug} +1 -1
- package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/class.pug +1 -1
- package/themes/umberto/layout/gloria/_api-docs/interface.pug +10 -0
- package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/mixin.pug +1 -1
- package/themes/umberto/layout/gloria/_api-docs/module.pug +10 -0
- package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/namespace.pug +1 -1
- package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/typedef.pug +1 -1
- package/themes/umberto/layout/{_partial → gloria/_partial}/gh-contribute.pug +2 -2
- package/themes/umberto/layout/{_partial → gloria/_partial}/head.pug +2 -2
- package/themes/umberto/layout/{_partial → gloria/_partial}/search-box.pug +1 -1
- package/themes/umberto/layout/{api.pug → gloria/api.pug} +1 -1
- package/themes/umberto/layout/{base.pug → gloria/base.pug} +1 -1
- package/themes/umberto/layout/{sdk.pug → gloria/sdk.pug} +1 -1
- package/themes/umberto/layout/umberto/404.pug +22 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-see-source.pug +11 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-title.pug +17 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_api-tree-item.pug +30 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_badge.pug +17 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_class-item.pug +29 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_dev-names.pug +9 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_error.pug +23 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_fires-item.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_hierarchy-item.pug +14 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_hierarchy-list.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_link-or-text.pug +43 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_method.pug +89 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_params.pug +44 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_property.pug +51 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_related.pug +8 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_return.pug +14 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_sidebox-list-item.pug +8 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_sidebox-list.pug +8 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/_type.pug +180 -0
- package/themes/umberto/layout/umberto/_api-docs/_mixin/type-parameter.pug +18 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/api-info-box.pug +30 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/api-subheader.pug +22 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/classes.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/config-options.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/constants.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/description.pug +9 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/events.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/filter.pug +40 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/functions.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/interfaces.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/loading-spinner.pug +2 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/methods.pug +19 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/namespaces.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/navtree.pug +13 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/properties.pug +19 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/type-parameters.pug +26 -0
- package/themes/umberto/layout/umberto/_api-docs/_partial/typedefs.pug +7 -0
- package/themes/umberto/layout/umberto/_api-docs/api-base.pug +45 -0
- package/themes/umberto/layout/{_api-docs/interface.pug → umberto/_api-docs/class.pug} +1 -1
- package/themes/umberto/layout/umberto/_api-docs/errors.pug +6 -0
- package/themes/umberto/layout/umberto/_api-docs/interface.pug +10 -0
- package/themes/umberto/layout/{_api-docs/module.pug → umberto/_api-docs/mixin.pug} +1 -1
- package/themes/umberto/layout/umberto/_api-docs/module.pug +10 -0
- package/themes/umberto/layout/umberto/_api-docs/namespace.pug +10 -0
- package/themes/umberto/layout/umberto/_api-docs/typedef.pug +37 -0
- package/themes/umberto/layout/umberto/_mixin/nav-tree-item.pug +13 -0
- package/themes/umberto/layout/umberto/_mixin/nav-tree-level.pug +38 -0
- package/themes/umberto/layout/umberto/_partial/docsearch.pug +21 -0
- package/themes/umberto/layout/umberto/_partial/dropdown.pug +12 -0
- package/themes/umberto/layout/umberto/_partial/feedback-widget.pug +20 -0
- package/themes/umberto/layout/umberto/_partial/footer.pug +6 -0
- package/themes/umberto/layout/umberto/_partial/gh-contribute.pug +8 -0
- package/themes/umberto/layout/umberto/_partial/google-analytics.pug +19 -0
- package/themes/umberto/layout/umberto/_partial/google-tag-manager.pug +18 -0
- package/themes/umberto/layout/umberto/_partial/head.pug +67 -0
- package/themes/umberto/layout/umberto/_partial/header.pug +64 -0
- package/themes/umberto/layout/umberto/_partial/nav-tree.pug +9 -0
- package/themes/umberto/layout/umberto/_partial/report-issue-widget.pug +26 -0
- package/themes/umberto/layout/umberto/_partial/rwd-breadcrumbs.pug +13 -0
- package/themes/umberto/layout/umberto/_partial/search-box.pug +6 -0
- package/themes/umberto/layout/umberto/_partial/vwo.pug +11 -0
- package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-sample-item.pug +5 -0
- package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-samples.pug +7 -0
- package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-tree-item.pug +7 -0
- package/themes/umberto/layout/umberto/_sdk/_mixin/_sdk-tree-level.pug +29 -0
- package/themes/umberto/layout/umberto/_sdk/_partial/navtree.pug +4 -0
- package/themes/umberto/layout/umberto/_sdk/page.pug +23 -0
- package/themes/umberto/layout/umberto/api.pug +27 -0
- package/themes/umberto/layout/umberto/base.pug +42 -0
- package/themes/umberto/layout/umberto/index.pug +17 -0
- package/themes/umberto/layout/umberto/page.pug +28 -0
- package/themes/umberto/layout/umberto/sdk.pug +29 -0
- package/themes/umberto/source/umberto/assets/_img/info-circle.svg +4 -0
- package/themes/umberto/source/umberto/assets/_img/triangle-right.svg +1 -0
- package/themes/umberto/src/umberto/css/_api-content.scss +32 -0
- package/themes/umberto/src/umberto/css/_api-info-box.scss +86 -0
- package/themes/umberto/src/umberto/css/_api-props-filter.scss +106 -0
- package/themes/umberto/src/umberto/css/_api-see-source.scss +35 -0
- package/themes/umberto/src/umberto/css/_api-subheader.scss +167 -0
- package/themes/umberto/src/umberto/css/_api-tree.scss +121 -0
- package/themes/umberto/src/umberto/css/_badge.scss +74 -0
- package/themes/umberto/src/umberto/css/_code-switcher.scss +61 -0
- package/themes/umberto/src/umberto/css/_collapsinglist.scss +262 -0
- package/themes/umberto/src/umberto/css/_content.scss +236 -0
- package/themes/umberto/src/umberto/css/_docsearch.scss +109 -0
- package/themes/umberto/src/umberto/css/_dropdown.scss +63 -0
- package/themes/umberto/src/umberto/css/_editor-icon.scss +26 -0
- package/themes/umberto/src/umberto/css/_feedback-widget.scss +11 -0
- package/themes/umberto/src/umberto/css/_font-external.scss +8 -0
- package/themes/umberto/src/umberto/css/_footer.scss +40 -0
- package/themes/umberto/src/umberto/css/_formatted.scss +285 -0
- package/themes/umberto/src/umberto/css/_guide-content.scss +37 -0
- package/themes/umberto/src/umberto/css/_guide-sdk-tree.scss +14 -0
- package/themes/umberto/src/umberto/css/_loading-spinner.scss +33 -0
- package/themes/umberto/src/umberto/css/_main.scss +59 -0
- package/themes/umberto/src/umberto/css/_navigation.scss +35 -0
- package/themes/umberto/src/umberto/css/_notice.scss +116 -0
- package/themes/umberto/src/umberto/css/_print.scss +20 -0
- package/themes/umberto/src/umberto/css/_prism.scss +223 -0
- package/themes/umberto/src/umberto/css/_rwd-breadcrumbs.scss +28 -0
- package/themes/umberto/src/umberto/css/_rwd-menu.scss +89 -0
- package/themes/umberto/src/umberto/css/_secondary-navigation.scss +152 -0
- package/themes/umberto/src/umberto/css/_theme-dark.scss +175 -0
- package/themes/umberto/src/umberto/css/_toggler.scss +46 -0
- package/themes/umberto/src/umberto/css/_top.scss +350 -0
- package/themes/umberto/src/umberto/css/_tree.scss +218 -0
- package/themes/umberto/src/umberto/css/_warning-banner.scss +46 -0
- package/themes/umberto/src/umberto/css/components/_lightbox.scss +12 -0
- package/themes/umberto/src/umberto/css/helpers/_color.scss +49 -0
- package/themes/umberto/src/umberto/css/helpers/_font.scss +60 -0
- package/themes/umberto/src/umberto/css/helpers/_globals.scss +129 -0
- package/themes/umberto/src/umberto/css/helpers/_reset.scss +52 -0
- package/themes/umberto/src/umberto/css/helpers/_spacing.scss +21 -0
- package/themes/umberto/src/umberto/css/pages/_sdk.scss +111 -0
- package/themes/umberto/src/umberto/css/styles.scss +117 -0
- package/themes/umberto/src/umberto/js/_anchors.js +57 -0
- package/themes/umberto/src/umberto/js/_apisearch.js +126 -0
- package/themes/umberto/src/umberto/js/_apitree.js +67 -0
- package/themes/umberto/src/umberto/js/_attachpermalinklistener.js +50 -0
- package/themes/umberto/src/umberto/js/_codeswitcherbuttons.js +146 -0
- package/themes/umberto/src/umberto/js/_collapsables.js +135 -0
- package/themes/umberto/src/umberto/js/_copymobileapinavigation.js +26 -0
- package/themes/umberto/src/umberto/js/_devnames.js +37 -0
- package/themes/umberto/src/umberto/js/_dropdowns.js +55 -0
- package/themes/umberto/src/umberto/js/_filtering.js +139 -0
- package/themes/umberto/src/umberto/js/_imageModal.js +16 -0
- package/themes/umberto/src/umberto/js/_pagenavigation.js +93 -0
- package/themes/umberto/src/umberto/js/_prism.js +104 -0
- package/themes/umberto/src/umberto/js/_rwdmenu.js +15 -0
- package/themes/umberto/src/umberto/js/_samplecode.js +23 -0
- package/themes/umberto/src/umberto/js/_sidenavigation.js +59 -0
- package/themes/umberto/src/umberto/js/_toc.js +93 -0
- package/themes/umberto/src/umberto/js/_tooltips.js +39 -0
- package/themes/umberto/src/umberto/js/_warningbanner.js +18 -0
- package/themes/umberto/src/umberto/js/app.js +70 -0
- package/themes/umberto/src/umberto/js/vendor/prism.js +45 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-see-source.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-title.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_api-tree-item.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_badge.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_class-item.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_dev-names.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_error.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_fires-item.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_hierarchy-item.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_hierarchy-list.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_link-or-text.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_method.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_params.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_property.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_related.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_return.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_sidebox-list-item.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_sidebox-list.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/_type.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_mixin/type-parameter.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/api-info-box.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/api-subheader.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/classes.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/config-options.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/constants.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/description.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/events.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/filter.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/functions.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/interfaces.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/loading-spinner.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/methods.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/namespaces.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/navtree.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/properties.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/type-parameters.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/_partial/typedefs.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/api-base.pug +0 -0
- /package/themes/umberto/layout/{_api-docs → gloria/_api-docs}/errors.pug +0 -0
- /package/themes/umberto/layout/{_mixin → gloria/_mixin}/nav-tree-item.pug +0 -0
- /package/themes/umberto/layout/{_mixin → gloria/_mixin}/nav-tree-level.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/docsearch.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/dropdown.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/feedback-widget.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/footer.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/google-analytics.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/google-tag-manager.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/header.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/nav-tree.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/report-issue-widget.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/rwd-breadcrumbs.pug +0 -0
- /package/themes/umberto/layout/{_partial → gloria/_partial}/vwo.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-sample-item.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-samples.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-tree-item.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_mixin/_sdk-tree-level.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/_partial/navtree.pug +0 -0
- /package/themes/umberto/layout/{_sdk → gloria/_sdk}/page.pug +0 -0
- /package/themes/umberto/layout/{index.pug → gloria/index.pug} +0 -0
- /package/themes/umberto/layout/{page.pug → gloria/page.pug} +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/arrows.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/book.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-brown.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-orange.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/box-red.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/bulb.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/clipboard.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/cog.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/data.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/documentation.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/download.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/edit.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/exclamation-circle.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/eye.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/filter.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/filtering.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/folder.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/github.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-configs.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-events.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-methods.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/header-info-properties.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/heart.svg +0 -0
- /package/themes/umberto/source/{assets → gloria/assets}/_img/info-circle.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/info.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/list-nest.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/loupe.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/menu.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/plug.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/star-in-circle.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/tick.svg +0 -0
- /package/themes/{nova/source → umberto/source/gloria}/assets/_img/triangle-down.svg +0 -0
- /package/themes/umberto/source/{assets → gloria/assets}/_img/triangle-right.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/arrows.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/book.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/box-brown.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/box-orange.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/box-red.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/bulb.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/clipboard.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/cog.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/data.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/documentation.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/download.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/edit.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/exclamation-circle.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/eye.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/filter.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/filtering.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/folder.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/github.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-configs.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-events.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-methods.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/header-info-properties.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/heart.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/info.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/list-nest.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/loupe.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/menu.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/plug.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/star-in-circle.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/tick.svg +0 -0
- /package/themes/umberto/source/{assets → umberto/assets}/_img/triangle-down.svg +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-content.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-info-box.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-props-filter.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-see-source.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-subheader.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_api-tree.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_badge.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_code-switcher.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_collapsinglist.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_content.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_docsearch.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_dropdown.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_editor-icon.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_feedback-widget.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_font-external.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_footer.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_formatted.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_guide-content.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_guide-sdk-tree.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_loading-spinner.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_main.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_navigation.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_notice.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_print.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_prism.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_rwd-breadcrumbs.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_rwd-menu.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_secondary-navigation.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_theme-dark.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_toggler.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_top.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_tree.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/_warning-banner.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/components/_lightbox.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/helpers/_color.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/helpers/_font.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/helpers/_globals.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/helpers/_reset.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/helpers/_spacing.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/pages/_sdk.scss +0 -0
- /package/themes/umberto/src/{css → gloria/css}/styles.scss +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_anchors.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_apisearch.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_apitree.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_attachpermalinklistener.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_codeswitcherbuttons.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_collapsables.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_copymobileapinavigation.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_devnames.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_dropdowns.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_filtering.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_imageModal.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_pagenavigation.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_prism.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_rwdmenu.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_samplecode.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_sidenavigation.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_toc.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_tooltips.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/_warningbanner.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/app.js +0 -0
- /package/themes/umberto/src/{js → gloria/js}/vendor/prism.js +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
/**
|
|
10
|
+
* Expands corresponding API tree item on navigation tree when viewing a page.
|
|
11
|
+
*/
|
|
12
|
+
export function expandApiTree() {
|
|
13
|
+
const activeTreeItemClass = 'tree__item__wrapper--active';
|
|
14
|
+
const togglerExpandedClass = 'toggler--expanded';
|
|
15
|
+
const togglerCollapsedClass = 'toggler--collapsed';
|
|
16
|
+
const pageIdentifier = $( 'h1' ).data( 'ln' );
|
|
17
|
+
|
|
18
|
+
if ( !pageIdentifier ) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const apiTree = $( 'ul.api-tree' );
|
|
23
|
+
|
|
24
|
+
if ( apiTree.length === 0 ) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const currentTreeItem = apiTree.find( `div[data-ln="${ pageIdentifier }"]` );
|
|
29
|
+
currentTreeItem.addClass( activeTreeItemClass );
|
|
30
|
+
currentTreeItem.parents( '.api-tree li[class*="toggler--"]' ).removeClass( togglerCollapsedClass ).addClass( togglerExpandedClass );
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Scrolls API navigation tree to currently viewed page.
|
|
35
|
+
*/
|
|
36
|
+
export function scrollApiTree() {
|
|
37
|
+
if ( $( '.side-navigation' ).length === 0 ) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const tree = $( '.side-navigation__inner' );
|
|
42
|
+
const treeHeight = tree.height();
|
|
43
|
+
const storageKey = 'side-nav-scroll-top';
|
|
44
|
+
const sideNavScrollTop = Number( window.localStorage.getItem( storageKey ) );
|
|
45
|
+
const activeTreeItemClass = 'tree__item__wrapper--active';
|
|
46
|
+
const activeTreeItem = $( `div.side-navigation .${ activeTreeItemClass }` );
|
|
47
|
+
let activeTreeItemTop = 0;
|
|
48
|
+
const bound = 50; // Offset from top and bottom of side nav.
|
|
49
|
+
|
|
50
|
+
if ( activeTreeItem.length ) {
|
|
51
|
+
activeTreeItemTop = activeTreeItem[ 0 ].offsetParent ? activeTreeItem[ 0 ].offsetParent.offsetTop : 0;
|
|
52
|
+
|
|
53
|
+
if (
|
|
54
|
+
sideNavScrollTop !== null &&
|
|
55
|
+
activeTreeItemTop > sideNavScrollTop + bound &&
|
|
56
|
+
activeTreeItemTop < sideNavScrollTop + treeHeight - bound
|
|
57
|
+
) {
|
|
58
|
+
tree.scrollTop( sideNavScrollTop );
|
|
59
|
+
} else {
|
|
60
|
+
activeTreeItem[ 0 ].scrollIntoView( { block: 'center' } );
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
tree.scroll( throttle( () => {
|
|
65
|
+
window.localStorage.setItem( storageKey, tree.scrollTop() );
|
|
66
|
+
}, 200 ) );
|
|
67
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 attachPermalinkListener() {
|
|
7
|
+
const projectVersionElement = document.querySelector( 'meta[name=project-version]' );
|
|
8
|
+
const projectSlugElement = document.querySelector( 'meta[name=project-slug]' );
|
|
9
|
+
|
|
10
|
+
if ( !projectVersionElement || !projectSlugElement ) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const permalinkDisableDomainsElement = document.querySelector( 'meta[name=permalink-disable-domains]' );
|
|
15
|
+
|
|
16
|
+
if ( permalinkDisableDomainsElement ) {
|
|
17
|
+
const permalinkDisableDomains = permalinkDisableDomainsElement.getAttribute( 'content' ).split( ',' );
|
|
18
|
+
|
|
19
|
+
if ( permalinkDisableDomains.includes( location.hostname ) ) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const projectVersion = projectVersionElement.getAttribute( 'content' );
|
|
25
|
+
const projectSlug = projectSlugElement.getAttribute( 'content' );
|
|
26
|
+
|
|
27
|
+
document.addEventListener( 'keypress', event => {
|
|
28
|
+
if ( event.metaKey ) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if ( event.shiftKey ) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if ( event.key.toUpperCase() !== 'Y' ) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const latestRegexp = new RegExp( `/${ projectSlug }/latest/` );
|
|
41
|
+
|
|
42
|
+
if ( !latestRegexp.test( location.href ) ) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const newUrl = location.href.replace( latestRegexp, `/${ projectSlug }/${ projectVersion }/` );
|
|
47
|
+
|
|
48
|
+
history.replaceState( history.state, document.title, newUrl );
|
|
49
|
+
} );
|
|
50
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
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
|
+
const type = {
|
|
9
|
+
selfHosted: 'selfhosted',
|
|
10
|
+
cloud: 'cloud'
|
|
11
|
+
};
|
|
12
|
+
const storageSwitcherKey = 'code-switcher-type';
|
|
13
|
+
const buttonClass = 'code-switcher__button';
|
|
14
|
+
const buttonActiveClass = 'code-switcher__button--active';
|
|
15
|
+
const codeSwitcherClass = 'code-switcher';
|
|
16
|
+
const codeSwitcherToolbarClass = 'code-switcher__toolbar';
|
|
17
|
+
|
|
18
|
+
function switchSnippetContent( originalSnippetContent, newType ) {
|
|
19
|
+
let newSnippetContent;
|
|
20
|
+
const gplComment = ' // Or \'GPL\'.';
|
|
21
|
+
const licenseKey = 'licenseKey: \'<YOUR_LICENSE_KEY>\',';
|
|
22
|
+
|
|
23
|
+
if ( newType === type.cloud ) {
|
|
24
|
+
newSnippetContent = originalSnippetContent
|
|
25
|
+
.replace( /import {/g, 'const {' )
|
|
26
|
+
.replace( /} from/g, '} =' )
|
|
27
|
+
.replace( /'ckeditor5';/g, 'CKEDITOR;' )
|
|
28
|
+
.replace( /'ckeditor5-premium-features'/g, 'CKEDITOR_PREMIUM_FEATURES' )
|
|
29
|
+
.replace( `${ licenseKey }${ gplComment }`, licenseKey );
|
|
30
|
+
} else if ( newType === type.selfHosted ) {
|
|
31
|
+
newSnippetContent = originalSnippetContent
|
|
32
|
+
.replace( /const {/g, 'import {' )
|
|
33
|
+
.replace( /} =/g, '} from' )
|
|
34
|
+
.replace( /CKEDITOR;/g, '\'ckeditor5\';' )
|
|
35
|
+
.replace( /CKEDITOR_PREMIUM_FEATURES/g, '\'ckeditor5-premium-features\'' )
|
|
36
|
+
.replace( licenseKey, ( match, _, wholeString ) => {
|
|
37
|
+
if ( wholeString.includes( gplComment ) ) {
|
|
38
|
+
return match;
|
|
39
|
+
} else {
|
|
40
|
+
return `${ match }${ gplComment }`;
|
|
41
|
+
}
|
|
42
|
+
} );
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return newSnippetContent;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function switchSnippet( switcher, newType ) {
|
|
49
|
+
const codeElement = switcher.querySelector( 'pre code' );
|
|
50
|
+
|
|
51
|
+
codeElement.textContent = switchSnippetContent( codeElement.textContent, newType );
|
|
52
|
+
window.Prism.highlightElement( codeElement );
|
|
53
|
+
|
|
54
|
+
const switcherClasses = switcher.classList;
|
|
55
|
+
|
|
56
|
+
switcher.classList.replace( switcherClasses[ switcherClasses.length - 1 ], newType );
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function saveSnippetType( type ) {
|
|
60
|
+
if ( type === getSnippetType() ) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
localStorage.setItem( storageSwitcherKey, type );
|
|
65
|
+
window.dispatchEvent( new Event( 'storage' ) );
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function getSnippetType() {
|
|
69
|
+
return localStorage.getItem( storageSwitcherKey );
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function createButton( label, isActive = false ) {
|
|
73
|
+
const button = document.createElement( 'button' );
|
|
74
|
+
|
|
75
|
+
button.textContent = label;
|
|
76
|
+
button.classList.add( buttonClass );
|
|
77
|
+
|
|
78
|
+
if ( isActive ) {
|
|
79
|
+
button.classList.add( buttonActiveClass );
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return button;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function createCodeSwitcherButtons() {
|
|
86
|
+
const switchers = document.querySelectorAll( `.${ codeSwitcherClass }` );
|
|
87
|
+
|
|
88
|
+
if ( switchers.lenght === 0 ) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const savedType = getSnippetType();
|
|
93
|
+
|
|
94
|
+
switchers.forEach( switcher => {
|
|
95
|
+
if ( savedType ) {
|
|
96
|
+
switchSnippet( switcher, savedType );
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const activeType = switcher.classList[ switcher.classList.length - 1 ];
|
|
100
|
+
|
|
101
|
+
const selfHostedButton = createButton( 'Self-hosted (npm)', activeType === type.selfHosted );
|
|
102
|
+
|
|
103
|
+
selfHostedButton.setAttribute( 'title', 'Self-hosted shows imports for installations using npm or ZIP setups.' );
|
|
104
|
+
|
|
105
|
+
const cloudButton = createButton( 'Cloud (CDN)', activeType === type.cloud );
|
|
106
|
+
|
|
107
|
+
cloudButton.setAttribute( 'title', 'Cloud shows imports for installations using CDN setups.' );
|
|
108
|
+
|
|
109
|
+
const switcherToolbar = switcher.querySelector( `.${ codeSwitcherToolbarClass }` );
|
|
110
|
+
|
|
111
|
+
switcherToolbar.append( selfHostedButton );
|
|
112
|
+
switcherToolbar.append( cloudButton );
|
|
113
|
+
switcher.prepend( switcherToolbar );
|
|
114
|
+
|
|
115
|
+
window.addEventListener( 'storage', () => {
|
|
116
|
+
const savedType = getSnippetType();
|
|
117
|
+
|
|
118
|
+
if ( savedType ) {
|
|
119
|
+
switchSnippet( switcher, savedType );
|
|
120
|
+
|
|
121
|
+
if ( savedType === type.selfHosted ) {
|
|
122
|
+
selfHostedButton.classList.add( buttonActiveClass );
|
|
123
|
+
cloudButton.classList.remove( buttonActiveClass );
|
|
124
|
+
} else if ( savedType === type.cloud ) {
|
|
125
|
+
cloudButton.classList.add( buttonActiveClass );
|
|
126
|
+
selfHostedButton.classList.remove( buttonActiveClass );
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
} );
|
|
130
|
+
|
|
131
|
+
selfHostedButton.addEventListener( 'click', () => {
|
|
132
|
+
saveSnippetType( type.selfHosted );
|
|
133
|
+
} );
|
|
134
|
+
cloudButton.addEventListener( 'click', () => {
|
|
135
|
+
saveSnippetType( type.cloud );
|
|
136
|
+
} );
|
|
137
|
+
} );
|
|
138
|
+
|
|
139
|
+
/* eslint-disable max-len */
|
|
140
|
+
const infoCircle = $( `
|
|
141
|
+
<svg class="code-switcher__info" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
142
|
+
<path d="M6 0.75C3.10078 0.75 0.75 3.10078 0.75 6C0.75 8.89922 3.10078 11.25 6 11.25C8.89922 11.25 11.25 8.89922 11.25 6C11.25 3.10078 8.89922 0.75 6 0.75ZM6 10.3594C3.59297 10.3594 1.64063 8.40703 1.64063 6C1.64063 3.59297 3.59297 1.64063 6 1.64063C8.40703 1.64063 10.3594 3.59297 10.3594 6C10.3594 8.40703 8.40703 10.3594 6 10.3594Z" fill="white"/>
|
|
143
|
+
<path d="M5.43732 3.9375C5.43732 4.08668 5.49658 4.22976 5.60207 4.33525C5.70756 4.44074 5.85063 4.5 5.99982 4.5C6.149 4.5 6.29207 4.44074 6.39756 4.33525C6.50305 4.22976 6.56232 4.08668 6.56232 3.9375C6.56232 3.78832 6.50305 3.64524 6.39756 3.53975C6.29207 3.43426 6.149 3.375 5.99982 3.375C5.85063 3.375 5.70756 3.43426 5.60207 3.53975C5.49658 3.64524 5.43732 3.78832 5.43732 3.9375ZM6.28107 5.25H5.71857C5.667 5.25 5.62482 5.29219 5.62482 5.34375V8.53125C5.62482 8.58281 5.667 8.625 5.71857 8.625H6.28107C6.33263 8.625 6.37482 8.58281 6.37482 8.53125V5.34375C6.37482 5.29219 6.33263 5.25 6.28107 5.25Z" fill="white"/>
|
|
144
|
+
</svg>` );
|
|
145
|
+
infoCircle.appendTo( `.${ buttonClass }` );
|
|
146
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
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
|
+
const classExp = 'toggler--expanded';
|
|
9
|
+
const classCol = 'toggler--collapsed';
|
|
10
|
+
|
|
11
|
+
export function enableCollapsables() {
|
|
12
|
+
enableCollapsable( {
|
|
13
|
+
selector: '.tree li[class*="toggler--"]',
|
|
14
|
+
nodeElement: 'li',
|
|
15
|
+
dontToggleClass: 'tree__item__text',
|
|
16
|
+
|
|
17
|
+
collapsedClass: classCol,
|
|
18
|
+
expandedClass: classExp
|
|
19
|
+
} );
|
|
20
|
+
|
|
21
|
+
enableCollapsable( {
|
|
22
|
+
selector: '.collapsing-list__term[class*="toggler--"]',
|
|
23
|
+
nodeElement: '.collapsing-list__term',
|
|
24
|
+
dontToggleClass: [ 'collapsing-list__type', 'collapsing-list__dev-names--active' ],
|
|
25
|
+
|
|
26
|
+
collapsedClass: classCol,
|
|
27
|
+
expandedClass: classExp
|
|
28
|
+
} );
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function enableCollapsable( options ) {
|
|
32
|
+
$( options.selector ).on( 'click', function( evt ) {
|
|
33
|
+
const clicked = $( this );
|
|
34
|
+
const target = $( evt.target );
|
|
35
|
+
const parentNode = target.closest( options.nodeElement );
|
|
36
|
+
|
|
37
|
+
if ( parentNode.is( options.selector ) ) {
|
|
38
|
+
if ( hasClassFrom( target, 'hidden' ) || hasClassFrom( target.parent(), 'hidden' ) ) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ( ( target.is( 'a' ) || target.is( 'code' ) ) && hasClassFrom( target, options.dontToggleClass ) ) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
clicked.toggleClass( `${ options.expandedClass } ${ options.collapsedClass }` );
|
|
47
|
+
evt.stopPropagation();
|
|
48
|
+
}
|
|
49
|
+
} );
|
|
50
|
+
|
|
51
|
+
function hasClassFrom( target, classArray ) {
|
|
52
|
+
let ret = false;
|
|
53
|
+
if ( typeof classArray === 'string' ) {
|
|
54
|
+
return target.hasClass( classArray );
|
|
55
|
+
}
|
|
56
|
+
classArray.forEach( cls => {
|
|
57
|
+
if ( target.hasClass( cls ) ) {
|
|
58
|
+
ret = true;
|
|
59
|
+
}
|
|
60
|
+
} );
|
|
61
|
+
return ret;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function hideTogglers() {
|
|
66
|
+
$( '.collapsing-list__item' ).each( function() {
|
|
67
|
+
const item = $( this );
|
|
68
|
+
const excerpt = item.find( '.collapsing-list__excerpt' );
|
|
69
|
+
const hasExcerpt = excerpt.length > 0;
|
|
70
|
+
|
|
71
|
+
if ( hasExcerpt ) {
|
|
72
|
+
hideTogglersWithExcerpts( item );
|
|
73
|
+
} else {
|
|
74
|
+
hideTogglersWithoutExcerpts( item );
|
|
75
|
+
}
|
|
76
|
+
} );
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function hideTogglersWithoutExcerpts( item ) {
|
|
80
|
+
const hasDescription = item.find( '.collapsing-list__description' ).length > 0;
|
|
81
|
+
|
|
82
|
+
// Items without description have no togglers in the first place.
|
|
83
|
+
if ( !hasDescription ) {
|
|
84
|
+
const term = item.children( '.collapsing-list__term' );
|
|
85
|
+
term.addClass( 'collapsing-list__term--no-excerpt' );
|
|
86
|
+
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Check whether there is any content in the extended description.
|
|
91
|
+
const hasContent = item.find( '.collapsing-list__content' ).text().trim().length > 0;
|
|
92
|
+
|
|
93
|
+
// Check whether there is a link to the source code.
|
|
94
|
+
const hasSourceLink = item.find( '.see-source' ).length > 0;
|
|
95
|
+
|
|
96
|
+
// If none of the criteria above is met, toggler is not needed and can be hidden away.
|
|
97
|
+
if ( !hasContent && !hasSourceLink ) {
|
|
98
|
+
hideTogglerForItem( item );
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function hideTogglersWithExcerpts( item ) {
|
|
103
|
+
const isExcerptShort = item.find( '.collapsing-list__excerpt--short' ).length > 0;
|
|
104
|
+
|
|
105
|
+
// Short excerpts have no togglers in the first place.
|
|
106
|
+
if ( isExcerptShort ) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Check whether short description is cut off by an ellipsis due to available space being too narrow.
|
|
111
|
+
const excerptParagraph = item.find( '.collapsing-list__excerpt p' );
|
|
112
|
+
// Some elements have no short description, eg.:
|
|
113
|
+
// api/module_basic-styles_attributecommand-AttributeCommand.html#function-constructor
|
|
114
|
+
const excerptHasEllipsis = !excerptParagraph.length ? false :
|
|
115
|
+
Math.abs( excerptParagraph[ 0 ].clientWidth - excerptParagraph[ 0 ].scrollWidth ) > 0;
|
|
116
|
+
|
|
117
|
+
// Check whether there is any content in the extended description.
|
|
118
|
+
const hasContent = item.find( '.collapsing-list__content' ).text().trim().length > 0;
|
|
119
|
+
|
|
120
|
+
// Check whether there is a link to the source code.
|
|
121
|
+
const hasSourceLink = item.find( '.see-source' ).length > 0;
|
|
122
|
+
|
|
123
|
+
// If none of the criteria above is met, toggler is not needed and can be hidden away.
|
|
124
|
+
if ( !excerptHasEllipsis && !hasContent && !hasSourceLink ) {
|
|
125
|
+
hideTogglerForItem( item );
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function hideTogglerForItem( item ) {
|
|
130
|
+
const term = item.children( '.collapsing-list__term' );
|
|
131
|
+
|
|
132
|
+
term.removeClass( classCol );
|
|
133
|
+
term.addClass( classExp );
|
|
134
|
+
term.addClass( 'hidden' );
|
|
135
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 copyMobileApiNavigation() {
|
|
7
|
+
// First check if it is API page.
|
|
8
|
+
const apiTree = document.querySelector( '.side-navigation__inner--api' );
|
|
9
|
+
|
|
10
|
+
if ( !apiTree ) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Check current project.
|
|
15
|
+
const currentProject = document.querySelector( 'header.top' ).dataset.project;
|
|
16
|
+
|
|
17
|
+
// copy there API tree
|
|
18
|
+
const mobileApiMenu = document.querySelector(
|
|
19
|
+
`.header__menu-rwd__projects li[ data-project=${ currentProject } ] li[ data-group=api-reference ]`
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
// Clone HTML Element with API Tree.
|
|
23
|
+
const clonedApiTree = apiTree.firstElementChild.cloneNode( true );
|
|
24
|
+
|
|
25
|
+
mobileApiMenu.appendChild( clonedApiTree );
|
|
26
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 activateDevNames() {
|
|
7
|
+
const elements = Array.from( document.querySelectorAll( '.collapsing-list__dev-names > code' ) );
|
|
8
|
+
const clsName = 'collapsing-list__dev-names--active';
|
|
9
|
+
const lsDevName = 'umberto:devnames';
|
|
10
|
+
|
|
11
|
+
document.addEventListener( 'keypress', evt => {
|
|
12
|
+
if ( !evt.shiftKey || evt.key.toUpperCase() !== 'D' ) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
toggleDevNames( elements );
|
|
16
|
+
} );
|
|
17
|
+
|
|
18
|
+
if ( window.localStorage.getItem( lsDevName ) === 'true' ) {
|
|
19
|
+
elements.forEach( element => {
|
|
20
|
+
element.classList.add( clsName );
|
|
21
|
+
} );
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function toggleDevNames( elements ) {
|
|
25
|
+
if ( window.localStorage.getItem( lsDevName ) === 'true' ) {
|
|
26
|
+
elements.forEach( element => {
|
|
27
|
+
element.classList.remove( clsName );
|
|
28
|
+
} );
|
|
29
|
+
window.localStorage.setItem( lsDevName, 'false' );
|
|
30
|
+
} else {
|
|
31
|
+
elements.forEach( element => {
|
|
32
|
+
element.classList.add( clsName );
|
|
33
|
+
} );
|
|
34
|
+
window.localStorage.setItem( lsDevName, 'true' );
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
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 function enableDropdowns() {
|
|
9
|
+
const activeClass = 'dropdown--active';
|
|
10
|
+
const doc = $( document );
|
|
11
|
+
|
|
12
|
+
$( '.dropdown__button' ).each( function( index, button ) {
|
|
13
|
+
const dropdown = $( button ).parent();
|
|
14
|
+
|
|
15
|
+
$( button ).on( 'click', toggleDropdown );
|
|
16
|
+
|
|
17
|
+
function startListening() {
|
|
18
|
+
doc.on( 'click', closeDropdownOnClick );
|
|
19
|
+
doc.on( 'keyup', closeDropdownOnEsc );
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function stopListening() {
|
|
23
|
+
doc.off( 'click', closeDropdownOnClick );
|
|
24
|
+
doc.off( 'keyup', closeDropdownOnEsc );
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function closeDropdownOnClick( evt ) {
|
|
28
|
+
const target = evt.target;
|
|
29
|
+
|
|
30
|
+
if ( !( dropdown.has( target ).length || dropdown.is( target ) ) ) {
|
|
31
|
+
dropdown.removeClass( activeClass );
|
|
32
|
+
|
|
33
|
+
stopListening();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function closeDropdownOnEsc( evt ) {
|
|
38
|
+
if ( evt.keyCode === 27 ) {
|
|
39
|
+
dropdown.removeClass( activeClass );
|
|
40
|
+
|
|
41
|
+
stopListening();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function toggleDropdown() {
|
|
46
|
+
dropdown.toggleClass( activeClass );
|
|
47
|
+
|
|
48
|
+
if ( dropdown.hasClass( activeClass ) ) {
|
|
49
|
+
startListening();
|
|
50
|
+
} else {
|
|
51
|
+
stopListening();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
} );
|
|
55
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
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 function enableFiltering() {
|
|
9
|
+
const storagePrefix = 'filtering:props:';
|
|
10
|
+
const filterStorageKeys = {
|
|
11
|
+
public: storagePrefix + 'public',
|
|
12
|
+
inherited: storagePrefix + 'inherited',
|
|
13
|
+
internal: storagePrefix + 'internal',
|
|
14
|
+
protected: storagePrefix + 'protected',
|
|
15
|
+
private: storagePrefix + 'private',
|
|
16
|
+
deprecated: storagePrefix + 'deprecated',
|
|
17
|
+
tree: 'filtering:tree'
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
enablePropertiesFiltering();
|
|
21
|
+
enableTreeFiltering();
|
|
22
|
+
|
|
23
|
+
function enablePropertiesFiltering() {
|
|
24
|
+
$( '.api-props-filter input' )
|
|
25
|
+
.on( 'change', applyFilterConfig )
|
|
26
|
+
.on( 'change', saveFilterSetting );
|
|
27
|
+
|
|
28
|
+
function getFilterConfig() {
|
|
29
|
+
return $( '.api-props-filter input' ).map( function( index, domInput ) {
|
|
30
|
+
if ( domInput.checked ) {
|
|
31
|
+
return $( domInput ).val();
|
|
32
|
+
}
|
|
33
|
+
} );
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function applyFilterConfig() {
|
|
37
|
+
const cfg = getFilterConfig().toArray();
|
|
38
|
+
const visibleClass = 'collapsing-list__item--visible';
|
|
39
|
+
const hiddenLoadingClass = 'hidden-loading';
|
|
40
|
+
const emptyClass = 'collapsing-list--empty';
|
|
41
|
+
const firstItemClass = 'collapsing-list__item--first';
|
|
42
|
+
const dropdownHiddenClass = 'api-subheader__navigation-dropdown--hidden';
|
|
43
|
+
|
|
44
|
+
$( '.loading' ).addClass( hiddenLoadingClass );
|
|
45
|
+
$( `.main__content--api .${ hiddenLoadingClass }:not(.loading)` ).removeClass( hiddenLoadingClass );
|
|
46
|
+
|
|
47
|
+
$( `.collapsing-list__item.${ visibleClass }` ).removeClass( `${ visibleClass } ${ firstItemClass }` );
|
|
48
|
+
$( '.collapsing-list' ).removeClass( emptyClass );
|
|
49
|
+
|
|
50
|
+
$( '.collapsing-list__item' ).each( function() {
|
|
51
|
+
const data = $( this ).data();
|
|
52
|
+
|
|
53
|
+
for ( const key in data ) {
|
|
54
|
+
if ( Object.prototype.hasOwnProperty.call( data, key ) && data[ key ] === true && cfg.indexOf( key ) === -1 ) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
$( this ).addClass( visibleClass );
|
|
60
|
+
} );
|
|
61
|
+
|
|
62
|
+
$( '.collapsing-list' ).filter( function() {
|
|
63
|
+
return $( this ).children( ':visible' ).length === 0;
|
|
64
|
+
} ).each( function() {
|
|
65
|
+
$( this ).addClass( emptyClass );
|
|
66
|
+
} );
|
|
67
|
+
|
|
68
|
+
$( '.collapsing-list' ).each( function() {
|
|
69
|
+
$( this ).children( ':visible' ).first().addClass( firstItemClass );
|
|
70
|
+
} );
|
|
71
|
+
|
|
72
|
+
$( `.api-subheader__navigation-dropdown > li.${ dropdownHiddenClass }` ).removeClass( dropdownHiddenClass );
|
|
73
|
+
$( '.api-subheader__navigation-dropdown > li' ).each( function() {
|
|
74
|
+
const data = $( this ).data();
|
|
75
|
+
for ( const key in data ) {
|
|
76
|
+
if ( Object.prototype.hasOwnProperty.call( data, key ) && data[ key ] === true && cfg.indexOf( key ) === -1 ) {
|
|
77
|
+
$( this ).addClass( dropdownHiddenClass );
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
} );
|
|
81
|
+
|
|
82
|
+
// Refresh dropdown classes and visibility
|
|
83
|
+
window.umberto.updateDropdowns();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function saveFilterSetting() {
|
|
87
|
+
const type = $( this ).val();
|
|
88
|
+
const checked = $( this ).prop( 'checked' );
|
|
89
|
+
|
|
90
|
+
window.localStorage.setItem( filterStorageKeys[ type ], checked );
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function applySavedFilterSettings() {
|
|
94
|
+
$( '.api-props-filter input' ).each( function() {
|
|
95
|
+
const type = $( this ).val();
|
|
96
|
+
const stored = window.localStorage.getItem( filterStorageKeys[ type ] );
|
|
97
|
+
|
|
98
|
+
if ( stored !== null ) {
|
|
99
|
+
$( this ).prop( 'checked', JSON.parse( stored ) );
|
|
100
|
+
}
|
|
101
|
+
} );
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
applySavedFilterSettings();
|
|
105
|
+
applyFilterConfig();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function enableTreeFiltering() {
|
|
109
|
+
const input = $( '.api-tree__filter input' );
|
|
110
|
+
const showPrivateClass = 'api-tree--show-private';
|
|
111
|
+
const tree = $( '.api-tree' );
|
|
112
|
+
const stored = window.localStorage.getItem( filterStorageKeys.tree );
|
|
113
|
+
|
|
114
|
+
if ( input && input.length === 0 ) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
input
|
|
119
|
+
.on( 'change', applyTreeFilter )
|
|
120
|
+
.on( 'change', function() {
|
|
121
|
+
const checked = $( this ).prop( 'checked' );
|
|
122
|
+
window.localStorage.setItem( filterStorageKeys.tree, checked );
|
|
123
|
+
} );
|
|
124
|
+
|
|
125
|
+
function applyTreeFilter() {
|
|
126
|
+
if ( input.get( 0 ).checked ) {
|
|
127
|
+
tree.addClass( showPrivateClass );
|
|
128
|
+
} else {
|
|
129
|
+
tree.removeClass( showPrivateClass );
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if ( stored !== null ) {
|
|
134
|
+
input.prop( 'checked', JSON.parse( stored ) );
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
applyTreeFilter();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 mediumZoom from 'medium-zoom';
|
|
7
|
+
|
|
8
|
+
export default function imageModal() {
|
|
9
|
+
const lightboxImages = document.querySelectorAll( '[data-lightbox]' );
|
|
10
|
+
|
|
11
|
+
if ( !lightboxImages ) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
mediumZoom( lightboxImages );
|
|
16
|
+
}
|