├── .gitignore ├── .htaccess ├── LICENSE ├── README.md ├── composer.json ├── composer.lock ├── core ├── .htaccess ├── admin │ ├── addons │ │ ├── Admin.php │ │ └── Authentication.php │ ├── config.yml │ ├── pages │ │ ├── config.php │ │ ├── index.php │ │ ├── login.php │ │ ├── logout.php │ │ └── pages.php │ └── template.php └── src │ └── Shaack │ ├── Htpasswd.php │ ├── Logger.php │ ├── Reboot │ ├── AddOn.php │ ├── Block.php │ ├── Page.php │ ├── Reboot.php │ ├── Request.php │ └── Site.php │ └── Utils │ ├── FileSystemUtils.php │ └── HttpUtils.php ├── local ├── .htaccess ├── .htpasswd └── config.yml ├── site ├── addons │ └── ExampleAddOn.php ├── blocks │ ├── cards.php │ ├── hero.php │ ├── text-image.php │ ├── text.php │ └── three-columns.php ├── config.yml ├── pages │ ├── 404.md │ ├── documentation.php │ ├── index.md │ └── testpages │ │ ├── all-blocks.md │ │ ├── cards.md │ │ ├── empty.md │ │ ├── index.php │ │ ├── page-with-frontmatter.md │ │ ├── tmp.md │ │ └── unknown-block.md └── template.php ├── vendor ├── autoload.php ├── composer │ ├── ClassLoader.php │ ├── InstalledVersions.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── autoload_files.php │ ├── autoload_namespaces.php │ ├── autoload_psr4.php │ ├── autoload_real.php │ ├── autoload_static.php │ ├── installed.json │ ├── installed.php │ └── platform_check.php ├── erusev │ └── parsedown │ │ ├── LICENSE.txt │ │ ├── Parsedown.php │ │ ├── README.md │ │ └── composer.json ├── symfony │ ├── polyfill-ctype │ │ ├── Ctype.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bootstrap.php │ │ ├── bootstrap80.php │ │ └── composer.json │ └── yaml │ │ ├── CHANGELOG.md │ │ ├── Command │ │ └── LintCommand.php │ │ ├── Dumper.php │ │ ├── Escaper.php │ │ ├── Exception │ │ ├── DumpException.php │ │ ├── ExceptionInterface.php │ │ ├── ParseException.php │ │ └── RuntimeException.php │ │ ├── Inline.php │ │ ├── LICENSE │ │ ├── Parser.php │ │ ├── README.md │ │ ├── Tag │ │ └── TaggedValue.php │ │ ├── Unescaper.php │ │ ├── Yaml.php │ │ └── composer.json └── whitehat101 │ └── apr1-md5 │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── phpunit.xml │ ├── src │ └── APR1_MD5.php │ └── tests │ ├── APR1_MD5_CheckTest.php │ ├── APR1_MD5_HashTest.php │ └── APR1_MD5_SaltTest.php └── web ├── .htaccess ├── admin ├── .htaccess ├── assets │ ├── screen.css │ ├── screen.css.map │ └── screen.scss ├── index.php ├── node_modules │ ├── .package-lock.json │ ├── @popperjs │ │ └── core │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── dist │ │ │ ├── cjs │ │ │ │ ├── enums.js │ │ │ │ ├── enums.js.flow │ │ │ │ ├── enums.js.map │ │ │ │ ├── popper-base.js │ │ │ │ ├── popper-base.js.flow │ │ │ │ ├── popper-base.js.map │ │ │ │ ├── popper-lite.js │ │ │ │ ├── popper-lite.js.flow │ │ │ │ ├── popper-lite.js.map │ │ │ │ ├── popper.js │ │ │ │ ├── popper.js.flow │ │ │ │ └── popper.js.map │ │ │ ├── esm │ │ │ │ ├── createPopper.js │ │ │ │ ├── dom-utils │ │ │ │ │ ├── contains.js │ │ │ │ │ ├── getBoundingClientRect.js │ │ │ │ │ ├── getClippingRect.js │ │ │ │ │ ├── getCompositeRect.js │ │ │ │ │ ├── getComputedStyle.js │ │ │ │ │ ├── getDocumentElement.js │ │ │ │ │ ├── getDocumentRect.js │ │ │ │ │ ├── getHTMLElementScroll.js │ │ │ │ │ ├── getLayoutRect.js │ │ │ │ │ ├── getNodeName.js │ │ │ │ │ ├── getNodeScroll.js │ │ │ │ │ ├── getOffsetParent.js │ │ │ │ │ ├── getParentNode.js │ │ │ │ │ ├── getScrollParent.js │ │ │ │ │ ├── getViewportRect.js │ │ │ │ │ ├── getWindow.js │ │ │ │ │ ├── getWindowScroll.js │ │ │ │ │ ├── getWindowScrollBarX.js │ │ │ │ │ ├── instanceOf.js │ │ │ │ │ ├── isLayoutViewport.js │ │ │ │ │ ├── isScrollParent.js │ │ │ │ │ ├── isTableElement.js │ │ │ │ │ └── listScrollParents.js │ │ │ │ ├── enums.js │ │ │ │ ├── index.js │ │ │ │ ├── modifiers │ │ │ │ │ ├── applyStyles.js │ │ │ │ │ ├── arrow.js │ │ │ │ │ ├── computeStyles.js │ │ │ │ │ ├── eventListeners.js │ │ │ │ │ ├── flip.js │ │ │ │ │ ├── hide.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── offset.js │ │ │ │ │ ├── popperOffsets.js │ │ │ │ │ └── preventOverflow.js │ │ │ │ ├── popper-base.js │ │ │ │ ├── popper-lite.js │ │ │ │ ├── popper.js │ │ │ │ ├── types.js │ │ │ │ └── utils │ │ │ │ │ ├── computeAutoPlacement.js │ │ │ │ │ ├── computeOffsets.js │ │ │ │ │ ├── debounce.js │ │ │ │ │ ├── detectOverflow.js │ │ │ │ │ ├── expandToHashMap.js │ │ │ │ │ ├── getAltAxis.js │ │ │ │ │ ├── getAltLen.js │ │ │ │ │ ├── getBasePlacement.js │ │ │ │ │ ├── getFreshSideObject.js │ │ │ │ │ ├── getMainAxisFromPlacement.js │ │ │ │ │ ├── getOppositePlacement.js │ │ │ │ │ ├── getOppositeVariationPlacement.js │ │ │ │ │ ├── getVariation.js │ │ │ │ │ ├── math.js │ │ │ │ │ ├── mergeByName.js │ │ │ │ │ ├── mergePaddingObject.js │ │ │ │ │ ├── orderModifiers.js │ │ │ │ │ ├── rectToClientRect.js │ │ │ │ │ ├── uniqueBy.js │ │ │ │ │ ├── userAgent.js │ │ │ │ │ └── within.js │ │ │ └── umd │ │ │ │ ├── enums.js │ │ │ │ ├── enums.js.map │ │ │ │ ├── enums.min.js │ │ │ │ ├── enums.min.js.flow │ │ │ │ ├── enums.min.js.map │ │ │ │ ├── popper-base.js │ │ │ │ ├── popper-base.js.map │ │ │ │ ├── popper-base.min.js │ │ │ │ ├── popper-base.min.js.flow │ │ │ │ ├── popper-base.min.js.map │ │ │ │ ├── popper-lite.js │ │ │ │ ├── popper-lite.js.map │ │ │ │ ├── popper-lite.min.js │ │ │ │ ├── popper-lite.min.js.flow │ │ │ │ ├── popper-lite.min.js.map │ │ │ │ ├── popper.js │ │ │ │ ├── popper.js.map │ │ │ │ ├── popper.min.js │ │ │ │ ├── popper.min.js.flow │ │ │ │ └── popper.min.js.map │ │ │ ├── index.d.ts │ │ │ ├── lib │ │ │ ├── createPopper.d.ts │ │ │ ├── createPopper.js │ │ │ ├── createPopper.js.flow │ │ │ ├── dom-utils │ │ │ │ ├── contains.d.ts │ │ │ │ ├── contains.js │ │ │ │ ├── contains.js.flow │ │ │ │ ├── getBoundingClientRect.d.ts │ │ │ │ ├── getBoundingClientRect.js │ │ │ │ ├── getBoundingClientRect.js.flow │ │ │ │ ├── getClippingRect.d.ts │ │ │ │ ├── getClippingRect.js │ │ │ │ ├── getClippingRect.js.flow │ │ │ │ ├── getCompositeRect.d.ts │ │ │ │ ├── getCompositeRect.js │ │ │ │ ├── getCompositeRect.js.flow │ │ │ │ ├── getComputedStyle.d.ts │ │ │ │ ├── getComputedStyle.js │ │ │ │ ├── getComputedStyle.js.flow │ │ │ │ ├── getDocumentElement.d.ts │ │ │ │ ├── getDocumentElement.js │ │ │ │ ├── getDocumentElement.js.flow │ │ │ │ ├── getDocumentRect.d.ts │ │ │ │ ├── getDocumentRect.js │ │ │ │ ├── getDocumentRect.js.flow │ │ │ │ ├── getHTMLElementScroll.d.ts │ │ │ │ ├── getHTMLElementScroll.js │ │ │ │ ├── getHTMLElementScroll.js.flow │ │ │ │ ├── getLayoutRect.d.ts │ │ │ │ ├── getLayoutRect.js │ │ │ │ ├── getLayoutRect.js.flow │ │ │ │ ├── getNodeName.d.ts │ │ │ │ ├── getNodeName.js │ │ │ │ ├── getNodeName.js.flow │ │ │ │ ├── getNodeScroll.d.ts │ │ │ │ ├── getNodeScroll.js │ │ │ │ ├── getNodeScroll.js.flow │ │ │ │ ├── getOffsetParent.d.ts │ │ │ │ ├── getOffsetParent.js │ │ │ │ ├── getOffsetParent.js.flow │ │ │ │ ├── getParentNode.d.ts │ │ │ │ ├── getParentNode.js │ │ │ │ ├── getParentNode.js.flow │ │ │ │ ├── getScrollParent.d.ts │ │ │ │ ├── getScrollParent.js │ │ │ │ ├── getScrollParent.js.flow │ │ │ │ ├── getViewportRect.d.ts │ │ │ │ ├── getViewportRect.js │ │ │ │ ├── getViewportRect.js.flow │ │ │ │ ├── getWindow.d.ts │ │ │ │ ├── getWindow.js │ │ │ │ ├── getWindow.js.flow │ │ │ │ ├── getWindowScroll.d.ts │ │ │ │ ├── getWindowScroll.js │ │ │ │ ├── getWindowScroll.js.flow │ │ │ │ ├── getWindowScrollBarX.d.ts │ │ │ │ ├── getWindowScrollBarX.js │ │ │ │ ├── getWindowScrollBarX.js.flow │ │ │ │ ├── instanceOf.d.ts │ │ │ │ ├── instanceOf.js │ │ │ │ ├── instanceOf.js.flow │ │ │ │ ├── isLayoutViewport.d.ts │ │ │ │ ├── isLayoutViewport.js │ │ │ │ ├── isLayoutViewport.js.flow │ │ │ │ ├── isScrollParent.d.ts │ │ │ │ ├── isScrollParent.js │ │ │ │ ├── isScrollParent.js.flow │ │ │ │ ├── isTableElement.d.ts │ │ │ │ ├── isTableElement.js │ │ │ │ ├── isTableElement.js.flow │ │ │ │ ├── listScrollParents.d.ts │ │ │ │ ├── listScrollParents.js │ │ │ │ └── listScrollParents.js.flow │ │ │ ├── enums.d.ts │ │ │ ├── enums.js │ │ │ ├── enums.js.flow │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.flow │ │ │ ├── modifiers │ │ │ │ ├── applyStyles.d.ts │ │ │ │ ├── applyStyles.js │ │ │ │ ├── applyStyles.js.flow │ │ │ │ ├── arrow.d.ts │ │ │ │ ├── arrow.js │ │ │ │ ├── arrow.js.flow │ │ │ │ ├── computeStyles.d.ts │ │ │ │ ├── computeStyles.js │ │ │ │ ├── computeStyles.js.flow │ │ │ │ ├── eventListeners.d.ts │ │ │ │ ├── eventListeners.js │ │ │ │ ├── eventListeners.js.flow │ │ │ │ ├── flip.d.ts │ │ │ │ ├── flip.js │ │ │ │ ├── flip.js.flow │ │ │ │ ├── hide.d.ts │ │ │ │ ├── hide.js │ │ │ │ ├── hide.js.flow │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── index.js.flow │ │ │ │ ├── offset.d.ts │ │ │ │ ├── offset.js │ │ │ │ ├── offset.js.flow │ │ │ │ ├── popperOffsets.d.ts │ │ │ │ ├── popperOffsets.js │ │ │ │ ├── popperOffsets.js.flow │ │ │ │ ├── preventOverflow.d.ts │ │ │ │ ├── preventOverflow.js │ │ │ │ └── preventOverflow.js.flow │ │ │ ├── popper-base.d.ts │ │ │ ├── popper-base.js │ │ │ ├── popper-base.js.flow │ │ │ ├── popper-lite.d.ts │ │ │ ├── popper-lite.js │ │ │ ├── popper-lite.js.flow │ │ │ ├── popper.d.ts │ │ │ ├── popper.js │ │ │ ├── popper.js.flow │ │ │ ├── types.d.ts │ │ │ ├── types.js │ │ │ ├── types.js.flow │ │ │ └── utils │ │ │ │ ├── computeAutoPlacement.d.ts │ │ │ │ ├── computeAutoPlacement.js │ │ │ │ ├── computeAutoPlacement.js.flow │ │ │ │ ├── computeOffsets.d.ts │ │ │ │ ├── computeOffsets.js │ │ │ │ ├── computeOffsets.js.flow │ │ │ │ ├── debounce.d.ts │ │ │ │ ├── debounce.js │ │ │ │ ├── debounce.js.flow │ │ │ │ ├── detectOverflow.d.ts │ │ │ │ ├── detectOverflow.js │ │ │ │ ├── detectOverflow.js.flow │ │ │ │ ├── expandToHashMap.d.ts │ │ │ │ ├── expandToHashMap.js │ │ │ │ ├── expandToHashMap.js.flow │ │ │ │ ├── getAltAxis.d.ts │ │ │ │ ├── getAltAxis.js │ │ │ │ ├── getAltAxis.js.flow │ │ │ │ ├── getAltLen.d.ts │ │ │ │ ├── getAltLen.js │ │ │ │ ├── getAltLen.js.flow │ │ │ │ ├── getBasePlacement.d.ts │ │ │ │ ├── getBasePlacement.js │ │ │ │ ├── getBasePlacement.js.flow │ │ │ │ ├── getFreshSideObject.d.ts │ │ │ │ ├── getFreshSideObject.js │ │ │ │ ├── getFreshSideObject.js.flow │ │ │ │ ├── getMainAxisFromPlacement.d.ts │ │ │ │ ├── getMainAxisFromPlacement.js │ │ │ │ ├── getMainAxisFromPlacement.js.flow │ │ │ │ ├── getOppositePlacement.d.ts │ │ │ │ ├── getOppositePlacement.js │ │ │ │ ├── getOppositePlacement.js.flow │ │ │ │ ├── getOppositeVariationPlacement.d.ts │ │ │ │ ├── getOppositeVariationPlacement.js │ │ │ │ ├── getOppositeVariationPlacement.js.flow │ │ │ │ ├── getVariation.d.ts │ │ │ │ ├── getVariation.js │ │ │ │ ├── getVariation.js.flow │ │ │ │ ├── math.d.ts │ │ │ │ ├── math.js │ │ │ │ ├── math.js.flow │ │ │ │ ├── mergeByName.d.ts │ │ │ │ ├── mergeByName.js │ │ │ │ ├── mergeByName.js.flow │ │ │ │ ├── mergePaddingObject.d.ts │ │ │ │ ├── mergePaddingObject.js │ │ │ │ ├── mergePaddingObject.js.flow │ │ │ │ ├── orderModifiers.d.ts │ │ │ │ ├── orderModifiers.js │ │ │ │ ├── orderModifiers.js.flow │ │ │ │ ├── rectToClientRect.d.ts │ │ │ │ ├── rectToClientRect.js │ │ │ │ ├── rectToClientRect.js.flow │ │ │ │ ├── uniqueBy.d.ts │ │ │ │ ├── uniqueBy.js │ │ │ │ ├── uniqueBy.js.flow │ │ │ │ ├── userAgent.d.ts │ │ │ │ ├── userAgent.js │ │ │ │ ├── userAgent.js.flow │ │ │ │ ├── within.d.ts │ │ │ │ ├── within.js │ │ │ │ └── within.js.flow │ │ │ └── package.json │ ├── @types │ │ ├── codemirror │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── addon │ │ │ │ ├── comment │ │ │ │ │ ├── comment.d.ts │ │ │ │ │ └── continuecomment.d.ts │ │ │ │ ├── dialog │ │ │ │ │ └── dialog.d.ts │ │ │ │ ├── display │ │ │ │ │ ├── autorefresh.d.ts │ │ │ │ │ ├── fullscreen.d.ts │ │ │ │ │ ├── panel.d.ts │ │ │ │ │ ├── placeholder.d.ts │ │ │ │ │ └── rulers.d.ts │ │ │ │ ├── edit │ │ │ │ │ ├── closebrackets.d.ts │ │ │ │ │ ├── closetag.d.ts │ │ │ │ │ ├── continuelist.d.ts │ │ │ │ │ ├── matchbrackets.d.ts │ │ │ │ │ ├── matchtags.d.ts │ │ │ │ │ └── trailingspace.d.ts │ │ │ │ ├── fold │ │ │ │ │ ├── brace-fold.d.ts │ │ │ │ │ ├── comment-fold.d.ts │ │ │ │ │ ├── foldcode.d.ts │ │ │ │ │ ├── foldgutter.d.ts │ │ │ │ │ ├── indent-fold.d.ts │ │ │ │ │ ├── markdown-fold.d.ts │ │ │ │ │ └── xml-fold.d.ts │ │ │ │ ├── hint │ │ │ │ │ ├── anyword-hint.d.ts │ │ │ │ │ ├── css-hint.d.ts │ │ │ │ │ ├── html-hint.d.ts │ │ │ │ │ ├── javascript-hint.d.ts │ │ │ │ │ ├── show-hint.d.ts │ │ │ │ │ ├── sql-hint.d.ts │ │ │ │ │ └── xml-hint.d.ts │ │ │ │ ├── lint │ │ │ │ │ ├── coffeescript-lint.d.ts │ │ │ │ │ ├── css-lint.d.ts │ │ │ │ │ ├── html-lint.d.ts │ │ │ │ │ ├── javascript-lint.d.ts │ │ │ │ │ ├── json-lint.d.ts │ │ │ │ │ ├── lint.d.ts │ │ │ │ │ └── yaml-lint.d.ts │ │ │ │ ├── merge │ │ │ │ │ └── merge.d.ts │ │ │ │ ├── mode │ │ │ │ │ ├── loadMode.d.ts │ │ │ │ │ ├── multiplex.d.ts │ │ │ │ │ ├── overlay.d.ts │ │ │ │ │ └── simple.d.ts │ │ │ │ ├── runmode │ │ │ │ │ ├── colorize.d.ts │ │ │ │ │ └── runmode.d.ts │ │ │ │ ├── scroll │ │ │ │ │ ├── annotatescrollbar.d.ts │ │ │ │ │ ├── scrollpastend.d.ts │ │ │ │ │ └── simplescrollbars.d.ts │ │ │ │ ├── search │ │ │ │ │ ├── jump-to-line.d.ts │ │ │ │ │ ├── match-highlighter.d.ts │ │ │ │ │ ├── matchesonscrollbar.d.ts │ │ │ │ │ ├── search.d.ts │ │ │ │ │ └── searchcursor.d.ts │ │ │ │ ├── selection │ │ │ │ │ ├── active-line.d.ts │ │ │ │ │ ├── mark-selection.d.ts │ │ │ │ │ └── selection-pointer.d.ts │ │ │ │ ├── tern │ │ │ │ │ └── tern.d.ts │ │ │ │ └── wrap │ │ │ │ │ └── hardwrap.d.ts │ │ │ ├── index.d.ts │ │ │ ├── mode │ │ │ │ └── meta.d.ts │ │ │ └── package.json │ │ ├── estree │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── flow.d.ts │ │ │ ├── index.d.ts │ │ │ └── package.json │ │ ├── marked │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.mts │ │ │ ├── index.d.ts │ │ │ └── package.json │ │ └── tern │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ ├── lib │ │ │ ├── infer │ │ │ │ └── index.d.ts │ │ │ └── tern │ │ │ │ └── index.d.ts │ │ │ └── package.json │ ├── bootstrap-auto-dark-mode │ │ ├── .gitattributes │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ └── src │ │ │ └── bootstrap-auto-dark-mode.js │ ├── bootstrap │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-grid.css.map │ │ │ │ ├── bootstrap-grid.min.css │ │ │ │ ├── bootstrap-grid.min.css.map │ │ │ │ ├── bootstrap-grid.rtl.css │ │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ ├── bootstrap-reboot.css.map │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ │ ├── bootstrap-utilities.css │ │ │ │ ├── bootstrap-utilities.css.map │ │ │ │ ├── bootstrap-utilities.min.css │ │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── bootstrap.min.css.map │ │ │ │ ├── bootstrap.rtl.css │ │ │ │ ├── bootstrap.rtl.css.map │ │ │ │ ├── bootstrap.rtl.min.css │ │ │ │ └── bootstrap.rtl.min.css.map │ │ │ └── js │ │ │ │ ├── bootstrap.bundle.js │ │ │ │ ├── bootstrap.bundle.js.map │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ │ ├── bootstrap.esm.js │ │ │ │ ├── bootstrap.esm.js.map │ │ │ │ ├── bootstrap.esm.min.js │ │ │ │ ├── bootstrap.esm.min.js.map │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.js.map │ │ │ │ ├── bootstrap.min.js │ │ │ │ └── bootstrap.min.js.map │ │ ├── js │ │ │ ├── dist │ │ │ │ ├── alert.js │ │ │ │ ├── alert.js.map │ │ │ │ ├── base-component.js │ │ │ │ ├── base-component.js.map │ │ │ │ ├── button.js │ │ │ │ ├── button.js.map │ │ │ │ ├── carousel.js │ │ │ │ ├── carousel.js.map │ │ │ │ ├── collapse.js │ │ │ │ ├── collapse.js.map │ │ │ │ ├── dom │ │ │ │ │ ├── data.js │ │ │ │ │ ├── data.js.map │ │ │ │ │ ├── event-handler.js │ │ │ │ │ ├── event-handler.js.map │ │ │ │ │ ├── manipulator.js │ │ │ │ │ ├── manipulator.js.map │ │ │ │ │ ├── selector-engine.js │ │ │ │ │ └── selector-engine.js.map │ │ │ │ ├── dropdown.js │ │ │ │ ├── dropdown.js.map │ │ │ │ ├── modal.js │ │ │ │ ├── modal.js.map │ │ │ │ ├── offcanvas.js │ │ │ │ ├── offcanvas.js.map │ │ │ │ ├── popover.js │ │ │ │ ├── popover.js.map │ │ │ │ ├── scrollspy.js │ │ │ │ ├── scrollspy.js.map │ │ │ │ ├── tab.js │ │ │ │ ├── tab.js.map │ │ │ │ ├── toast.js │ │ │ │ ├── toast.js.map │ │ │ │ ├── tooltip.js │ │ │ │ ├── tooltip.js.map │ │ │ │ └── util │ │ │ │ │ ├── backdrop.js │ │ │ │ │ ├── backdrop.js.map │ │ │ │ │ ├── component-functions.js │ │ │ │ │ ├── component-functions.js.map │ │ │ │ │ ├── config.js │ │ │ │ │ ├── config.js.map │ │ │ │ │ ├── focustrap.js │ │ │ │ │ ├── focustrap.js.map │ │ │ │ │ ├── index.js │ │ │ │ │ ├── index.js.map │ │ │ │ │ ├── sanitizer.js │ │ │ │ │ ├── sanitizer.js.map │ │ │ │ │ ├── scrollbar.js │ │ │ │ │ ├── scrollbar.js.map │ │ │ │ │ ├── swipe.js │ │ │ │ │ ├── swipe.js.map │ │ │ │ │ ├── template-factory.js │ │ │ │ │ └── template-factory.js.map │ │ │ ├── index.esm.js │ │ │ ├── index.umd.js │ │ │ └── src │ │ │ │ ├── alert.js │ │ │ │ ├── base-component.js │ │ │ │ ├── button.js │ │ │ │ ├── carousel.js │ │ │ │ ├── collapse.js │ │ │ │ ├── dom │ │ │ │ ├── data.js │ │ │ │ ├── event-handler.js │ │ │ │ ├── manipulator.js │ │ │ │ └── selector-engine.js │ │ │ │ ├── dropdown.js │ │ │ │ ├── modal.js │ │ │ │ ├── offcanvas.js │ │ │ │ ├── popover.js │ │ │ │ ├── scrollspy.js │ │ │ │ ├── tab.js │ │ │ │ ├── toast.js │ │ │ │ ├── tooltip.js │ │ │ │ └── util │ │ │ │ ├── backdrop.js │ │ │ │ ├── component-functions.js │ │ │ │ ├── config.js │ │ │ │ ├── focustrap.js │ │ │ │ ├── index.js │ │ │ │ ├── sanitizer.js │ │ │ │ ├── scrollbar.js │ │ │ │ ├── swipe.js │ │ │ │ └── template-factory.js │ │ ├── package.json │ │ └── scss │ │ │ ├── _accordion.scss │ │ │ ├── _alert.scss │ │ │ ├── _badge.scss │ │ │ ├── _breadcrumb.scss │ │ │ ├── _button-group.scss │ │ │ ├── _buttons.scss │ │ │ ├── _card.scss │ │ │ ├── _carousel.scss │ │ │ ├── _close.scss │ │ │ ├── _containers.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _forms.scss │ │ │ ├── _functions.scss │ │ │ ├── _grid.scss │ │ │ ├── _helpers.scss │ │ │ ├── _images.scss │ │ │ ├── _list-group.scss │ │ │ ├── _maps.scss │ │ │ ├── _mixins.scss │ │ │ ├── _modal.scss │ │ │ ├── _nav.scss │ │ │ ├── _navbar.scss │ │ │ ├── _offcanvas.scss │ │ │ ├── _pagination.scss │ │ │ ├── _placeholders.scss │ │ │ ├── _popover.scss │ │ │ ├── _progress.scss │ │ │ ├── _reboot.scss │ │ │ ├── _root.scss │ │ │ ├── _spinners.scss │ │ │ ├── _tables.scss │ │ │ ├── _toasts.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _transitions.scss │ │ │ ├── _type.scss │ │ │ ├── _utilities.scss │ │ │ ├── _variables-dark.scss │ │ │ ├── _variables.scss │ │ │ ├── bootstrap-grid.scss │ │ │ ├── bootstrap-reboot.scss │ │ │ ├── bootstrap-utilities.scss │ │ │ ├── bootstrap.scss │ │ │ ├── forms │ │ │ ├── _floating-labels.scss │ │ │ ├── _form-check.scss │ │ │ ├── _form-control.scss │ │ │ ├── _form-range.scss │ │ │ ├── _form-select.scss │ │ │ ├── _form-text.scss │ │ │ ├── _input-group.scss │ │ │ ├── _labels.scss │ │ │ └── _validation.scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _color-bg.scss │ │ │ ├── _colored-links.scss │ │ │ ├── _focus-ring.scss │ │ │ ├── _icon-link.scss │ │ │ ├── _position.scss │ │ │ ├── _ratio.scss │ │ │ ├── _stacks.scss │ │ │ ├── _stretched-link.scss │ │ │ ├── _text-truncation.scss │ │ │ ├── _visually-hidden.scss │ │ │ └── _vr.scss │ │ │ ├── mixins │ │ │ ├── _alert.scss │ │ │ ├── _backdrop.scss │ │ │ ├── _banner.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _box-shadow.scss │ │ │ ├── _breakpoints.scss │ │ │ ├── _buttons.scss │ │ │ ├── _caret.scss │ │ │ ├── _clearfix.scss │ │ │ ├── _color-mode.scss │ │ │ ├── _color-scheme.scss │ │ │ ├── _container.scss │ │ │ ├── _deprecate.scss │ │ │ ├── _forms.scss │ │ │ ├── _gradients.scss │ │ │ ├── _grid.scss │ │ │ ├── _image.scss │ │ │ ├── _list-group.scss │ │ │ ├── _lists.scss │ │ │ ├── _pagination.scss │ │ │ ├── _reset-text.scss │ │ │ ├── _resize.scss │ │ │ ├── _table-variants.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _transition.scss │ │ │ ├── _utilities.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── utilities │ │ │ └── _api.scss │ │ │ └── vendor │ │ │ └── _rfs.scss │ ├── codemirror-spell-checker │ │ ├── .eslintrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── debug │ │ │ ├── spell-checker.css │ │ │ ├── spell-checker.debug.js │ │ │ └── spell-checker.js │ │ ├── dist │ │ │ ├── en_US.aff │ │ │ ├── en_US.dic │ │ │ ├── spell-checker.min.css │ │ │ └── spell-checker.min.js │ │ ├── gulpfile.js │ │ ├── package.json │ │ └── src │ │ │ ├── css │ │ │ └── spell-checker.css │ │ │ ├── data │ │ │ ├── en_US.aff │ │ │ └── en_US.dic │ │ │ └── js │ │ │ └── spell-checker.js │ ├── easymde │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dist │ │ │ ├── easymde.min.css │ │ │ └── easymde.min.js │ │ ├── node_modules │ │ │ ├── .bin │ │ │ │ └── marked │ │ │ ├── codemirror │ │ │ │ ├── AUTHORS │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── addon │ │ │ │ │ ├── comment │ │ │ │ │ │ ├── comment.js │ │ │ │ │ │ └── continuecomment.js │ │ │ │ │ ├── dialog │ │ │ │ │ │ ├── dialog.css │ │ │ │ │ │ └── dialog.js │ │ │ │ │ ├── display │ │ │ │ │ │ ├── autorefresh.js │ │ │ │ │ │ ├── fullscreen.css │ │ │ │ │ │ ├── fullscreen.js │ │ │ │ │ │ ├── panel.js │ │ │ │ │ │ ├── placeholder.js │ │ │ │ │ │ └── rulers.js │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ │ ├── closetag.js │ │ │ │ │ │ ├── continuelist.js │ │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ │ ├── matchtags.js │ │ │ │ │ │ └── trailingspace.js │ │ │ │ │ ├── fold │ │ │ │ │ │ ├── brace-fold.js │ │ │ │ │ │ ├── comment-fold.js │ │ │ │ │ │ ├── foldcode.js │ │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ │ ├── indent-fold.js │ │ │ │ │ │ ├── markdown-fold.js │ │ │ │ │ │ └── xml-fold.js │ │ │ │ │ ├── hint │ │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ │ ├── css-hint.js │ │ │ │ │ │ ├── html-hint.js │ │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ │ ├── show-hint.css │ │ │ │ │ │ ├── show-hint.js │ │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ │ └── xml-hint.js │ │ │ │ │ ├── lint │ │ │ │ │ │ ├── coffeescript-lint.js │ │ │ │ │ │ ├── css-lint.js │ │ │ │ │ │ ├── html-lint.js │ │ │ │ │ │ ├── javascript-lint.js │ │ │ │ │ │ ├── json-lint.js │ │ │ │ │ │ ├── lint.css │ │ │ │ │ │ ├── lint.js │ │ │ │ │ │ └── yaml-lint.js │ │ │ │ │ ├── merge │ │ │ │ │ │ ├── merge.css │ │ │ │ │ │ └── merge.js │ │ │ │ │ ├── mode │ │ │ │ │ │ ├── loadmode.js │ │ │ │ │ │ ├── multiplex.js │ │ │ │ │ │ ├── multiplex_test.js │ │ │ │ │ │ ├── overlay.js │ │ │ │ │ │ └── simple.js │ │ │ │ │ ├── runmode │ │ │ │ │ │ ├── colorize.js │ │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ │ ├── runmode.js │ │ │ │ │ │ └── runmode.node.js │ │ │ │ │ ├── scroll │ │ │ │ │ │ ├── annotatescrollbar.js │ │ │ │ │ │ ├── scrollpastend.js │ │ │ │ │ │ ├── simplescrollbars.css │ │ │ │ │ │ └── simplescrollbars.js │ │ │ │ │ ├── search │ │ │ │ │ │ ├── jump-to-line.js │ │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ │ ├── search.js │ │ │ │ │ │ └── searchcursor.js │ │ │ │ │ ├── selection │ │ │ │ │ │ ├── active-line.js │ │ │ │ │ │ ├── mark-selection.js │ │ │ │ │ │ └── selection-pointer.js │ │ │ │ │ ├── tern │ │ │ │ │ │ ├── tern.css │ │ │ │ │ │ ├── tern.js │ │ │ │ │ │ └── worker.js │ │ │ │ │ └── wrap │ │ │ │ │ │ └── hardwrap.js │ │ │ │ ├── bin │ │ │ │ │ └── source-highlight │ │ │ │ ├── changes │ │ │ │ ├── keymap │ │ │ │ │ ├── emacs.js │ │ │ │ │ ├── sublime.js │ │ │ │ │ └── vim.js │ │ │ │ ├── lib │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── mode │ │ │ │ │ ├── apl │ │ │ │ │ │ └── apl.js │ │ │ │ │ ├── asciiarmor │ │ │ │ │ │ └── asciiarmor.js │ │ │ │ │ ├── asn.1 │ │ │ │ │ │ └── asn.1.js │ │ │ │ │ ├── asterisk │ │ │ │ │ │ └── asterisk.js │ │ │ │ │ ├── brainfuck │ │ │ │ │ │ └── brainfuck.js │ │ │ │ │ ├── clike │ │ │ │ │ │ └── clike.js │ │ │ │ │ ├── clojure │ │ │ │ │ │ └── clojure.js │ │ │ │ │ ├── cmake │ │ │ │ │ │ └── cmake.js │ │ │ │ │ ├── cobol │ │ │ │ │ │ └── cobol.js │ │ │ │ │ ├── coffeescript │ │ │ │ │ │ └── coffeescript.js │ │ │ │ │ ├── commonlisp │ │ │ │ │ │ └── commonlisp.js │ │ │ │ │ ├── crystal │ │ │ │ │ │ └── crystal.js │ │ │ │ │ ├── css │ │ │ │ │ │ └── css.js │ │ │ │ │ ├── cypher │ │ │ │ │ │ └── cypher.js │ │ │ │ │ ├── d │ │ │ │ │ │ └── d.js │ │ │ │ │ ├── dart │ │ │ │ │ │ └── dart.js │ │ │ │ │ ├── diff │ │ │ │ │ │ └── diff.js │ │ │ │ │ ├── django │ │ │ │ │ │ └── django.js │ │ │ │ │ ├── dockerfile │ │ │ │ │ │ └── dockerfile.js │ │ │ │ │ ├── dtd │ │ │ │ │ │ └── dtd.js │ │ │ │ │ ├── dylan │ │ │ │ │ │ └── dylan.js │ │ │ │ │ ├── ebnf │ │ │ │ │ │ └── ebnf.js │ │ │ │ │ ├── ecl │ │ │ │ │ │ └── ecl.js │ │ │ │ │ ├── eiffel │ │ │ │ │ │ └── eiffel.js │ │ │ │ │ ├── elm │ │ │ │ │ │ └── elm.js │ │ │ │ │ ├── erlang │ │ │ │ │ │ └── erlang.js │ │ │ │ │ ├── factor │ │ │ │ │ │ └── factor.js │ │ │ │ │ ├── fcl │ │ │ │ │ │ └── fcl.js │ │ │ │ │ ├── forth │ │ │ │ │ │ └── forth.js │ │ │ │ │ ├── fortran │ │ │ │ │ │ └── fortran.js │ │ │ │ │ ├── gas │ │ │ │ │ │ └── gas.js │ │ │ │ │ ├── gfm │ │ │ │ │ │ └── gfm.js │ │ │ │ │ ├── gherkin │ │ │ │ │ │ └── gherkin.js │ │ │ │ │ ├── go │ │ │ │ │ │ └── go.js │ │ │ │ │ ├── groovy │ │ │ │ │ │ └── groovy.js │ │ │ │ │ ├── haml │ │ │ │ │ │ └── haml.js │ │ │ │ │ ├── handlebars │ │ │ │ │ │ └── handlebars.js │ │ │ │ │ ├── haskell-literate │ │ │ │ │ │ └── haskell-literate.js │ │ │ │ │ ├── haskell │ │ │ │ │ │ └── haskell.js │ │ │ │ │ ├── haxe │ │ │ │ │ │ └── haxe.js │ │ │ │ │ ├── htmlembedded │ │ │ │ │ │ └── htmlembedded.js │ │ │ │ │ ├── htmlmixed │ │ │ │ │ │ └── htmlmixed.js │ │ │ │ │ ├── http │ │ │ │ │ │ └── http.js │ │ │ │ │ ├── idl │ │ │ │ │ │ └── idl.js │ │ │ │ │ ├── javascript │ │ │ │ │ │ └── javascript.js │ │ │ │ │ ├── jinja2 │ │ │ │ │ │ └── jinja2.js │ │ │ │ │ ├── jsx │ │ │ │ │ │ └── jsx.js │ │ │ │ │ ├── julia │ │ │ │ │ │ └── julia.js │ │ │ │ │ ├── livescript │ │ │ │ │ │ └── livescript.js │ │ │ │ │ ├── lua │ │ │ │ │ │ └── lua.js │ │ │ │ │ ├── markdown │ │ │ │ │ │ └── markdown.js │ │ │ │ │ ├── mathematica │ │ │ │ │ │ └── mathematica.js │ │ │ │ │ ├── mbox │ │ │ │ │ │ └── mbox.js │ │ │ │ │ ├── meta.js │ │ │ │ │ ├── mirc │ │ │ │ │ │ └── mirc.js │ │ │ │ │ ├── mllike │ │ │ │ │ │ └── mllike.js │ │ │ │ │ ├── modelica │ │ │ │ │ │ └── modelica.js │ │ │ │ │ ├── mscgen │ │ │ │ │ │ └── mscgen.js │ │ │ │ │ ├── mumps │ │ │ │ │ │ └── mumps.js │ │ │ │ │ ├── nginx │ │ │ │ │ │ └── nginx.js │ │ │ │ │ ├── nsis │ │ │ │ │ │ └── nsis.js │ │ │ │ │ ├── ntriples │ │ │ │ │ │ └── ntriples.js │ │ │ │ │ ├── octave │ │ │ │ │ │ └── octave.js │ │ │ │ │ ├── oz │ │ │ │ │ │ └── oz.js │ │ │ │ │ ├── pascal │ │ │ │ │ │ └── pascal.js │ │ │ │ │ ├── pegjs │ │ │ │ │ │ └── pegjs.js │ │ │ │ │ ├── perl │ │ │ │ │ │ └── perl.js │ │ │ │ │ ├── php │ │ │ │ │ │ └── php.js │ │ │ │ │ ├── pig │ │ │ │ │ │ └── pig.js │ │ │ │ │ ├── powershell │ │ │ │ │ │ └── powershell.js │ │ │ │ │ ├── properties │ │ │ │ │ │ └── properties.js │ │ │ │ │ ├── protobuf │ │ │ │ │ │ └── protobuf.js │ │ │ │ │ ├── pug │ │ │ │ │ │ └── pug.js │ │ │ │ │ ├── puppet │ │ │ │ │ │ └── puppet.js │ │ │ │ │ ├── python │ │ │ │ │ │ └── python.js │ │ │ │ │ ├── q │ │ │ │ │ │ └── q.js │ │ │ │ │ ├── r │ │ │ │ │ │ └── r.js │ │ │ │ │ ├── rpm │ │ │ │ │ │ ├── changes │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ └── rpm.js │ │ │ │ │ ├── rst │ │ │ │ │ │ └── rst.js │ │ │ │ │ ├── ruby │ │ │ │ │ │ └── ruby.js │ │ │ │ │ ├── rust │ │ │ │ │ │ └── rust.js │ │ │ │ │ ├── sas │ │ │ │ │ │ └── sas.js │ │ │ │ │ ├── sass │ │ │ │ │ │ └── sass.js │ │ │ │ │ ├── scheme │ │ │ │ │ │ └── scheme.js │ │ │ │ │ ├── shell │ │ │ │ │ │ └── shell.js │ │ │ │ │ ├── sieve │ │ │ │ │ │ └── sieve.js │ │ │ │ │ ├── slim │ │ │ │ │ │ └── slim.js │ │ │ │ │ ├── smalltalk │ │ │ │ │ │ └── smalltalk.js │ │ │ │ │ ├── smarty │ │ │ │ │ │ └── smarty.js │ │ │ │ │ ├── solr │ │ │ │ │ │ └── solr.js │ │ │ │ │ ├── soy │ │ │ │ │ │ └── soy.js │ │ │ │ │ ├── sparql │ │ │ │ │ │ └── sparql.js │ │ │ │ │ ├── spreadsheet │ │ │ │ │ │ └── spreadsheet.js │ │ │ │ │ ├── sql │ │ │ │ │ │ └── sql.js │ │ │ │ │ ├── stex │ │ │ │ │ │ └── stex.js │ │ │ │ │ ├── stylus │ │ │ │ │ │ └── stylus.js │ │ │ │ │ ├── swift │ │ │ │ │ │ └── swift.js │ │ │ │ │ ├── tcl │ │ │ │ │ │ └── tcl.js │ │ │ │ │ ├── textile │ │ │ │ │ │ └── textile.js │ │ │ │ │ ├── tiddlywiki │ │ │ │ │ │ ├── tiddlywiki.css │ │ │ │ │ │ └── tiddlywiki.js │ │ │ │ │ ├── tiki │ │ │ │ │ │ ├── tiki.css │ │ │ │ │ │ └── tiki.js │ │ │ │ │ ├── toml │ │ │ │ │ │ └── toml.js │ │ │ │ │ ├── tornado │ │ │ │ │ │ └── tornado.js │ │ │ │ │ ├── troff │ │ │ │ │ │ └── troff.js │ │ │ │ │ ├── ttcn-cfg │ │ │ │ │ │ └── ttcn-cfg.js │ │ │ │ │ ├── ttcn │ │ │ │ │ │ └── ttcn.js │ │ │ │ │ ├── turtle │ │ │ │ │ │ └── turtle.js │ │ │ │ │ ├── twig │ │ │ │ │ │ └── twig.js │ │ │ │ │ ├── vb │ │ │ │ │ │ └── vb.js │ │ │ │ │ ├── vbscript │ │ │ │ │ │ └── vbscript.js │ │ │ │ │ ├── velocity │ │ │ │ │ │ └── velocity.js │ │ │ │ │ ├── verilog │ │ │ │ │ │ └── verilog.js │ │ │ │ │ ├── vhdl │ │ │ │ │ │ └── vhdl.js │ │ │ │ │ ├── vue │ │ │ │ │ │ └── vue.js │ │ │ │ │ ├── wast │ │ │ │ │ │ └── wast.js │ │ │ │ │ ├── webidl │ │ │ │ │ │ └── webidl.js │ │ │ │ │ ├── xml │ │ │ │ │ │ └── xml.js │ │ │ │ │ ├── xquery │ │ │ │ │ │ └── xquery.js │ │ │ │ │ ├── yacas │ │ │ │ │ │ └── yacas.js │ │ │ │ │ ├── yaml-frontmatter │ │ │ │ │ │ └── yaml-frontmatter.js │ │ │ │ │ ├── yaml │ │ │ │ │ │ └── yaml.js │ │ │ │ │ └── z80 │ │ │ │ │ │ └── z80.js │ │ │ │ ├── package.json │ │ │ │ ├── rollup.config.js │ │ │ │ ├── src │ │ │ │ │ ├── addon │ │ │ │ │ │ └── runmode │ │ │ │ │ │ │ ├── codemirror-standalone.js │ │ │ │ │ │ │ ├── codemirror.node.js │ │ │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ │ │ └── runmode.node.js │ │ │ │ │ ├── codemirror.js │ │ │ │ │ ├── display │ │ │ │ │ │ ├── Display.js │ │ │ │ │ │ ├── focus.js │ │ │ │ │ │ ├── gutters.js │ │ │ │ │ │ ├── highlight_worker.js │ │ │ │ │ │ ├── line_numbers.js │ │ │ │ │ │ ├── mode_state.js │ │ │ │ │ │ ├── operations.js │ │ │ │ │ │ ├── scroll_events.js │ │ │ │ │ │ ├── scrollbars.js │ │ │ │ │ │ ├── scrolling.js │ │ │ │ │ │ ├── selection.js │ │ │ │ │ │ ├── update_display.js │ │ │ │ │ │ ├── update_line.js │ │ │ │ │ │ ├── update_lines.js │ │ │ │ │ │ └── view_tracking.js │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── CodeMirror.js │ │ │ │ │ │ ├── commands.js │ │ │ │ │ │ ├── deleteNearSelection.js │ │ │ │ │ │ ├── drop_events.js │ │ │ │ │ │ ├── fromTextArea.js │ │ │ │ │ │ ├── global_events.js │ │ │ │ │ │ ├── key_events.js │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ ├── methods.js │ │ │ │ │ │ ├── mouse_events.js │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── input │ │ │ │ │ │ ├── ContentEditableInput.js │ │ │ │ │ │ ├── TextareaInput.js │ │ │ │ │ │ ├── indent.js │ │ │ │ │ │ ├── input.js │ │ │ │ │ │ ├── keymap.js │ │ │ │ │ │ ├── keynames.js │ │ │ │ │ │ └── movement.js │ │ │ │ │ ├── line │ │ │ │ │ │ ├── highlight.js │ │ │ │ │ │ ├── line_data.js │ │ │ │ │ │ ├── pos.js │ │ │ │ │ │ ├── saw_special_spans.js │ │ │ │ │ │ ├── spans.js │ │ │ │ │ │ └── utils_line.js │ │ │ │ │ ├── measurement │ │ │ │ │ │ ├── position_measurement.js │ │ │ │ │ │ └── widgets.js │ │ │ │ │ ├── model │ │ │ │ │ │ ├── Doc.js │ │ │ │ │ │ ├── change_measurement.js │ │ │ │ │ │ ├── changes.js │ │ │ │ │ │ ├── chunk.js │ │ │ │ │ │ ├── document_data.js │ │ │ │ │ │ ├── history.js │ │ │ │ │ │ ├── line_widget.js │ │ │ │ │ │ ├── mark_text.js │ │ │ │ │ │ ├── selection.js │ │ │ │ │ │ └── selection_updates.js │ │ │ │ │ ├── modes.js │ │ │ │ │ └── util │ │ │ │ │ │ ├── StringStream.js │ │ │ │ │ │ ├── bidi.js │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ ├── dom.js │ │ │ │ │ │ ├── event.js │ │ │ │ │ │ ├── feature_detection.js │ │ │ │ │ │ ├── misc.js │ │ │ │ │ │ └── operation_group.js │ │ │ │ └── theme │ │ │ │ │ ├── 3024-day.css │ │ │ │ │ ├── 3024-night.css │ │ │ │ │ ├── abbott.css │ │ │ │ │ ├── abcdef.css │ │ │ │ │ ├── ambiance-mobile.css │ │ │ │ │ ├── ambiance.css │ │ │ │ │ ├── ayu-dark.css │ │ │ │ │ ├── ayu-mirage.css │ │ │ │ │ ├── base16-dark.css │ │ │ │ │ ├── base16-light.css │ │ │ │ │ ├── bespin.css │ │ │ │ │ ├── blackboard.css │ │ │ │ │ ├── cobalt.css │ │ │ │ │ ├── colorforth.css │ │ │ │ │ ├── darcula.css │ │ │ │ │ ├── dracula.css │ │ │ │ │ ├── duotone-dark.css │ │ │ │ │ ├── duotone-light.css │ │ │ │ │ ├── eclipse.css │ │ │ │ │ ├── elegant.css │ │ │ │ │ ├── erlang-dark.css │ │ │ │ │ ├── gruvbox-dark.css │ │ │ │ │ ├── hopscotch.css │ │ │ │ │ ├── icecoder.css │ │ │ │ │ ├── idea.css │ │ │ │ │ ├── isotope.css │ │ │ │ │ ├── juejin.css │ │ │ │ │ ├── lesser-dark.css │ │ │ │ │ ├── liquibyte.css │ │ │ │ │ ├── lucario.css │ │ │ │ │ ├── material-darker.css │ │ │ │ │ ├── material-ocean.css │ │ │ │ │ ├── material-palenight.css │ │ │ │ │ ├── material.css │ │ │ │ │ ├── mbo.css │ │ │ │ │ ├── mdn-like.css │ │ │ │ │ ├── midnight.css │ │ │ │ │ ├── monokai.css │ │ │ │ │ ├── moxer.css │ │ │ │ │ ├── neat.css │ │ │ │ │ ├── neo.css │ │ │ │ │ ├── night.css │ │ │ │ │ ├── nord.css │ │ │ │ │ ├── oceanic-next.css │ │ │ │ │ ├── panda-syntax.css │ │ │ │ │ ├── paraiso-dark.css │ │ │ │ │ ├── paraiso-light.css │ │ │ │ │ ├── pastel-on-dark.css │ │ │ │ │ ├── railscasts.css │ │ │ │ │ ├── rubyblue.css │ │ │ │ │ ├── seti.css │ │ │ │ │ ├── shadowfox.css │ │ │ │ │ ├── solarized.css │ │ │ │ │ ├── ssms.css │ │ │ │ │ ├── the-matrix.css │ │ │ │ │ ├── tomorrow-night-bright.css │ │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ │ ├── ttcn.css │ │ │ │ │ ├── twilight.css │ │ │ │ │ ├── vibrant-ink.css │ │ │ │ │ ├── xq-dark.css │ │ │ │ │ ├── xq-light.css │ │ │ │ │ ├── yeti.css │ │ │ │ │ ├── yonce.css │ │ │ │ │ └── zenburn.css │ │ │ └── marked │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── bin │ │ │ │ └── marked.js │ │ │ │ ├── lib │ │ │ │ ├── marked.cjs │ │ │ │ ├── marked.esm.js │ │ │ │ └── marked.umd.js │ │ │ │ ├── man │ │ │ │ ├── marked.1 │ │ │ │ └── marked.1.txt │ │ │ │ ├── marked.min.js │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ ├── Hooks.js │ │ │ │ ├── Lexer.js │ │ │ │ ├── Parser.js │ │ │ │ ├── Renderer.js │ │ │ │ ├── Slugger.js │ │ │ │ ├── TextRenderer.js │ │ │ │ ├── Tokenizer.js │ │ │ │ ├── defaults.js │ │ │ │ ├── helpers.js │ │ │ │ ├── marked.js │ │ │ │ └── rules.js │ │ ├── package.json │ │ ├── src │ │ │ ├── css │ │ │ │ └── easymde.css │ │ │ └── js │ │ │ │ ├── codemirror │ │ │ │ └── tablist.js │ │ │ │ └── easymde.js │ │ └── types │ │ │ └── easymde.d.ts │ └── typo-js │ │ ├── README.md │ │ ├── dictionaries │ │ └── en_US │ │ │ ├── README.md │ │ │ ├── en_US.aff │ │ │ └── en_US.dic │ │ ├── package.json │ │ └── typo.js ├── package-lock.json └── package.json ├── assets └── styles │ └── screen.css ├── favicon.ico ├── index.php └── media └── dummy.svg /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | RewriteEngine on 2 | RewriteCond %{REQUEST_URI} !web/ 3 | RewriteRule (.*) web/$1 [L] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Stefan Haack (https://shaack.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shaack/reboot-cms", 3 | "version": "2.8.2", 4 | "authors": [ 5 | { 6 | "name": "shaack", 7 | "homepage": "https://shaack.com" 8 | } 9 | ], 10 | "repositories": [ 11 | { 12 | "type": "vcs", 13 | "url": "https://github.com/shaack/reboot-cms" 14 | } 15 | ], 16 | "description": "A nice flat file CMS. See https://github.com/shaack/reboot-cms", 17 | "require": { 18 | "ext-json": "*", 19 | "ext-fileinfo": "*", 20 | "ext-dom": "*", 21 | "erusev/parsedown": "^1.7", 22 | "symfony/yaml": "^4.1", 23 | "whitehat101/apr1-md5": "~1.0" 24 | }, 25 | "autoload": { 26 | "psr-4": { 27 | "": "core/src/" 28 | } 29 | }, 30 | "keywords": [ 31 | "cms", 32 | "flat file", 33 | "php", 34 | "bootstrap", 35 | "markdown" 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /core/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /core/admin/addons/Admin.php: -------------------------------------------------------------------------------- 1 | reboot, "/site", ""); 10 | } 11 | } -------------------------------------------------------------------------------- /core/admin/config.yml: -------------------------------------------------------------------------------- 1 | # Admin site configuration 2 | 3 | addons: [ Authentication, Admin ] 4 | navbar: 5 | brand: Reboot CMS 6 | structure: 7 | Edit Pages: /pages 8 | Site Configuration: /config -------------------------------------------------------------------------------- /core/admin/pages/index.php: -------------------------------------------------------------------------------- 1 | redirect($reboot->getBaseWebPath() . $site->getWebPath() . "/login"); -------------------------------------------------------------------------------- /core/admin/pages/logout.php: -------------------------------------------------------------------------------- 1 | getAddOn("Authentication"); 5 | 6 | $authentication->logout(); 7 | -------------------------------------------------------------------------------- /core/src/Shaack/Utils/HttpUtils.php: -------------------------------------------------------------------------------- 1 | getPath()); 17 | return true; 18 | } 19 | 20 | public function postRender(Request $request, string $content): string 21 | { 22 | Logger::info("ExampleAddOn postRender(), " . $request->getPath()); 23 | return $content . "\n"; 24 | } 25 | 26 | 27 | } -------------------------------------------------------------------------------- /site/blocks/cards.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 |
15 |

nodeHtml($block->xpath("//h2")) ?>

16 |
17 | xpath("//li/img"); 19 | foreach ($images as $image) { ?> 20 |
21 | " class="card-img-top" alt="getAttribute("alt") ?>"> 22 |
23 | getAttribute("alt") ?> 24 |
25 |
26 | 27 |
28 |
29 |
-------------------------------------------------------------------------------- /site/blocks/text.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 | content() ?> 13 |
14 |
15 | -------------------------------------------------------------------------------- /site/blocks/three-columns.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 |
13 |
14 | nodeHtml($block->xpath("/*[part(1)]")) ?> 15 |
16 |
17 | nodeHtml($block->xpath("/*[part(2)]")) ?> 18 |
19 |
20 | nodeHtml($block->xpath("/*[part(3)]")) ?> 21 |
22 |
23 |
24 |
25 | -------------------------------------------------------------------------------- /site/config.yml: -------------------------------------------------------------------------------- 1 | # Site configuration, navigation structure 2 | 3 | addons: ["ExampleAddOn"] 4 | navbar: 5 | brand: Reboot CMS 6 | structure: 7 | Home: / 8 | Testpages: /testpages 9 | Documentation: /documentation -------------------------------------------------------------------------------- /site/pages/404.md: -------------------------------------------------------------------------------- 1 | # 404 2 | 3 | Page not found. -------------------------------------------------------------------------------- /site/pages/documentation.php: -------------------------------------------------------------------------------- 1 | getBaseFsPath() . "/README.md"); 13 | $block = new Block($site,"text", $content); 14 | echo($block->render($request)); -------------------------------------------------------------------------------- /site/pages/testpages/cards.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - ![This is](media/dummy.svg) 4 | - ![A dynamic list](media/dummy.svg) 5 | - ![Of Images with Text](media/dummy.svg) 6 | - ![4 is enough](media/dummy.svg) -------------------------------------------------------------------------------- /site/pages/testpages/empty.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/site/pages/testpages/empty.md -------------------------------------------------------------------------------- /site/pages/testpages/index.php: -------------------------------------------------------------------------------- 1 | getFsPath() . "/pages/testpages", SCANDIR_SORT_NONE); 6 | // remove files starting with . and allow only with .md extension 7 | $filenames = array_filter($filenamesUnfiltered, function ($filename) { 8 | return !str_starts_with($filename, ".") && !($filename == "index.php"); 9 | }); 10 | // sort alphabetical 11 | natcasesort($filenames); 12 | ?> 13 |
14 |

Testpages

15 | 22 |
23 | -------------------------------------------------------------------------------- /site/pages/testpages/page-with-frontmatter.md: -------------------------------------------------------------------------------- 1 | --- 2 | Author: Stefan Haack 3 | hide-nav: true 4 | 5 | --- 6 | 7 | # Page with frontmatter 8 | 9 | The page has some Frontmatter on top, which is not displayed in the webpage. 10 | 11 | It looks like this: 12 | 13 | ``` 14 | --- 15 | Author: Stefan Haack 16 | hide-nav: true 17 | 18 | --- 19 | ``` 20 | 21 | The `hide-nav: true` configuration in the Frontmatter is used to remove the navigation in this page. 22 | This works, because the Frontmatter of the page can be read in the template. 23 | -------------------------------------------------------------------------------- /site/pages/testpages/tmp.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ## Configure blocks in the block comment 7 | 8 | The text-image block can also display the image to the left. 9 | 10 | Umlauts: äöü 11 | 12 | 👍 13 | 14 | --- 15 | ![alt text](media/dummy.svg "Title Text")> 16 | 17 | 18 | 19 | äöü 20 | -------------------------------------------------------------------------------- /site/pages/testpages/unknown-block.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | A standard text block. 4 | 5 | 6 | 7 | An unknown block. -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/erusev/parsedown'), 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_psr4.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/whitehat101/apr1-md5/src'), 10 | 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 11 | 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), 12 | '' => array($baseDir . '/core/src'), 13 | ); 14 | -------------------------------------------------------------------------------- /vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 70103)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.3". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/erusev/parsedown/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2018 Emanuil Rusev, erusev.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /vendor/erusev/parsedown/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "erusev/parsedown", 3 | "description": "Parser for Markdown.", 4 | "keywords": ["markdown", "parser"], 5 | "homepage": "http://parsedown.org", 6 | "type": "library", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Emanuil Rusev", 11 | "email": "hello@erusev.com", 12 | "homepage": "http://erusev.com" 13 | } 14 | ], 15 | "require": { 16 | "php": ">=5.3.0", 17 | "ext-mbstring": "*" 18 | }, 19 | "require-dev": { 20 | "phpunit/phpunit": "^4.8.35" 21 | }, 22 | "autoload": { 23 | "psr-0": {"Parsedown": ""} 24 | }, 25 | "autoload-dev": { 26 | "psr-0": { 27 | "TestParsedown": "test/", 28 | "ParsedownTest": "test/", 29 | "CommonMarkTest": "test/", 30 | "CommonMarkTestWeak": "test/" 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-ctype/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-ctype/README.md: -------------------------------------------------------------------------------- 1 | Symfony Polyfill / Ctype 2 | ======================== 3 | 4 | This component provides `ctype_*` functions to users who run php versions without the ctype extension. 5 | 6 | More information can be found in the 7 | [main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md). 8 | 9 | License 10 | ======= 11 | 12 | This library is released under the [MIT license](LICENSE). 13 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/Exception/DumpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Yaml\Exception; 13 | 14 | /** 15 | * Exception class thrown when an error occurs during dumping. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | class DumpException extends RuntimeException 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/Exception/ExceptionInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Yaml\Exception; 13 | 14 | /** 15 | * Exception interface for all exceptions thrown by the component. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface ExceptionInterface extends \Throwable 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/Exception/RuntimeException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Yaml\Exception; 13 | 14 | /** 15 | * Exception class thrown when an error occurs during parsing. 16 | * 17 | * @author Romain Neutron 18 | */ 19 | class RuntimeException extends \RuntimeException implements ExceptionInterface 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-2022 Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/README.md: -------------------------------------------------------------------------------- 1 | Yaml Component 2 | ============== 3 | 4 | The Yaml component loads and dumps YAML files. 5 | 6 | Resources 7 | --------- 8 | 9 | * [Documentation](https://symfony.com/doc/current/components/yaml.html) 10 | * [Contributing](https://symfony.com/doc/current/contributing/index.html) 11 | * [Report issues](https://github.com/symfony/symfony/issues) and 12 | [send Pull Requests](https://github.com/symfony/symfony/pulls) 13 | in the [main Symfony repository](https://github.com/symfony/symfony) 14 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/Tag/TaggedValue.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Yaml\Tag; 13 | 14 | /** 15 | * @author Nicolas Grekas 16 | * @author Guilhem N. 17 | */ 18 | final class TaggedValue 19 | { 20 | private $tag; 21 | private $value; 22 | 23 | public function __construct(string $tag, $value) 24 | { 25 | $this->tag = $tag; 26 | $this->value = $value; 27 | } 28 | 29 | public function getTag(): string 30 | { 31 | return $this->tag; 32 | } 33 | 34 | public function getValue() 35 | { 36 | return $this->value; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/yaml/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/yaml", 3 | "type": "library", 4 | "description": "Loads and dumps YAML files", 5 | "keywords": [], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Fabien Potencier", 11 | "email": "fabien@symfony.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=7.1.3", 20 | "symfony/polyfill-ctype": "~1.8" 21 | }, 22 | "require-dev": { 23 | "symfony/console": "^3.4|^4.0|^5.0" 24 | }, 25 | "conflict": { 26 | "symfony/console": "<3.4" 27 | }, 28 | "suggest": { 29 | "symfony/console": "For validating YAML files using the lint command" 30 | }, 31 | "autoload": { 32 | "psr-4": { "Symfony\\Component\\Yaml\\": "" }, 33 | "exclude-from-classmap": [ 34 | "/Tests/" 35 | ] 36 | }, 37 | "minimum-stability": "dev" 38 | } 39 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | composer.lock 3 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.3 5 | - 5.4 6 | - 5.5 7 | - 5.6 8 | - hhvm 9 | 10 | before_script: 11 | - composer self-update 12 | - composer install --prefer-source --no-interaction --dev 13 | 14 | script: phpunit 15 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Jeremy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "whitehat101/apr1-md5", 3 | "description": "Apache's APR1-MD5 algorithm in pure PHP", 4 | "homepage": "https://github.com/whitehat101/apr1-md5", 5 | "license": "MIT", 6 | "keywords": ["md5","apr1"], 7 | "authors": [ 8 | { 9 | "name": "Jeremy Ebler", 10 | "email": "jebler@gmail.com" 11 | } 12 | ], 13 | 14 | "require": { 15 | "php": ">=5.3.0" 16 | }, 17 | 18 | "require-dev": { 19 | "phpunit/phpunit": "4.0.*" 20 | }, 21 | 22 | "autoload": { 23 | "psr-4": { 24 | "WhiteHat101\\Crypt\\": "src" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/tests/APR1_MD5_CheckTest.php: -------------------------------------------------------------------------------- 1 | assertTrue( 9 | APR1_MD5::check('WhiteHat101','$apr1$HIcWIbgX$G9YqNkCVGlFAN63bClpoT/') 10 | ); 11 | } 12 | 13 | public function testHash_apache() { 14 | $this->assertTrue( 15 | APR1_MD5::check('apache','$apr1$rOioh4Wh$bVD3DRwksETubcpEH90ww0') 16 | ); 17 | } 18 | 19 | public function testHash_ChangeMe1() { 20 | $this->assertTrue( 21 | APR1_MD5::check('ChangeMe1','$apr1$PVWlTz/5$SNkIVyogockgH65nMLn.W1') 22 | ); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /vendor/whitehat101/apr1-md5/tests/APR1_MD5_SaltTest.php: -------------------------------------------------------------------------------- 1 | assertInternalType('string', APR1_MD5::salt()); 9 | } 10 | 11 | public function testSaltPattern() { 12 | $this->assertRegExp('/.{8}/', APR1_MD5::salt()); 13 | } 14 | 15 | public function testSaltRamdomness() { 16 | $this->assertNotEquals(APR1_MD5::salt(), APR1_MD5::salt()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /web/admin/index.php: -------------------------------------------------------------------------------- 1 | = 0) { 7 | // $FlowFixMe[incompatible-return]: assume body is always available 8 | return node.ownerDocument.body; 9 | } 10 | 11 | if (isHTMLElement(node) && isScrollParent(node)) { 12 | return node; 13 | } 14 | 15 | return getScrollParent(getParentNode(node)); 16 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | import getDocumentElement from "./getDocumentElement.js"; 3 | import getWindowScrollBarX from "./getWindowScrollBarX.js"; 4 | import isLayoutViewport from "./isLayoutViewport.js"; 5 | export default function getViewportRect(element, strategy) { 6 | var win = getWindow(element); 7 | var html = getDocumentElement(element); 8 | var visualViewport = win.visualViewport; 9 | var width = html.clientWidth; 10 | var height = html.clientHeight; 11 | var x = 0; 12 | var y = 0; 13 | 14 | if (visualViewport) { 15 | width = visualViewport.width; 16 | height = visualViewport.height; 17 | var layoutViewport = isLayoutViewport(); 18 | 19 | if (layoutViewport || !layoutViewport && strategy === 'fixed') { 20 | x = visualViewport.offsetLeft; 21 | y = visualViewport.offsetTop; 22 | } 23 | } 24 | 25 | return { 26 | width: width, 27 | height: height, 28 | x: x + getWindowScrollBarX(element), 29 | y: y 30 | }; 31 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/getWindow.js: -------------------------------------------------------------------------------- 1 | export default function getWindow(node) { 2 | if (node == null) { 3 | return window; 4 | } 5 | 6 | if (node.toString() !== '[object Window]') { 7 | var ownerDocument = node.ownerDocument; 8 | return ownerDocument ? ownerDocument.defaultView || window : window; 9 | } 10 | 11 | return node; 12 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | export default function getWindowScroll(node) { 3 | var win = getWindow(node); 4 | var scrollLeft = win.pageXOffset; 5 | var scrollTop = win.pageYOffset; 6 | return { 7 | scrollLeft: scrollLeft, 8 | scrollTop: scrollTop 9 | }; 10 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js: -------------------------------------------------------------------------------- 1 | import getBoundingClientRect from "./getBoundingClientRect.js"; 2 | import getDocumentElement from "./getDocumentElement.js"; 3 | import getWindowScroll from "./getWindowScroll.js"; 4 | export default function getWindowScrollBarX(element) { 5 | // If has a CSS width greater than the viewport, then this will be 6 | // incorrect for RTL. 7 | // Popper 1 is broken in this case and never had a bug report so let's assume 8 | // it's not an issue. I don't think anyone ever specifies width on 9 | // anyway. 10 | // Browsers where the left scrollbar doesn't cause an issue report `0` for 11 | // this (e.g. Edge 2019, IE11, Safari) 12 | return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; 13 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/instanceOf.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | 3 | function isElement(node) { 4 | var OwnElement = getWindow(node).Element; 5 | return node instanceof OwnElement || node instanceof Element; 6 | } 7 | 8 | function isHTMLElement(node) { 9 | var OwnElement = getWindow(node).HTMLElement; 10 | return node instanceof OwnElement || node instanceof HTMLElement; 11 | } 12 | 13 | function isShadowRoot(node) { 14 | // IE 11 has no ShadowRoot 15 | if (typeof ShadowRoot === 'undefined') { 16 | return false; 17 | } 18 | 19 | var OwnElement = getWindow(node).ShadowRoot; 20 | return node instanceof OwnElement || node instanceof ShadowRoot; 21 | } 22 | 23 | export { isElement, isHTMLElement, isShadowRoot }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/isLayoutViewport.js: -------------------------------------------------------------------------------- 1 | import getUAString from "../utils/userAgent.js"; 2 | export default function isLayoutViewport() { 3 | return !/^((?!chrome|android).)*safari/i.test(getUAString()); 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/isScrollParent.js: -------------------------------------------------------------------------------- 1 | import getComputedStyle from "./getComputedStyle.js"; 2 | export default function isScrollParent(element) { 3 | // Firefox wants us to check `-x` and `-y` variations as well 4 | var _getComputedStyle = getComputedStyle(element), 5 | overflow = _getComputedStyle.overflow, 6 | overflowX = _getComputedStyle.overflowX, 7 | overflowY = _getComputedStyle.overflowY; 8 | 9 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 10 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/dom-utils/isTableElement.js: -------------------------------------------------------------------------------- 1 | import getNodeName from "./getNodeName.js"; 2 | export default function isTableElement(element) { 3 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/index.js: -------------------------------------------------------------------------------- 1 | export * from "./enums.js"; 2 | export * from "./modifiers/index.js"; // eslint-disable-next-line import/no-unused-modules 3 | 4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper.js"; // eslint-disable-next-line import/no-unused-modules 5 | 6 | export { createPopper } from "./popper.js"; // eslint-disable-next-line import/no-unused-modules 7 | 8 | export { createPopper as createPopperLite } from "./popper-lite.js"; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/modifiers/index.js: -------------------------------------------------------------------------------- 1 | export { default as applyStyles } from "./applyStyles.js"; 2 | export { default as arrow } from "./arrow.js"; 3 | export { default as computeStyles } from "./computeStyles.js"; 4 | export { default as eventListeners } from "./eventListeners.js"; 5 | export { default as flip } from "./flip.js"; 6 | export { default as hide } from "./hide.js"; 7 | export { default as offset } from "./offset.js"; 8 | export { default as popperOffsets } from "./popperOffsets.js"; 9 | export { default as preventOverflow } from "./preventOverflow.js"; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js: -------------------------------------------------------------------------------- 1 | import computeOffsets from "../utils/computeOffsets.js"; 2 | 3 | function popperOffsets(_ref) { 4 | var state = _ref.state, 5 | name = _ref.name; 6 | // Offsets are the actual position the popper needs to have to be 7 | // properly positioned near its reference element 8 | // This is the most basic placement, and will be adjusted by 9 | // the modifiers in the next step 10 | state.modifiersData[name] = computeOffsets({ 11 | reference: state.rects.reference, 12 | element: state.rects.popper, 13 | strategy: 'absolute', 14 | placement: state.placement 15 | }); 16 | } // eslint-disable-next-line import/no-unused-modules 17 | 18 | 19 | export default { 20 | name: 'popperOffsets', 21 | enabled: true, 22 | phase: 'read', 23 | fn: popperOffsets, 24 | data: {} 25 | }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/popper-base.js: -------------------------------------------------------------------------------- 1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper.js"; 2 | // eslint-disable-next-line import/no-unused-modules 3 | export { createPopper, popperGenerator, detectOverflow }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/popper-lite.js: -------------------------------------------------------------------------------- 1 | import { popperGenerator, detectOverflow } from "./createPopper.js"; 2 | import eventListeners from "./modifiers/eventListeners.js"; 3 | import popperOffsets from "./modifiers/popperOffsets.js"; 4 | import computeStyles from "./modifiers/computeStyles.js"; 5 | import applyStyles from "./modifiers/applyStyles.js"; 6 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles]; 7 | var createPopper = /*#__PURE__*/popperGenerator({ 8 | defaultModifiers: defaultModifiers 9 | }); // eslint-disable-next-line import/no-unused-modules 10 | 11 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/admin/node_modules/@popperjs/core/dist/esm/types.js -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/debounce.js: -------------------------------------------------------------------------------- 1 | export default function debounce(fn) { 2 | var pending; 3 | return function () { 4 | if (!pending) { 5 | pending = new Promise(function (resolve) { 6 | Promise.resolve().then(function () { 7 | pending = undefined; 8 | resolve(fn()); 9 | }); 10 | }); 11 | } 12 | 13 | return pending; 14 | }; 15 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/expandToHashMap.js: -------------------------------------------------------------------------------- 1 | export default function expandToHashMap(value, keys) { 2 | return keys.reduce(function (hashMap, key) { 3 | hashMap[key] = value; 4 | return hashMap; 5 | }, {}); 6 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getAltAxis.js: -------------------------------------------------------------------------------- 1 | export default function getAltAxis(axis) { 2 | return axis === 'x' ? 'y' : 'x'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getAltLen.js: -------------------------------------------------------------------------------- 1 | export default function getAltLen(len) { 2 | return len === 'width' ? 'height' : 'width'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getBasePlacement.js: -------------------------------------------------------------------------------- 1 | import { auto } from "../enums.js"; 2 | export default function getBasePlacement(placement) { 3 | return placement.split('-')[0]; 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getFreshSideObject.js: -------------------------------------------------------------------------------- 1 | export default function getFreshSideObject() { 2 | return { 3 | top: 0, 4 | right: 0, 5 | bottom: 0, 6 | left: 0 7 | }; 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getMainAxisFromPlacement.js: -------------------------------------------------------------------------------- 1 | export default function getMainAxisFromPlacement(placement) { 2 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getOppositePlacement.js: -------------------------------------------------------------------------------- 1 | var hash = { 2 | left: 'right', 3 | right: 'left', 4 | bottom: 'top', 5 | top: 'bottom' 6 | }; 7 | export default function getOppositePlacement(placement) { 8 | return placement.replace(/left|right|bottom|top/g, function (matched) { 9 | return hash[matched]; 10 | }); 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getOppositeVariationPlacement.js: -------------------------------------------------------------------------------- 1 | var hash = { 2 | start: 'end', 3 | end: 'start' 4 | }; 5 | export default function getOppositeVariationPlacement(placement) { 6 | return placement.replace(/start|end/g, function (matched) { 7 | return hash[matched]; 8 | }); 9 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/getVariation.js: -------------------------------------------------------------------------------- 1 | export default function getVariation(placement) { 2 | return placement.split('-')[1]; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/math.js: -------------------------------------------------------------------------------- 1 | export var max = Math.max; 2 | export var min = Math.min; 3 | export var round = Math.round; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/mergeByName.js: -------------------------------------------------------------------------------- 1 | export default function mergeByName(modifiers) { 2 | var merged = modifiers.reduce(function (merged, current) { 3 | var existing = merged[current.name]; 4 | merged[current.name] = existing ? Object.assign({}, existing, current, { 5 | options: Object.assign({}, existing.options, current.options), 6 | data: Object.assign({}, existing.data, current.data) 7 | }) : current; 8 | return merged; 9 | }, {}); // IE11 does not support Object.values 10 | 11 | return Object.keys(merged).map(function (key) { 12 | return merged[key]; 13 | }); 14 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/mergePaddingObject.js: -------------------------------------------------------------------------------- 1 | import getFreshSideObject from "./getFreshSideObject.js"; 2 | export default function mergePaddingObject(paddingObject) { 3 | return Object.assign({}, getFreshSideObject(), paddingObject); 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/rectToClientRect.js: -------------------------------------------------------------------------------- 1 | export default function rectToClientRect(rect) { 2 | return Object.assign({}, rect, { 3 | left: rect.x, 4 | top: rect.y, 5 | right: rect.x + rect.width, 6 | bottom: rect.y + rect.height 7 | }); 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/uniqueBy.js: -------------------------------------------------------------------------------- 1 | export default function uniqueBy(arr, fn) { 2 | var identifiers = new Set(); 3 | return arr.filter(function (item) { 4 | var identifier = fn(item); 5 | 6 | if (!identifiers.has(identifier)) { 7 | identifiers.add(identifier); 8 | return true; 9 | } 10 | }); 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/userAgent.js: -------------------------------------------------------------------------------- 1 | export default function getUAString() { 2 | var uaData = navigator.userAgentData; 3 | 4 | if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { 5 | return uaData.brands.map(function (item) { 6 | return item.brand + "/" + item.version; 7 | }).join(' '); 8 | } 9 | 10 | return navigator.userAgent; 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/esm/utils/within.js: -------------------------------------------------------------------------------- 1 | import { max as mathMax, min as mathMin } from "./math.js"; 2 | export function within(min, value, max) { 3 | return mathMax(min, mathMin(value, max)); 4 | } 5 | export function withinMaxClamp(min, value, max) { 6 | var v = within(min, value, max); 7 | return v > max ? max : v; 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/umd/enums.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @popperjs/core v2.11.8 - MIT License 3 | */ 4 | 5 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";var t="bottom",r="right",o="left",n="auto",a=["top",t,r,o],i="start",f="end",p=a.reduce((function(e,t){return e.concat([t+"-"+i,t+"-"+f])}),[]),c=[].concat(a,[n]).reduce((function(e,t){return e.concat([t,t+"-"+i,t+"-"+f])}),[]),d="beforeRead",s="read",u="afterRead",l="beforeMain",b="main",m="afterMain",P="beforeWrite",g="write",h="afterWrite",v=[d,s,u,l,b,m,P,g,h];e.afterMain=m,e.afterRead=u,e.afterWrite=h,e.auto=n,e.basePlacements=a,e.beforeMain=l,e.beforeRead=d,e.beforeWrite=P,e.bottom=t,e.clippingParents="clippingParents",e.end=f,e.left=o,e.main=b,e.modifierPhases=v,e.placements=c,e.popper="popper",e.read=s,e.reference="reference",e.right=r,e.start=i,e.top="top",e.variationPlacements=p,e.viewport="viewport",e.write=g,Object.defineProperty(e,"__esModule",{value:!0})})); 6 | //# sourceMappingURL=enums.min.js.map 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/umd/enums.min.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../../lib/enums.js' 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../../lib/popper-base.js' 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../../lib/popper-lite.js' 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/dist/umd/popper.min.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../../lib/popper.js' 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/createPopper.d.ts: -------------------------------------------------------------------------------- 1 | import type { OptionsGeneric, Modifier, Instance, VirtualElement } from "./types"; 2 | import detectOverflow from "./utils/detectOverflow"; 3 | declare type PopperGeneratorArgs = { 4 | defaultModifiers?: Array>; 5 | defaultOptions?: Partial>; 6 | }; 7 | export declare function popperGenerator(generatorOptions?: PopperGeneratorArgs): >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance; 8 | export declare const createPopper: >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance; 9 | export { detectOverflow }; 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/contains.d.ts: -------------------------------------------------------------------------------- 1 | export default function contains(parent: Element, child: Element): boolean; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/contains.js: -------------------------------------------------------------------------------- 1 | import { isShadowRoot } from "./instanceOf.js"; 2 | export default function contains(parent, child) { 3 | var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method 4 | 5 | if (parent.contains(child)) { 6 | return true; 7 | } // then fallback to custom implementation with Shadow DOM support 8 | else if (rootNode && isShadowRoot(rootNode)) { 9 | var next = child; 10 | 11 | do { 12 | if (next && parent.isSameNode(next)) { 13 | return true; 14 | } // $FlowFixMe[prop-missing]: need a better way to handle this... 15 | 16 | 17 | next = next.parentNode || next.host; 18 | } while (next); 19 | } // Give up, the result is false 20 | 21 | 22 | return false; 23 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/contains.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { isShadowRoot } from './instanceOf'; 3 | 4 | export default function contains(parent: Element, child: Element) { 5 | const rootNode = child.getRootNode && child.getRootNode(); 6 | 7 | // First, attempt with faster native method 8 | if (parent.contains(child)) { 9 | return true; 10 | } 11 | // then fallback to custom implementation with Shadow DOM support 12 | else if (rootNode && isShadowRoot(rootNode)) { 13 | let next = child; 14 | do { 15 | if (next && parent.isSameNode(next)) { 16 | return true; 17 | } 18 | // $FlowFixMe[prop-missing]: need a better way to handle this... 19 | next = next.parentNode || next.host; 20 | } while (next); 21 | } 22 | 23 | // Give up, the result is false 24 | return false; 25 | } 26 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { ClientRectObject, VirtualElement } from "../types"; 2 | export default function getBoundingClientRect(element: Element | VirtualElement, includeScale?: boolean, isFixedStrategy?: boolean): ClientRectObject; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { ClientRectObject, PositioningStrategy } from "../types"; 2 | import type { Boundary, RootBoundary } from "../enums"; 3 | export default function getClippingRect(element: Element, boundary: Boundary, rootBoundary: RootBoundary, strategy: PositioningStrategy): ClientRectObject; 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { Rect, VirtualElement, Window } from "../types"; 2 | export default function getCompositeRect(elementOrVirtualElement: Element | VirtualElement, offsetParent: Element | Window, isFixed?: boolean): Rect; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.d.ts: -------------------------------------------------------------------------------- 1 | export default function getComputedStyle(element: Element): CSSStyleDeclaration; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | export default function getComputedStyle(element) { 3 | return getWindow(element).getComputedStyle(element); 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getWindow from './getWindow'; 3 | 4 | export default function getComputedStyle( 5 | element: Element 6 | ): CSSStyleDeclaration { 7 | return getWindow(element).getComputedStyle(element); 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.d.ts: -------------------------------------------------------------------------------- 1 | import type { Window } from "../types"; 2 | export default function getDocumentElement(element: Element | Window): HTMLElement; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js: -------------------------------------------------------------------------------- 1 | import { isElement } from "./instanceOf.js"; 2 | export default function getDocumentElement(element) { 3 | // $FlowFixMe[incompatible-return]: assume body is always available 4 | return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] 5 | element.document) || window.document).documentElement; 6 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { isElement } from './instanceOf'; 3 | import type { Window } from '../types'; 4 | 5 | export default function getDocumentElement( 6 | element: Element | Window 7 | ): HTMLElement { 8 | // $FlowFixMe[incompatible-return]: assume body is always available 9 | return ( 10 | (isElement(element) 11 | ? element.ownerDocument 12 | : // $FlowFixMe[prop-missing] 13 | element.document) || window.document 14 | ).documentElement; 15 | } 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { Rect } from "../types"; 2 | export default function getDocumentRect(element: HTMLElement): Rect; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.d.ts: -------------------------------------------------------------------------------- 1 | export default function getHTMLElementScroll(element: HTMLElement): { 2 | scrollLeft: number; 3 | scrollTop: number; 4 | }; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js: -------------------------------------------------------------------------------- 1 | export default function getHTMLElementScroll(element) { 2 | return { 3 | scrollLeft: element.scrollLeft, 4 | scrollTop: element.scrollTop 5 | }; 6 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function getHTMLElementScroll(element: HTMLElement) { 4 | return { 5 | scrollLeft: element.scrollLeft, 6 | scrollTop: element.scrollTop, 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { Rect } from "../types"; 2 | export default function getLayoutRect(element: HTMLElement): Rect; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js: -------------------------------------------------------------------------------- 1 | import getBoundingClientRect from "./getBoundingClientRect.js"; // Returns the layout rect of an element relative to its offsetParent. Layout 2 | // means it doesn't take into account transforms. 3 | 4 | export default function getLayoutRect(element) { 5 | var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. 6 | // Fixes https://github.com/popperjs/popper-core/issues/1223 7 | 8 | var width = element.offsetWidth; 9 | var height = element.offsetHeight; 10 | 11 | if (Math.abs(clientRect.width - width) <= 1) { 12 | width = clientRect.width; 13 | } 14 | 15 | if (Math.abs(clientRect.height - height) <= 1) { 16 | height = clientRect.height; 17 | } 18 | 19 | return { 20 | x: element.offsetLeft, 21 | y: element.offsetTop, 22 | width: width, 23 | height: height 24 | }; 25 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Rect } from '../types'; 3 | import getBoundingClientRect from './getBoundingClientRect'; 4 | 5 | // Returns the layout rect of an element relative to its offsetParent. Layout 6 | // means it doesn't take into account transforms. 7 | export default function getLayoutRect(element: HTMLElement): Rect { 8 | const clientRect = getBoundingClientRect(element); 9 | 10 | // Use the clientRect sizes if it's not been transformed. 11 | // Fixes https://github.com/popperjs/popper-core/issues/1223 12 | let width = element.offsetWidth; 13 | let height = element.offsetHeight; 14 | 15 | if (Math.abs(clientRect.width - width) <= 1) { 16 | width = clientRect.width; 17 | } 18 | 19 | if (Math.abs(clientRect.height - height) <= 1) { 20 | height = clientRect.height; 21 | } 22 | 23 | return { 24 | x: element.offsetLeft, 25 | y: element.offsetTop, 26 | width, 27 | height, 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeName.d.ts: -------------------------------------------------------------------------------- 1 | import type { Window } from "../types"; 2 | export default function getNodeName(element: (Node | null | undefined) | Window): string | null | undefined; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js: -------------------------------------------------------------------------------- 1 | export default function getNodeName(element) { 2 | return element ? (element.nodeName || '').toLowerCase() : null; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Window } from '../types'; 3 | 4 | export default function getNodeName(element: ?Node | Window): ?string { 5 | return element ? (element.nodeName || '').toLowerCase() : null; 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.d.ts: -------------------------------------------------------------------------------- 1 | import type { Window } from "../types"; 2 | export default function getNodeScroll(node: Node | Window): { 3 | scrollLeft: any; 4 | scrollTop: any; 5 | }; 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js: -------------------------------------------------------------------------------- 1 | import getWindowScroll from "./getWindowScroll.js"; 2 | import getWindow from "./getWindow.js"; 3 | import { isHTMLElement } from "./instanceOf.js"; 4 | import getHTMLElementScroll from "./getHTMLElementScroll.js"; 5 | export default function getNodeScroll(node) { 6 | if (node === getWindow(node) || !isHTMLElement(node)) { 7 | return getWindowScroll(node); 8 | } else { 9 | return getHTMLElementScroll(node); 10 | } 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getWindowScroll from './getWindowScroll'; 3 | import getWindow from './getWindow'; 4 | import { isHTMLElement } from './instanceOf'; 5 | import getHTMLElementScroll from './getHTMLElementScroll'; 6 | import type { Window } from '../types'; 7 | 8 | export default function getNodeScroll(node: Node | Window) { 9 | if (node === getWindow(node) || !isHTMLElement(node)) { 10 | return getWindowScroll(node); 11 | } else { 12 | return getHTMLElementScroll(node); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.d.ts: -------------------------------------------------------------------------------- 1 | export default function getOffsetParent(element: Element): any; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getParentNode.d.ts: -------------------------------------------------------------------------------- 1 | export default function getParentNode(element: Node | ShadowRoot): Node; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js: -------------------------------------------------------------------------------- 1 | import getNodeName from "./getNodeName.js"; 2 | import getDocumentElement from "./getDocumentElement.js"; 3 | import { isShadowRoot } from "./instanceOf.js"; 4 | export default function getParentNode(element) { 5 | if (getNodeName(element) === 'html') { 6 | return element; 7 | } 8 | 9 | return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle 10 | // $FlowFixMe[incompatible-return] 11 | // $FlowFixMe[prop-missing] 12 | element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 13 | element.parentNode || ( // DOM Element detected 14 | isShadowRoot(element) ? element.host : null) || // ShadowRoot detected 15 | // $FlowFixMe[incompatible-call]: HTMLElement is a Node 16 | getDocumentElement(element) // fallback 17 | 18 | ); 19 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getNodeName from './getNodeName'; 3 | import getDocumentElement from './getDocumentElement'; 4 | import { isShadowRoot } from './instanceOf'; 5 | 6 | export default function getParentNode(element: Node | ShadowRoot): Node { 7 | if (getNodeName(element) === 'html') { 8 | return element; 9 | } 10 | 11 | return ( 12 | // this is a quicker (but less type safe) way to save quite some bytes from the bundle 13 | // $FlowFixMe[incompatible-return] 14 | // $FlowFixMe[prop-missing] 15 | element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 16 | element.parentNode || // DOM Element detected 17 | (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected 18 | // $FlowFixMe[incompatible-call]: HTMLElement is a Node 19 | getDocumentElement(element) // fallback 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.d.ts: -------------------------------------------------------------------------------- 1 | export default function getScrollParent(node: Node): HTMLElement; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js: -------------------------------------------------------------------------------- 1 | import getParentNode from "./getParentNode.js"; 2 | import isScrollParent from "./isScrollParent.js"; 3 | import getNodeName from "./getNodeName.js"; 4 | import { isHTMLElement } from "./instanceOf.js"; 5 | export default function getScrollParent(node) { 6 | if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { 7 | // $FlowFixMe[incompatible-return]: assume body is always available 8 | return node.ownerDocument.body; 9 | } 10 | 11 | if (isHTMLElement(node) && isScrollParent(node)) { 12 | return node; 13 | } 14 | 15 | return getScrollParent(getParentNode(node)); 16 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getParentNode from './getParentNode'; 3 | import isScrollParent from './isScrollParent'; 4 | import getNodeName from './getNodeName'; 5 | import { isHTMLElement } from './instanceOf'; 6 | 7 | export default function getScrollParent(node: Node): HTMLElement { 8 | if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { 9 | // $FlowFixMe[incompatible-return]: assume body is always available 10 | return node.ownerDocument.body; 11 | } 12 | 13 | if (isHTMLElement(node) && isScrollParent(node)) { 14 | return node; 15 | } 16 | 17 | return getScrollParent(getParentNode(node)); 18 | } 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { PositioningStrategy } from "../types"; 2 | export default function getViewportRect(element: Element, strategy: PositioningStrategy): { 3 | width: number; 4 | height: number; 5 | x: number; 6 | y: number; 7 | }; 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | import getDocumentElement from "./getDocumentElement.js"; 3 | import getWindowScrollBarX from "./getWindowScrollBarX.js"; 4 | import isLayoutViewport from "./isLayoutViewport.js"; 5 | export default function getViewportRect(element, strategy) { 6 | var win = getWindow(element); 7 | var html = getDocumentElement(element); 8 | var visualViewport = win.visualViewport; 9 | var width = html.clientWidth; 10 | var height = html.clientHeight; 11 | var x = 0; 12 | var y = 0; 13 | 14 | if (visualViewport) { 15 | width = visualViewport.width; 16 | height = visualViewport.height; 17 | var layoutViewport = isLayoutViewport(); 18 | 19 | if (layoutViewport || !layoutViewport && strategy === 'fixed') { 20 | x = visualViewport.offsetLeft; 21 | y = visualViewport.offsetTop; 22 | } 23 | } 24 | 25 | return { 26 | width: width, 27 | height: height, 28 | x: x + getWindowScrollBarX(element), 29 | y: y 30 | }; 31 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindow.d.ts: -------------------------------------------------------------------------------- 1 | export default function getWindow(node: any): any; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindow.js: -------------------------------------------------------------------------------- 1 | export default function getWindow(node) { 2 | if (node == null) { 3 | return window; 4 | } 5 | 6 | if (node.toString() !== '[object Window]') { 7 | var ownerDocument = node.ownerDocument; 8 | return ownerDocument ? ownerDocument.defaultView || window : window; 9 | } 10 | 11 | return node; 12 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Window } from '../types'; 3 | declare function getWindow(node: Node | Window): Window; 4 | 5 | export default function getWindow(node) { 6 | if (node == null) { 7 | return window; 8 | } 9 | 10 | if (node.toString() !== '[object Window]') { 11 | const ownerDocument = node.ownerDocument; 12 | return ownerDocument ? ownerDocument.defaultView || window : window; 13 | } 14 | 15 | return node; 16 | } 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.d.ts: -------------------------------------------------------------------------------- 1 | import type { Window } from "../types"; 2 | export default function getWindowScroll(node: Node | Window): { 3 | scrollLeft: any; 4 | scrollTop: any; 5 | }; 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | export default function getWindowScroll(node) { 3 | var win = getWindow(node); 4 | var scrollLeft = win.pageXOffset; 5 | var scrollTop = win.pageYOffset; 6 | return { 7 | scrollLeft: scrollLeft, 8 | scrollTop: scrollTop 9 | }; 10 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getWindow from './getWindow'; 3 | import type { Window } from '../types'; 4 | 5 | export default function getWindowScroll(node: Node | Window) { 6 | const win = getWindow(node); 7 | const scrollLeft = win.pageXOffset; 8 | const scrollTop = win.pageYOffset; 9 | 10 | return { 11 | scrollLeft, 12 | scrollTop, 13 | }; 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.d.ts: -------------------------------------------------------------------------------- 1 | export default function getWindowScrollBarX(element: Element): number; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js: -------------------------------------------------------------------------------- 1 | import getBoundingClientRect from "./getBoundingClientRect.js"; 2 | import getDocumentElement from "./getDocumentElement.js"; 3 | import getWindowScroll from "./getWindowScroll.js"; 4 | export default function getWindowScrollBarX(element) { 5 | // If has a CSS width greater than the viewport, then this will be 6 | // incorrect for RTL. 7 | // Popper 1 is broken in this case and never had a bug report so let's assume 8 | // it's not an issue. I don't think anyone ever specifies width on 9 | // anyway. 10 | // Browsers where the left scrollbar doesn't cause an issue report `0` for 11 | // this (e.g. Edge 2019, IE11, Safari) 12 | return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; 13 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getBoundingClientRect from './getBoundingClientRect'; 3 | import getDocumentElement from './getDocumentElement'; 4 | import getWindowScroll from './getWindowScroll'; 5 | 6 | export default function getWindowScrollBarX(element: Element): number { 7 | // If has a CSS width greater than the viewport, then this will be 8 | // incorrect for RTL. 9 | // Popper 1 is broken in this case and never had a bug report so let's assume 10 | // it's not an issue. I don't think anyone ever specifies width on 11 | // anyway. 12 | // Browsers where the left scrollbar doesn't cause an issue report `0` for 13 | // this (e.g. Edge 2019, IE11, Safari) 14 | return ( 15 | getBoundingClientRect(getDocumentElement(element)).left + 16 | getWindowScroll(element).scrollLeft 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/instanceOf.d.ts: -------------------------------------------------------------------------------- 1 | declare function isElement(node: unknown): boolean; 2 | declare function isHTMLElement(node: unknown): boolean; 3 | declare function isShadowRoot(node: unknown): boolean; 4 | export { isElement, isHTMLElement, isShadowRoot }; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js: -------------------------------------------------------------------------------- 1 | import getWindow from "./getWindow.js"; 2 | 3 | function isElement(node) { 4 | var OwnElement = getWindow(node).Element; 5 | return node instanceof OwnElement || node instanceof Element; 6 | } 7 | 8 | function isHTMLElement(node) { 9 | var OwnElement = getWindow(node).HTMLElement; 10 | return node instanceof OwnElement || node instanceof HTMLElement; 11 | } 12 | 13 | function isShadowRoot(node) { 14 | // IE 11 has no ShadowRoot 15 | if (typeof ShadowRoot === 'undefined') { 16 | return false; 17 | } 18 | 19 | var OwnElement = getWindow(node).ShadowRoot; 20 | return node instanceof OwnElement || node instanceof ShadowRoot; 21 | } 22 | 23 | export { isElement, isHTMLElement, isShadowRoot }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getWindow from './getWindow'; 3 | 4 | declare function isElement(node: mixed): boolean %checks(node instanceof 5 | Element); 6 | function isElement(node) { 7 | const OwnElement = getWindow(node).Element; 8 | return node instanceof OwnElement || node instanceof Element; 9 | } 10 | 11 | declare function isHTMLElement(node: mixed): boolean %checks(node instanceof 12 | HTMLElement); 13 | function isHTMLElement(node) { 14 | const OwnElement = getWindow(node).HTMLElement; 15 | return node instanceof OwnElement || node instanceof HTMLElement; 16 | } 17 | 18 | declare function isShadowRoot(node: mixed): boolean %checks(node instanceof 19 | ShadowRoot); 20 | function isShadowRoot(node) { 21 | // IE 11 has no ShadowRoot 22 | if (typeof ShadowRoot === 'undefined') { 23 | return false; 24 | } 25 | const OwnElement = getWindow(node).ShadowRoot; 26 | return node instanceof OwnElement || node instanceof ShadowRoot; 27 | } 28 | 29 | export { isElement, isHTMLElement, isShadowRoot }; 30 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.d.ts: -------------------------------------------------------------------------------- 1 | export default function isLayoutViewport(): boolean; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js: -------------------------------------------------------------------------------- 1 | import getUAString from "../utils/userAgent.js"; 2 | export default function isLayoutViewport() { 3 | return !/^((?!chrome|android).)*safari/i.test(getUAString()); 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getUAString from '../utils/userAgent'; 3 | 4 | export default function isLayoutViewport() { 5 | return !/^((?!chrome|android).)*safari/i.test(getUAString()); 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.d.ts: -------------------------------------------------------------------------------- 1 | export default function isScrollParent(element: HTMLElement): boolean; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js: -------------------------------------------------------------------------------- 1 | import getComputedStyle from "./getComputedStyle.js"; 2 | export default function isScrollParent(element) { 3 | // Firefox wants us to check `-x` and `-y` variations as well 4 | var _getComputedStyle = getComputedStyle(element), 5 | overflow = _getComputedStyle.overflow, 6 | overflowX = _getComputedStyle.overflowX, 7 | overflowY = _getComputedStyle.overflowY; 8 | 9 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 10 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getComputedStyle from './getComputedStyle'; 3 | 4 | export default function isScrollParent(element: HTMLElement): boolean { 5 | // Firefox wants us to check `-x` and `-y` variations as well 6 | const { overflow, overflowX, overflowY } = getComputedStyle(element); 7 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isTableElement.d.ts: -------------------------------------------------------------------------------- 1 | export default function isTableElement(element: Element): boolean; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js: -------------------------------------------------------------------------------- 1 | import getNodeName from "./getNodeName.js"; 2 | export default function isTableElement(element) { 3 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import getNodeName from './getNodeName'; 3 | 4 | export default function isTableElement(element: Element): boolean { 5 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts: -------------------------------------------------------------------------------- 1 | import type { Window, VisualViewport } from "../types"; 2 | export default function listScrollParents(element: Node, list?: Array): Array; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./types"; 2 | export * from "./enums"; 3 | export * from "./modifiers"; 4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper"; 5 | export { createPopper } from "./popper"; 6 | export { createPopper as createPopperLite } from "./popper-lite"; 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/index.js: -------------------------------------------------------------------------------- 1 | export * from "./enums.js"; 2 | export * from "./modifiers/index.js"; // eslint-disable-next-line import/no-unused-modules 3 | 4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper.js"; // eslint-disable-next-line import/no-unused-modules 5 | 6 | export { createPopper } from "./popper.js"; // eslint-disable-next-line import/no-unused-modules 7 | 8 | export { createPopper as createPopperLite } from "./popper-lite.js"; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | export type * from './types'; 3 | export * from './enums'; 4 | export * from './modifiers'; 5 | 6 | // eslint-disable-next-line import/no-unused-modules 7 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from './createPopper'; 8 | 9 | // eslint-disable-next-line import/no-unused-modules 10 | export { createPopper } from './popper'; 11 | 12 | // eslint-disable-next-line import/no-unused-modules 13 | export { createPopper as createPopperLite } from './popper-lite'; 14 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export declare type ApplyStylesModifier = Modifier<"applyStyles", {}>; 3 | declare const _default: ApplyStylesModifier; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier, Padding, Rect } from "../types"; 2 | import type { Placement } from "../enums"; 3 | export declare type Options = { 4 | element: HTMLElement | string | null; 5 | padding: Padding | ((arg0: { 6 | popper: Rect; 7 | reference: Rect; 8 | placement: Placement; 9 | }) => Padding); 10 | }; 11 | export declare type ArrowModifier = Modifier<"arrow", Options>; 12 | declare const _default: ArrowModifier; 13 | export default _default; 14 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export declare type Options = { 3 | scroll: boolean; 4 | resize: boolean; 5 | }; 6 | export declare type EventListenersModifier = Modifier<"eventListeners", Options>; 7 | declare const _default: EventListenersModifier; 8 | export default _default; 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/flip.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement, Boundary, RootBoundary } from "../enums"; 2 | import type { Modifier, Padding } from "../types"; 3 | export declare type Options = { 4 | mainAxis: boolean; 5 | altAxis: boolean; 6 | fallbackPlacements: Array; 7 | padding: Padding; 8 | boundary: Boundary; 9 | rootBoundary: RootBoundary; 10 | altBoundary: boolean; 11 | flipVariations: boolean; 12 | allowedAutoPlacements: Array; 13 | }; 14 | export declare type FlipModifier = Modifier<"flip", Options>; 15 | declare const _default: FlipModifier; 16 | export default _default; 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/hide.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export declare type HideModifier = Modifier<"hide", {}>; 3 | declare const _default: HideModifier; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as applyStyles } from "./applyStyles"; 2 | export { default as arrow } from "./arrow"; 3 | export { default as computeStyles } from "./computeStyles"; 4 | export { default as eventListeners } from "./eventListeners"; 5 | export { default as flip } from "./flip"; 6 | export { default as hide } from "./hide"; 7 | export { default as offset } from "./offset"; 8 | export { default as popperOffsets } from "./popperOffsets"; 9 | export { default as preventOverflow } from "./preventOverflow"; 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/index.js: -------------------------------------------------------------------------------- 1 | export { default as applyStyles } from "./applyStyles.js"; 2 | export { default as arrow } from "./arrow.js"; 3 | export { default as computeStyles } from "./computeStyles.js"; 4 | export { default as eventListeners } from "./eventListeners.js"; 5 | export { default as flip } from "./flip.js"; 6 | export { default as hide } from "./hide.js"; 7 | export { default as offset } from "./offset.js"; 8 | export { default as popperOffsets } from "./popperOffsets.js"; 9 | export { default as preventOverflow } from "./preventOverflow.js"; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/index.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | export { default as applyStyles } from './applyStyles'; 3 | export { default as arrow } from './arrow'; 4 | export { default as computeStyles } from './computeStyles'; 5 | export { default as eventListeners } from './eventListeners'; 6 | export { default as flip } from './flip'; 7 | export { default as hide } from './hide'; 8 | export { default as offset } from './offset'; 9 | export { default as popperOffsets } from './popperOffsets'; 10 | export { default as preventOverflow } from './preventOverflow'; 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/offset.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement } from "../enums"; 2 | import type { Modifier, Rect, Offsets } from "../types"; 3 | export declare type OffsetsFunction = (arg0: { 4 | popper: Rect; 5 | reference: Rect; 6 | placement: Placement; 7 | }) => [number | null | undefined, number | null | undefined]; 8 | declare type Offset = OffsetsFunction | [number | null | undefined, number | null | undefined]; 9 | export declare type Options = { 10 | offset: Offset; 11 | }; 12 | export declare function distanceAndSkiddingToXY(placement: Placement, rects: { 13 | popper: Rect; 14 | reference: Rect; 15 | }, offset: Offset): Offsets; 16 | export declare type OffsetModifier = Modifier<"offset", Options>; 17 | declare const _default: OffsetModifier; 18 | export default _default; 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export declare type PopperOffsetsModifier = Modifier<"popperOffsets", {}>; 3 | declare const _default: PopperOffsetsModifier; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js: -------------------------------------------------------------------------------- 1 | import computeOffsets from "../utils/computeOffsets.js"; 2 | 3 | function popperOffsets(_ref) { 4 | var state = _ref.state, 5 | name = _ref.name; 6 | // Offsets are the actual position the popper needs to have to be 7 | // properly positioned near its reference element 8 | // This is the most basic placement, and will be adjusted by 9 | // the modifiers in the next step 10 | state.modifiersData[name] = computeOffsets({ 11 | reference: state.rects.reference, 12 | element: state.rects.popper, 13 | strategy: 'absolute', 14 | placement: state.placement 15 | }); 16 | } // eslint-disable-next-line import/no-unused-modules 17 | 18 | 19 | export default { 20 | name: 'popperOffsets', 21 | enabled: true, 22 | phase: 'read', 23 | fn: popperOffsets, 24 | data: {} 25 | }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { ModifierArguments, Modifier } from '../types'; 3 | import computeOffsets from '../utils/computeOffsets'; 4 | 5 | function popperOffsets({ state, name }: ModifierArguments<{||}>) { 6 | // Offsets are the actual position the popper needs to have to be 7 | // properly positioned near its reference element 8 | // This is the most basic placement, and will be adjusted by 9 | // the modifiers in the next step 10 | state.modifiersData[name] = computeOffsets({ 11 | reference: state.rects.reference, 12 | element: state.rects.popper, 13 | strategy: 'absolute', 14 | placement: state.placement, 15 | }); 16 | } 17 | 18 | // eslint-disable-next-line import/no-unused-modules 19 | export type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>; 20 | export default ({ 21 | name: 'popperOffsets', 22 | enabled: true, 23 | phase: 'read', 24 | fn: popperOffsets, 25 | data: {}, 26 | }: PopperOffsetsModifier); 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement, Boundary, RootBoundary } from "../enums"; 2 | import type { Rect, Modifier, Padding } from "../types"; 3 | declare type TetherOffset = ((arg0: { 4 | popper: Rect; 5 | reference: Rect; 6 | placement: Placement; 7 | }) => number | { 8 | mainAxis: number; 9 | altAxis: number; 10 | }) | number | { 11 | mainAxis: number; 12 | altAxis: number; 13 | }; 14 | export declare type Options = { 15 | mainAxis: boolean; 16 | altAxis: boolean; 17 | boundary: Boundary; 18 | rootBoundary: RootBoundary; 19 | altBoundary: boolean; 20 | /** 21 | * Allows the popper to overflow from its boundaries to keep it near its 22 | * reference element 23 | */ 24 | tether: boolean; 25 | tetherOffset: TetherOffset; 26 | padding: Padding; 27 | }; 28 | export declare type PreventOverflowModifier = Modifier<"preventOverflow", Options>; 29 | declare const _default: PreventOverflowModifier; 30 | export default _default; 31 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-base.d.ts: -------------------------------------------------------------------------------- 1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper"; 2 | export * from "./types"; 3 | export { createPopper, popperGenerator, detectOverflow }; 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-base.js: -------------------------------------------------------------------------------- 1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper.js"; 2 | // eslint-disable-next-line import/no-unused-modules 3 | export { createPopper, popperGenerator, detectOverflow }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-base.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { createPopper, popperGenerator, detectOverflow } from './createPopper'; 3 | 4 | export type * from './types'; 5 | 6 | // eslint-disable-next-line import/no-unused-modules 7 | export { createPopper, popperGenerator, detectOverflow }; 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-lite.d.ts: -------------------------------------------------------------------------------- 1 | import { popperGenerator, detectOverflow } from "./createPopper"; 2 | export * from "./types"; 3 | declare const defaultModifiers: (import("./modifiers/popperOffsets").PopperOffsetsModifier | import("./modifiers/eventListeners").EventListenersModifier | import("./modifiers/computeStyles").ComputeStylesModifier | import("./modifiers/applyStyles").ApplyStylesModifier)[]; 4 | declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance; 5 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-lite.js: -------------------------------------------------------------------------------- 1 | import { popperGenerator, detectOverflow } from "./createPopper.js"; 2 | import eventListeners from "./modifiers/eventListeners.js"; 3 | import popperOffsets from "./modifiers/popperOffsets.js"; 4 | import computeStyles from "./modifiers/computeStyles.js"; 5 | import applyStyles from "./modifiers/applyStyles.js"; 6 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles]; 7 | var createPopper = /*#__PURE__*/popperGenerator({ 8 | defaultModifiers: defaultModifiers 9 | }); // eslint-disable-next-line import/no-unused-modules 10 | 11 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper-lite.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { popperGenerator, detectOverflow } from './createPopper'; 3 | 4 | import eventListeners from './modifiers/eventListeners'; 5 | import popperOffsets from './modifiers/popperOffsets'; 6 | import computeStyles from './modifiers/computeStyles'; 7 | import applyStyles from './modifiers/applyStyles'; 8 | 9 | export type * from './types'; 10 | 11 | const defaultModifiers = [ 12 | eventListeners, 13 | popperOffsets, 14 | computeStyles, 15 | applyStyles, 16 | ]; 17 | 18 | const createPopper = popperGenerator({ defaultModifiers }); 19 | 20 | // eslint-disable-next-line import/no-unused-modules 21 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; 22 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/popper.d.ts: -------------------------------------------------------------------------------- 1 | import { popperGenerator, detectOverflow } from "./createPopper"; 2 | export * from "./types"; 3 | declare const defaultModifiers: (import("./modifiers/popperOffsets").PopperOffsetsModifier | import("./modifiers/flip").FlipModifier | import("./modifiers/hide").HideModifier | import("./modifiers/offset").OffsetModifier | import("./modifiers/eventListeners").EventListenersModifier | import("./modifiers/computeStyles").ComputeStylesModifier | import("./modifiers/arrow").ArrowModifier | import("./modifiers/preventOverflow").PreventOverflowModifier | import("./modifiers/applyStyles").ApplyStylesModifier)[]; 4 | declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance; 5 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; 6 | export { createPopper as createPopperLite } from "./popper-lite"; 7 | export * from "./modifiers"; 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/admin/node_modules/@popperjs/core/lib/types.js -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts: -------------------------------------------------------------------------------- 1 | import type { State, Padding } from "../types"; 2 | import type { Placement, ComputedPlacement, Boundary, RootBoundary } from "../enums"; 3 | declare type Options = { 4 | placement: Placement; 5 | padding: Padding; 6 | boundary: Boundary; 7 | rootBoundary: RootBoundary; 8 | flipVariations: boolean; 9 | allowedAutoPlacements?: Array; 10 | }; 11 | export default function computeAutoPlacement(state: Partial, options?: Options): Array; 12 | export {}; 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/computeOffsets.d.ts: -------------------------------------------------------------------------------- 1 | import type { Rect, PositioningStrategy, Offsets, ClientRectObject } from "../types"; 2 | import { Placement } from "../enums"; 3 | export default function computeOffsets({ reference, element, placement }: { 4 | reference: Rect | ClientRectObject; 5 | element: Rect | ClientRectObject; 6 | strategy: PositioningStrategy; 7 | placement?: Placement; 8 | }): Offsets; 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/debounce.d.ts: -------------------------------------------------------------------------------- 1 | export default function debounce(fn: (...args: Array) => any): () => Promise; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/debounce.js: -------------------------------------------------------------------------------- 1 | export default function debounce(fn) { 2 | var pending; 3 | return function () { 4 | if (!pending) { 5 | pending = new Promise(function (resolve) { 6 | Promise.resolve().then(function () { 7 | pending = undefined; 8 | resolve(fn()); 9 | }); 10 | }); 11 | } 12 | 13 | return pending; 14 | }; 15 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/debounce.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function debounce(fn: Function): () => Promise { 4 | let pending; 5 | return () => { 6 | if (!pending) { 7 | pending = new Promise(resolve => { 8 | Promise.resolve().then(() => { 9 | pending = undefined; 10 | resolve(fn()); 11 | }); 12 | }); 13 | } 14 | 15 | return pending; 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/detectOverflow.d.ts: -------------------------------------------------------------------------------- 1 | import type { State, SideObject, Padding, PositioningStrategy } from "../types"; 2 | import type { Placement, Boundary, RootBoundary, Context } from "../enums"; 3 | export declare type Options = { 4 | placement: Placement; 5 | strategy: PositioningStrategy; 6 | boundary: Boundary; 7 | rootBoundary: RootBoundary; 8 | elementContext: Context; 9 | altBoundary: boolean; 10 | padding: Padding; 11 | }; 12 | export default function detectOverflow(state: State, options?: Partial): SideObject; 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/expandToHashMap.d.ts: -------------------------------------------------------------------------------- 1 | export default function expandToHashMap(value: T, keys: Array): { 2 | [key: string]: T; 3 | }; 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/expandToHashMap.js: -------------------------------------------------------------------------------- 1 | export default function expandToHashMap(value, keys) { 2 | return keys.reduce(function (hashMap, key) { 3 | hashMap[key] = value; 4 | return hashMap; 5 | }, {}); 6 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function expandToHashMap< 4 | T: number | string | boolean, 5 | K: string 6 | >(value: T, keys: Array): { [key: string]: T } { 7 | return keys.reduce((hashMap, key) => { 8 | hashMap[key] = value; 9 | return hashMap; 10 | }, {}); 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltAxis.d.ts: -------------------------------------------------------------------------------- 1 | export default function getAltAxis(axis: "x" | "y"): "x" | "y"; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltAxis.js: -------------------------------------------------------------------------------- 1 | export default function getAltAxis(axis) { 2 | return axis === 'x' ? 'y' : 'x'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltAxis.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' { 4 | return axis === 'x' ? 'y' : 'x'; 5 | } 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltLen.d.ts: -------------------------------------------------------------------------------- 1 | export default function getAltLen(len: "width" | "height"): "width" | "height"; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltLen.js: -------------------------------------------------------------------------------- 1 | export default function getAltLen(len) { 2 | return len === 'width' ? 'height' : 'width'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getAltLen.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function getAltLen(len: 'width' | 'height'): 'width' | 'height' { 4 | return len === 'width' ? 'height' : 'width'; 5 | } 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getBasePlacement.d.ts: -------------------------------------------------------------------------------- 1 | import { BasePlacement, Placement, auto } from "../enums"; 2 | export default function getBasePlacement(placement: Placement | typeof auto): BasePlacement; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getBasePlacement.js: -------------------------------------------------------------------------------- 1 | import { auto } from "../enums.js"; 2 | export default function getBasePlacement(placement) { 3 | return placement.split('-')[0]; 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { type BasePlacement, type Placement, auto } from '../enums'; 3 | 4 | export default function getBasePlacement( 5 | placement: Placement | typeof auto 6 | ): BasePlacement { 7 | return (placement.split('-')[0]: any); 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getFreshSideObject.d.ts: -------------------------------------------------------------------------------- 1 | import type { SideObject } from "../types"; 2 | export default function getFreshSideObject(): SideObject; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js: -------------------------------------------------------------------------------- 1 | export default function getFreshSideObject() { 2 | return { 3 | top: 0, 4 | right: 0, 5 | bottom: 0, 6 | left: 0 7 | }; 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { SideObject } from '../types'; 3 | 4 | export default function getFreshSideObject(): SideObject { 5 | return { 6 | top: 0, 7 | right: 0, 8 | bottom: 0, 9 | left: 0, 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement } from "../enums"; 2 | export default function getMainAxisFromPlacement(placement: Placement): "x" | "y"; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js: -------------------------------------------------------------------------------- 1 | export default function getMainAxisFromPlacement(placement) { 2 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Placement } from '../enums'; 3 | 4 | export default function getMainAxisFromPlacement( 5 | placement: Placement 6 | ): 'x' | 'y' { 7 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositePlacement.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement } from "../enums"; 2 | export default function getOppositePlacement(placement: Placement): Placement; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js: -------------------------------------------------------------------------------- 1 | var hash = { 2 | left: 'right', 3 | right: 'left', 4 | bottom: 'top', 5 | top: 'bottom' 6 | }; 7 | export default function getOppositePlacement(placement) { 8 | return placement.replace(/left|right|bottom|top/g, function (matched) { 9 | return hash[matched]; 10 | }); 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Placement } from '../enums'; 3 | 4 | const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; 5 | 6 | export default function getOppositePlacement(placement: Placement): Placement { 7 | return (placement.replace( 8 | /left|right|bottom|top/g, 9 | matched => hash[matched] 10 | ): any); 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.d.ts: -------------------------------------------------------------------------------- 1 | import type { Placement } from "../enums"; 2 | export default function getOppositeVariationPlacement(placement: Placement): Placement; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js: -------------------------------------------------------------------------------- 1 | var hash = { 2 | start: 'end', 3 | end: 'start' 4 | }; 5 | export default function getOppositeVariationPlacement(placement) { 6 | return placement.replace(/start|end/g, function (matched) { 7 | return hash[matched]; 8 | }); 9 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Placement } from '../enums'; 3 | 4 | const hash = { start: 'end', end: 'start' }; 5 | 6 | export default function getOppositeVariationPlacement( 7 | placement: Placement 8 | ): Placement { 9 | return (placement.replace(/start|end/g, matched => hash[matched]): any); 10 | } 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getVariation.d.ts: -------------------------------------------------------------------------------- 1 | import { Variation, Placement } from "../enums"; 2 | export default function getVariation(placement: Placement): Variation | null | undefined; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getVariation.js: -------------------------------------------------------------------------------- 1 | export default function getVariation(placement) { 2 | return placement.split('-')[1]; 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/getVariation.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { type Variation, type Placement } from '../enums'; 3 | 4 | export default function getVariation(placement: Placement): ?Variation { 5 | return (placement.split('-')[1]: any); 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/math.d.ts: -------------------------------------------------------------------------------- 1 | export declare const max: (...values: number[]) => number; 2 | export declare const min: (...values: number[]) => number; 3 | export declare const round: (x: number) => number; 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/math.js: -------------------------------------------------------------------------------- 1 | export var max = Math.max; 2 | export var min = Math.min; 3 | export var round = Math.round; -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/math.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | export const max = Math.max; 3 | export const min = Math.min; 4 | export const round = Math.round; 5 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export default function mergeByName(modifiers: Array>>): Array>>; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergeByName.js: -------------------------------------------------------------------------------- 1 | export default function mergeByName(modifiers) { 2 | var merged = modifiers.reduce(function (merged, current) { 3 | var existing = merged[current.name]; 4 | merged[current.name] = existing ? Object.assign({}, existing, current, { 5 | options: Object.assign({}, existing.options, current.options), 6 | data: Object.assign({}, existing.data, current.data) 7 | }) : current; 8 | return merged; 9 | }, {}); // IE11 does not support Object.values 10 | 11 | return Object.keys(merged).map(function (key) { 12 | return merged[key]; 13 | }); 14 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Modifier } from '../types'; 3 | 4 | export default function mergeByName( 5 | modifiers: Array<$Shape>> 6 | ): Array<$Shape>> { 7 | const merged = modifiers.reduce((merged, current) => { 8 | const existing = merged[current.name]; 9 | merged[current.name] = existing 10 | ? { 11 | ...existing, 12 | ...current, 13 | options: { ...existing.options, ...current.options }, 14 | data: { ...existing.data, ...current.data }, 15 | } 16 | : current; 17 | return merged; 18 | }, {}); 19 | 20 | // IE11 does not support Object.values 21 | return Object.keys(merged).map(key => merged[key]); 22 | } 23 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergePaddingObject.d.ts: -------------------------------------------------------------------------------- 1 | import type { SideObject } from "../types"; 2 | export default function mergePaddingObject(paddingObject: Partial): SideObject; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js: -------------------------------------------------------------------------------- 1 | import getFreshSideObject from "./getFreshSideObject.js"; 2 | export default function mergePaddingObject(paddingObject) { 3 | return Object.assign({}, getFreshSideObject(), paddingObject); 4 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { SideObject } from '../types'; 3 | import getFreshSideObject from './getFreshSideObject'; 4 | 5 | export default function mergePaddingObject( 6 | paddingObject: $Shape 7 | ): SideObject { 8 | return { 9 | ...getFreshSideObject(), 10 | ...paddingObject, 11 | }; 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts: -------------------------------------------------------------------------------- 1 | import type { Modifier } from "../types"; 2 | export default function orderModifiers(modifiers: Array>): Array>; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/rectToClientRect.d.ts: -------------------------------------------------------------------------------- 1 | import type { Rect, ClientRectObject } from "../types"; 2 | export default function rectToClientRect(rect: Rect): ClientRectObject; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/rectToClientRect.js: -------------------------------------------------------------------------------- 1 | export default function rectToClientRect(rect) { 2 | return Object.assign({}, rect, { 3 | left: rect.x, 4 | top: rect.y, 5 | right: rect.x + rect.width, 6 | bottom: rect.y + rect.height 7 | }); 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import type { Rect, ClientRectObject } from '../types'; 3 | 4 | export default function rectToClientRect(rect: Rect): ClientRectObject { 5 | return { 6 | ...rect, 7 | left: rect.x, 8 | top: rect.y, 9 | right: rect.x + rect.width, 10 | bottom: rect.y + rect.height, 11 | }; 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/uniqueBy.d.ts: -------------------------------------------------------------------------------- 1 | export default function uniqueBy(arr: Array, fn: (arg0: T) => any): Array; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/uniqueBy.js: -------------------------------------------------------------------------------- 1 | export default function uniqueBy(arr, fn) { 2 | var identifiers = new Set(); 3 | return arr.filter(function (item) { 4 | var identifier = fn(item); 5 | 6 | if (!identifiers.has(identifier)) { 7 | identifiers.add(identifier); 8 | return true; 9 | } 10 | }); 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/uniqueBy.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export default function uniqueBy(arr: Array, fn: T => any): Array { 4 | const identifiers = new Set(); 5 | 6 | return arr.filter(item => { 7 | const identifier = fn(item); 8 | 9 | if (!identifiers.has(identifier)) { 10 | identifiers.add(identifier); 11 | return true; 12 | } 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/userAgent.d.ts: -------------------------------------------------------------------------------- 1 | export default function getUAString(): string; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/userAgent.js: -------------------------------------------------------------------------------- 1 | export default function getUAString() { 2 | var uaData = navigator.userAgentData; 3 | 4 | if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { 5 | return uaData.brands.map(function (item) { 6 | return item.brand + "/" + item.version; 7 | }).join(' '); 8 | } 9 | 10 | return navigator.userAgent; 11 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/userAgent.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | type Navigator = Navigator & { userAgentData?: NavigatorUAData }; 3 | 4 | interface NavigatorUAData { 5 | brands: Array<{ brand: string, version: string }>; 6 | mobile: boolean; 7 | platform: string; 8 | } 9 | 10 | export default function getUAString(): string { 11 | const uaData = (navigator: Navigator).userAgentData; 12 | 13 | if (uaData?.brands && Array.isArray(uaData.brands)) { 14 | return uaData.brands 15 | .map((item) => `${item.brand}/${item.version}`) 16 | .join(' '); 17 | } 18 | 19 | return navigator.userAgent; 20 | } 21 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/within.d.ts: -------------------------------------------------------------------------------- 1 | export declare function within(min: number, value: number, max: number): number; 2 | export declare function withinMaxClamp(min: number, value: number, max: number): number; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/within.js: -------------------------------------------------------------------------------- 1 | import { max as mathMax, min as mathMin } from "./math.js"; 2 | export function within(min, value, max) { 3 | return mathMax(min, mathMin(value, max)); 4 | } 5 | export function withinMaxClamp(min, value, max) { 6 | var v = within(min, value, max); 7 | return v > max ? max : v; 8 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@popperjs/core/lib/utils/within.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | import { max as mathMax, min as mathMin } from './math'; 3 | 4 | export function within(min: number, value: number, max: number): number { 5 | return mathMax(min, mathMin(value, max)); 6 | } 7 | 8 | export function withinMaxClamp(min: number, value: number, max: number) { 9 | const v = within(min, value, max); 10 | return v > max ? max : v; 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/codemirror` 3 | 4 | # Summary 5 | This package contains type definitions for codemirror (https://github.com/codemirror/CodeMirror). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/codemirror. 9 | 10 | ### Additional Details 11 | * Last updated: Wed, 22 Nov 2023 00:24:48 GMT 12 | * Dependencies: [@types/tern](https://npmjs.com/package/@types/tern) 13 | 14 | # Credits 15 | These definitions were written by [mihailik](https://github.com/mihailik), [nrbernard](https://github.com/nrbernard), [Pr1st0n](https://github.com/Pr1st0n), [rileymiller](https://github.com/rileymiller), [toddself](https://github.com/toddself), [ysulyma](https://github.com/ysulyma), [azoson](https://github.com/azoson), [kylesferrazza](https://github.com/kylesferrazza), [fityocsaba96](https://github.com/fityocsaba96), [koddsson](https://github.com/koddsson), and [ficristo](https://github.com/ficristo). 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/comment/continuecomment.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * if true, the editor will make the next line continue a comment when 7 | * pressing the Enter key. If set to a string, it will continue comments 8 | * using a custom shortcut. 9 | */ 10 | continueComments?: boolean | string | { key: string; continueLineComment?: boolean | undefined } | undefined; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/display/autorefresh.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | // if true, it will be refreshed the first time the editor becomes visible. 6 | // you can pass delay (msec) time as polling duration 7 | autoRefresh?: boolean | { delay: number } | undefined; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/display/fullscreen.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * When set to true, will make the editor full-screen (as in, taking up the whole browser window). 7 | * Depends on fullscreen.css 8 | * @see {@link https://codemirror.net/doc/manual.html#addon_fullscreen} 9 | * @default false 10 | */ 11 | fullScreen?: boolean | undefined; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/display/placeholder.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * Adds a placeholder option that can be used to make content appear in the editor when it is empty and not focused. 7 | * It can hold either a string or a DOM node. Also gives the editor a CodeMirror-empty CSS class whenever it doesn't contain any text. 8 | */ 9 | placeholder?: string | Node | undefined; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/display/rulers.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | export interface Ruler { 4 | column: number; 5 | className?: string | undefined; 6 | color?: string | undefined; 7 | lineStyle?: string | undefined; 8 | width?: string | undefined; 9 | } 10 | 11 | declare module "../../" { 12 | interface EditorConfiguration { 13 | /** show one or more vertical rulers in the editor. */ 14 | rulers?: false | ReadonlyArray | undefined; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/edit/continuelist.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface CommandActions { 5 | newlineAndIndentContinueMarkdownList(cm: Editor): void | typeof Pass; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/edit/matchtags.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface CommandActions { 5 | /** 6 | * You can bind a key to in order to jump to the tag matching the one under the cursor. 7 | */ 8 | toMatchingTag(cm: Editor): void; 9 | } 10 | 11 | interface MatchTags { 12 | /** 13 | * Highlight both matching tags. 14 | */ 15 | bothTags?: boolean | undefined; 16 | } 17 | 18 | interface EditorConfiguration { 19 | /** 20 | * When enabled will cause the tags around the cursor to be highlighted (using the CodeMirror-matchingtag class). 21 | * Depends on the addon/fold/xml-fold.js addon. 22 | */ 23 | matchTags?: MatchTags | boolean | undefined; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/edit/trailingspace.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** when enabled, adds the CSS class cm-trailingspace to stretches of whitespace at the end of lines. */ 6 | showTrailingSpace?: boolean | undefined; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/fold/brace-fold.d.ts: -------------------------------------------------------------------------------- 1 | import "./foldcode"; 2 | 3 | declare module "./foldcode" { 4 | interface FoldHelpers { 5 | brace: FoldRangeFinder; 6 | import: FoldRangeFinder; 7 | include: FoldRangeFinder; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/fold/comment-fold.d.ts: -------------------------------------------------------------------------------- 1 | import "./foldcode"; 2 | 3 | declare module "./foldcode" { 4 | interface FoldHelpers { 5 | comment: FoldRangeFinder; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/fold/indent-fold.d.ts: -------------------------------------------------------------------------------- 1 | import "./foldcode"; 2 | 3 | declare module "./foldcode" { 4 | interface FoldHelpers { 5 | indent: FoldRangeFinder; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/fold/markdown-fold.d.ts: -------------------------------------------------------------------------------- 1 | import "./foldcode"; 2 | 3 | declare module "./foldcode" { 4 | interface FoldHelpers { 5 | markdown: FoldRangeFinder; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/fold/xml-fold.d.ts: -------------------------------------------------------------------------------- 1 | import * as CodeMirror from "../../"; 2 | import "./foldcode"; 3 | 4 | export interface XmlTag { 5 | from: CodeMirror.Position; 6 | to: CodeMirror.Position; 7 | tag: string; 8 | } 9 | 10 | declare module "./foldcode" { 11 | interface FoldHelpers { 12 | xml: FoldRangeFinder; 13 | } 14 | } 15 | 16 | declare module "../../" { 17 | function findMatchingTag( 18 | cm: Editor, 19 | pos: Position, 20 | range: Range, 21 | ): { open: XmlTag; close: XmlTag | null | undefined; at: "open" | "close" } | undefined; 22 | 23 | function findEnclosingTag( 24 | cm: Editor, 25 | pos: Position, 26 | range: Range, 27 | tag: string, 28 | ): { open: XmlTag; close: XmlTag } | undefined; 29 | 30 | function scanForClosingTag(cm: Editor, pos: Position, name: string, end?: Position): XmlTag | null | undefined; 31 | } 32 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/anyword-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./show-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | anyword: HintFunction; 6 | } 7 | 8 | interface ShowHintOptions { 9 | word?: RegExp | undefined; 10 | range?: number | undefined; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/css-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./show-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | css: HintFunction; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/html-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./xml-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | html: HintFunction; 6 | } 7 | 8 | const htmlSchema: any; 9 | } 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/javascript-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./show-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | javascript: HintFunction; 6 | coffeescript: HintFunction; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/sql-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./show-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | sql: HintFunction; 6 | } 7 | 8 | interface SqlHintTable { 9 | columns: string[]; 10 | } 11 | 12 | interface ShowHintOptions { 13 | tables?: 14 | | ReadonlyArray 15 | | Record 16 | | undefined; 17 | defaultTable?: string | undefined; 18 | disableKeywords?: boolean | undefined; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/hint/xml-hint.d.ts: -------------------------------------------------------------------------------- 1 | import "./show-hint"; 2 | 3 | declare module "../../" { 4 | interface HintHelpers { 5 | xml: HintFunction; 6 | } 7 | 8 | interface ShowHintOptions { 9 | schemaInfo?: any; 10 | quoteChar?: string | undefined; 11 | matchInMiddle?: boolean | undefined; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/coffeescript-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const coffeescript: Linter<{}>; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/css-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const css: Linter; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/html-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const html: Linter; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/javascript-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const javascript: Linter; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/json-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const json: Linter<{}>; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/lint/yaml-lint.d.ts: -------------------------------------------------------------------------------- 1 | import { Linter } from "./lint"; 2 | 3 | declare module "../../" { 4 | namespace lint { 5 | const yaml: Linter<{}>; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/mode/loadMode.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | export interface RequireModeOptions { 4 | path?(mode: string): string; 5 | loadMode?(file: string, callback: () => void): void; 6 | } 7 | 8 | declare module "../../" { 9 | let modeURL: string; 10 | 11 | function requireMode(mode: string | { name: string }, callback: () => void, options?: RequireModeOptions): void; 12 | 13 | function autoLoadMode(instance: Editor, mode: string, options?: RequireModeOptions): void; 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/mode/overlay.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | /** 5 | * Mode combinator that can be used to extend a mode with an 'overlay' — a secondary mode is run over the stream, 6 | * along with the base mode, and can color specific pieces of text without interfering with the base mode. 7 | */ 8 | function overlayMode(base: Mode, overlay: Mode, combine?: boolean): Mode; 9 | } 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/mode/simple.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | // Based on https://codemirror.net/demo/simplemode.html 5 | interface Rule { 6 | regex?: string | RegExp | undefined; 7 | token?: string | string[] | null | undefined; 8 | sol?: boolean | undefined; 9 | next?: string | undefined; 10 | push?: string | undefined; 11 | pop?: boolean | undefined; 12 | mode?: { 13 | spec: string | ModeSpec; 14 | end?: RegExp | undefined; 15 | persistent?: boolean | undefined; 16 | } | undefined; 17 | indent?: boolean | undefined; 18 | dedent?: boolean | undefined; 19 | dedentIfLineStart?: boolean | undefined; 20 | } 21 | 22 | function defineSimpleMode( 23 | name: string, 24 | // eslint-disable-next-line @definitelytyped/no-unnecessary-generics 25 | mode: { [P in K]: P extends "meta" ? Record : Rule[] } & { start: Rule[] }, 26 | ): void; 27 | } 28 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/runmode/colorize.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | /** 5 | * Provides a convenient way to syntax-highlight code snippets in a webpage. Depends on the runmode addon (or its standalone variant). 6 | * Can be called with an array (or other array-ish collection) of DOM nodes that represent the code snippets. By default, it'll get all pre tags. 7 | * Will read the data-lang attribute of these nodes to figure out their language, and syntax-color their content using the relevant CodeMirror 8 | * mode (you'll have to load the scripts for the relevant modes yourself). 9 | * A second argument may be provided to give a default mode, used when no language attribute is found for a node. 10 | */ 11 | function colorize(collection?: ArrayLike, defaultMode?: string): void; 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/scroll/annotatescrollbar.d.ts: -------------------------------------------------------------------------------- 1 | import * as CodeMirror from "../.."; 2 | import "./searchcursor"; 3 | 4 | export interface Annotation { 5 | clear(): void; 6 | /** 7 | * Updates the ranges to be highlighted. The array must be sorted. 8 | */ 9 | update(annotations: Array<{ from: CodeMirror.Position; to: CodeMirror.Position }>): void; 10 | } 11 | 12 | export interface AnnotateScrollbarOptions { 13 | className: string; 14 | scrollButtonHeight?: number | undefined; 15 | listenForChanges?: boolean | undefined; 16 | } 17 | 18 | declare module "../../" { 19 | interface Editor { 20 | annotateScrollbar(options: string | AnnotateScrollbarOptions): Annotation; 21 | } 22 | 23 | interface EditorConfiguration { 24 | scrollButtonHeight?: number | undefined; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/scroll/scrollpastend.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * When the end of the file is reached it allows you to keep scrolling so that your last few lines of code are not stuck at the bottom of the editor. 7 | */ 8 | scrollPastEnd?: boolean | undefined; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/scroll/simplescrollbars.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface ScrollbarModels { 5 | simple: ScrollbarModelConstructor; 6 | overlay: ScrollbarModelConstructor; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/search/jump-to-line.d.ts: -------------------------------------------------------------------------------- 1 | import "../.."; 2 | import "../dialog/dialog"; 3 | 4 | declare module "../../" { 5 | interface CommandActions { 6 | jumpToLine(cm: Editor): void; 7 | } 8 | 9 | interface EditorConfiguration { 10 | search?: { 11 | bottom: boolean; 12 | } | undefined; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/search/matchesonscrollbar.d.ts: -------------------------------------------------------------------------------- 1 | import "../.."; 2 | import "./searchcursor"; 3 | 4 | export interface SearchAnnotation { 5 | clear(): void; 6 | } 7 | 8 | declare module "../../" { 9 | interface Editor { 10 | showMatchesOnScrollbar(query: string | RegExp, caseFold?: boolean, className?: string): SearchAnnotation; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/search/search.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | import "./searchcursor"; 3 | import "../dialog/dialog"; 4 | 5 | declare module "../../" { 6 | interface CommandActions { 7 | find(cm: Editor): void; 8 | findPersistent(cm: Editor): void; 9 | findPersistentNext(cm: Editor): void; 10 | findPersistentPrev(cm: Editor): void; 11 | findNext(cm: Editor): void; 12 | findPrev(cm: Editor): void; 13 | clearSearch(cm: Editor): void; 14 | replace(cm: Editor): void; 15 | replaceAll(cm: Editor): void; 16 | } 17 | 18 | interface EditorConfiguration { 19 | search?: { 20 | bottom: boolean; 21 | } | undefined; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/selection/active-line.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface StyleActiveLine { 5 | /** 6 | * Controls whether single-line selections, or just cursor selections, are styled. Defaults to false (only cursor selections). 7 | */ 8 | nonEmpty: boolean; 9 | } 10 | 11 | interface EditorConfiguration { 12 | /** 13 | * When enabled gives the wrapper of the line that contains the cursor the class CodeMirror-activeline, 14 | * adds a background with the class CodeMirror-activeline-background, and adds the class CodeMirror-activeline-gutter to the line's gutter space is enabled. 15 | */ 16 | styleActiveLine?: StyleActiveLine | boolean | undefined; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/selection/mark-selection.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * Causes the selected text to be marked with the CSS class CodeMirror-selectedtext or a custom class when the styleSelectedText option is enabled. 7 | * Useful to change the colour of the selection (in addition to the background). 8 | */ 9 | styleSelectedText?: boolean | string | undefined; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/selection/selection-pointer.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | declare module "../../" { 4 | interface EditorConfiguration { 5 | /** 6 | * Controls the mouse cursor appearance when hovering over the selection. It can be set to a string, like "pointer", or to true, 7 | * in which case the "default" (arrow) cursor will be used. 8 | */ 9 | selectionPointer?: boolean | string | undefined; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/addon/wrap/hardwrap.d.ts: -------------------------------------------------------------------------------- 1 | import "../../"; 2 | 3 | export interface HardwrapOptions { 4 | column?: number | undefined; 5 | paragraphStart?: RegExp | undefined; 6 | paragraphEnd?: RegExp | undefined; 7 | wrapOn?: RegExp | undefined; 8 | killTrailingSpace?: boolean | undefined; 9 | forceBreak?: boolean | undefined; 10 | } 11 | 12 | declare module "../../" { 13 | interface CommandActions { 14 | wrapLines(cm: Editor): void; 15 | } 16 | 17 | interface Editor { 18 | /** Wraps the paragraph at the given position. If pos is not given, it defaults to the cursor position. */ 19 | wrapParagraph(pos?: Position, options?: HardwrapOptions): void; 20 | /** Wraps the given range as one big paragraph. */ 21 | wrapRange(from: Position, to: Position, options?: HardwrapOptions): void; 22 | /** Wraps the paragraphs in (and overlapping with) the given range individually. */ 23 | wrapParagraphsInRange(from: Position, to: Position, options?: HardwrapOptions): void; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/codemirror/mode/meta.d.ts: -------------------------------------------------------------------------------- 1 | import "../"; 2 | 3 | export interface ModeInfo { 4 | name: string; 5 | mime?: string | undefined; 6 | mimes?: string[] | undefined; 7 | mode: string; 8 | file?: RegExp | undefined; 9 | ext?: string[] | undefined; 10 | alias?: string[] | undefined; 11 | } 12 | 13 | declare module "../" { 14 | const modeInfo: ModeInfo[]; 15 | function findModeByMIME(mime: string): ModeInfo | undefined; 16 | function findModeByExtension(ext: string): ModeInfo | undefined; 17 | function findModeByFileName(filename: string): ModeInfo | undefined; 18 | function findModeByName(name: string): ModeInfo | undefined; 19 | } 20 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/estree/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/estree` 3 | 4 | # Summary 5 | This package contains type definitions for estree (https://github.com/estree/estree). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree. 9 | 10 | ### Additional Details 11 | * Last updated: Mon, 06 Nov 2023 22:41:05 GMT 12 | * Dependencies: none 13 | 14 | # Credits 15 | These definitions were written by [RReverser](https://github.com/RReverser). 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/estree/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@types/estree", 3 | "version": "1.0.5", 4 | "description": "TypeScript definitions for estree", 5 | "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "RReverser", 10 | "githubUsername": "RReverser", 11 | "url": "https://github.com/RReverser" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", 19 | "directory": "types/estree" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "typesPublisherContentHash": "6f0eeaffe488ce594e73f8df619c677d752a279b51edbc744e4aebb20db4b3a7", 24 | "typeScriptVersion": "4.5", 25 | "nonNpm": true 26 | } -------------------------------------------------------------------------------- /web/admin/node_modules/@types/marked/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/marked` 3 | 4 | # Summary 5 | This package contains type definitions for Marked (https://github.com/markedjs/marked). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/marked/v4. 9 | 10 | ### Additional Details 11 | * Last updated: Wed, 27 Sep 2023 09:42:15 GMT 12 | * Dependencies: none 13 | * Global values: none 14 | 15 | # Credits 16 | These definitions were written by [William Orr](https://github.com/worr), [BendingBender](https://github.com/BendingBender), [CrossR](https://github.com/CrossR), [Mike Wickett](https://github.com/mwickett), [Hitomi Hatsukaze](https://github.com/htkzhtm), [Ezra Celli](https://github.com/ezracelli), [Romain LE BARO](https://github.com/scandinave), [Sarun Intaralawan](https://github.com/sarunint), [Tony Brix](https://github.com/UziTech), [Anatolii Titov](https://github.com/Toliak), [Jean-Francois Cere](https://github.com/jfcere), and [Mykhaylo Stolyarchuk](https://github.com/MykSto). 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/marked/index.d.mts: -------------------------------------------------------------------------------- 1 | export * from "./index.js"; 2 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/tern/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/tern` 3 | 4 | # Summary 5 | This package contains type definitions for tern (https://github.com/ternjs/tern). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/tern. 9 | 10 | ### Additional Details 11 | * Last updated: Wed, 22 Nov 2023 00:24:48 GMT 12 | * Dependencies: [@types/estree](https://npmjs.com/package/@types/estree) 13 | 14 | # Credits 15 | These definitions were written by [Nikolaj Kappler](https://github.com/nkappler). 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/tern/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./lib/infer"; 2 | export * from "./lib/tern"; 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/@types/tern/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@types/tern", 3 | "version": "0.23.9", 4 | "description": "TypeScript definitions for tern", 5 | "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/tern", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Nikolaj Kappler", 10 | "githubUsername": "nkappler", 11 | "url": "https://github.com/nkappler" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", 19 | "directory": "types/tern" 20 | }, 21 | "scripts": {}, 22 | "dependencies": { 23 | "@types/estree": "*" 24 | }, 25 | "typesPublisherContentHash": "574b4df6b61b782fca94b39f2d1ab020ac04284e7ebe5ca76dc9b20a81773dad", 26 | "typeScriptVersion": "4.5" 27 | } -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap-auto-dark-mode/.gitattributes: -------------------------------------------------------------------------------- 1 | # https://github.com/github/linguist#overrides 2 | src/bootstrap-auto-dark-mode.js linguist-vendored=false 3 | index.html linguist-documentation 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap-auto-dark-mode/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Stefan Haack 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap-auto-dark-mode/README.md: -------------------------------------------------------------------------------- 1 | # bootstrap-auto-dark-mode 2 | 3 | This script adds the missing auto-dark mode to the new theme feature of Bootstrap 5.3. 4 | 5 | It switches the Bootstrap theme automatically between light and dark mode, depending on the system settings, if you set the `data-bs-theme` attribute of your <html> to `auto`. 6 | 7 | ## Usage 8 | 9 | Use it by just including `bootstrap-auto-dark-mode.js` in your header and setting `data-bs-theme` to `auto`. 10 | 11 | ```html 12 | 13 | 14 | 15 | 16 | 17 | 18 | … 19 | ``` 20 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap-auto-dark-mode/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-auto-dark-mode", 3 | "version": "1.1.0", 4 | "description": "Adds the missing auto dark mode to Bootstrap >= 5.3, which switches automatically, based on system settings.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [ 10 | "bootstrap", 11 | "dark-mode" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/shaack/bootstrap-auto-dark-mode" 16 | }, 17 | "author": "shaack.com", 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap-auto-dark-mode/src/bootstrap-auto-dark-mode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Author and copyright: Stefan Haack (https://shaack.com) 3 | * Repository: https://github.com/shaack/bootstrap-auto-dark-mode 4 | * License: MIT, see file 'LICENSE' 5 | */ 6 | 7 | ;(function () { 8 | const htmlElement = document.querySelector("html") 9 | if(htmlElement.getAttribute("data-bs-theme") === 'auto') { 10 | function updateTheme() { 11 | document.querySelector("html").setAttribute("data-bs-theme", 12 | window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light") 13 | } 14 | 15 | window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', updateTheme) 16 | updateTheme() 17 | } 18 | })() 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/js/index.esm.js: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------------------------------------------- 3 | * Bootstrap index.esm.js 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5 | * -------------------------------------------------------------------------- 6 | */ 7 | 8 | export { default as Alert } from './src/alert.js' 9 | export { default as Button } from './src/button.js' 10 | export { default as Carousel } from './src/carousel.js' 11 | export { default as Collapse } from './src/collapse.js' 12 | export { default as Dropdown } from './src/dropdown.js' 13 | export { default as Modal } from './src/modal.js' 14 | export { default as Offcanvas } from './src/offcanvas.js' 15 | export { default as Popover } from './src/popover.js' 16 | export { default as ScrollSpy } from './src/scrollspy.js' 17 | export { default as Tab } from './src/tab.js' 18 | export { default as Toast } from './src/toast.js' 19 | export { default as Tooltip } from './src/tooltip.js' 20 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/js/index.umd.js: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------------------------------------------- 3 | * Bootstrap index.umd.js 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5 | * -------------------------------------------------------------------------- 6 | */ 7 | 8 | import Alert from './src/alert.js' 9 | import Button from './src/button.js' 10 | import Carousel from './src/carousel.js' 11 | import Collapse from './src/collapse.js' 12 | import Dropdown from './src/dropdown.js' 13 | import Modal from './src/modal.js' 14 | import Offcanvas from './src/offcanvas.js' 15 | import Popover from './src/popover.js' 16 | import ScrollSpy from './src/scrollspy.js' 17 | import Tab from './src/tab.js' 18 | import Toast from './src/toast.js' 19 | import Tooltip from './src/tooltip.js' 20 | 21 | export default { 22 | Alert, 23 | Button, 24 | Carousel, 25 | Collapse, 26 | Dropdown, 27 | Modal, 28 | Offcanvas, 29 | Popover, 30 | ScrollSpy, 31 | Tab, 32 | Toast, 33 | Tooltip 34 | } 35 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_forms.scss: -------------------------------------------------------------------------------- 1 | @import "forms/labels"; 2 | @import "forms/form-text"; 3 | @import "forms/form-control"; 4 | @import "forms/form-select"; 5 | @import "forms/form-check"; 6 | @import "forms/form-range"; 7 | @import "forms/floating-labels"; 8 | @import "forms/input-group"; 9 | @import "forms/validation"; 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_grid.scss: -------------------------------------------------------------------------------- 1 | // Row 2 | // 3 | // Rows contain your columns. 4 | 5 | :root { 6 | @each $name, $value in $grid-breakpoints { 7 | --#{$prefix}breakpoint-#{$name}: #{$value}; 8 | } 9 | } 10 | 11 | @if $enable-grid-classes { 12 | .row { 13 | @include make-row(); 14 | 15 | > * { 16 | @include make-col-ready(); 17 | } 18 | } 19 | } 20 | 21 | @if $enable-cssgrid { 22 | .grid { 23 | display: grid; 24 | grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr); 25 | grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr); 26 | gap: var(--#{$prefix}gap, #{$grid-gutter-width}); 27 | 28 | @include make-cssgrid(); 29 | } 30 | } 31 | 32 | 33 | // Columns 34 | // 35 | // Common styles for small and large grid columns 36 | 37 | @if $enable-grid-classes { 38 | @include make-grid-columns(); 39 | } 40 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/color-bg"; 3 | @import "helpers/colored-links"; 4 | @import "helpers/focus-ring"; 5 | @import "helpers/icon-link"; 6 | @import "helpers/ratio"; 7 | @import "helpers/position"; 8 | @import "helpers/stacks"; 9 | @import "helpers/visually-hidden"; 10 | @import "helpers/stretched-link"; 11 | @import "helpers/text-truncation"; 12 | @import "helpers/vr"; 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Vendor 6 | @import "vendor/rfs"; 7 | 8 | // Deprecate 9 | @import "mixins/deprecate"; 10 | 11 | // Helpers 12 | @import "mixins/breakpoints"; 13 | @import "mixins/color-mode"; 14 | @import "mixins/color-scheme"; 15 | @import "mixins/image"; 16 | @import "mixins/resize"; 17 | @import "mixins/visually-hidden"; 18 | @import "mixins/reset-text"; 19 | @import "mixins/text-truncate"; 20 | 21 | // Utilities 22 | @import "mixins/utilities"; 23 | 24 | // Components 25 | @import "mixins/backdrop"; 26 | @import "mixins/buttons"; 27 | @import "mixins/caret"; 28 | @import "mixins/pagination"; 29 | @import "mixins/lists"; 30 | @import "mixins/forms"; 31 | @import "mixins/table-variants"; 32 | 33 | // Skins 34 | @import "mixins/border-radius"; 35 | @import "mixins/box-shadow"; 36 | @import "mixins/gradients"; 37 | @import "mixins/transition"; 38 | 39 | // Layout 40 | @import "mixins/clearfix"; 41 | @import "mixins/container"; 42 | @import "mixins/grid"; 43 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_placeholders.scss: -------------------------------------------------------------------------------- 1 | .placeholder { 2 | display: inline-block; 3 | min-height: 1em; 4 | vertical-align: middle; 5 | cursor: wait; 6 | background-color: currentcolor; 7 | opacity: $placeholder-opacity-max; 8 | 9 | &.btn::before { 10 | display: inline-block; 11 | content: ""; 12 | } 13 | } 14 | 15 | // Sizing 16 | .placeholder-xs { 17 | min-height: .6em; 18 | } 19 | 20 | .placeholder-sm { 21 | min-height: .8em; 22 | } 23 | 24 | .placeholder-lg { 25 | min-height: 1.2em; 26 | } 27 | 28 | // Animation 29 | .placeholder-glow { 30 | .placeholder { 31 | animation: placeholder-glow 2s ease-in-out infinite; 32 | } 33 | } 34 | 35 | @keyframes placeholder-glow { 36 | 50% { 37 | opacity: $placeholder-opacity-min; 38 | } 39 | } 40 | 41 | .placeholder-wave { 42 | mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%); 43 | mask-size: 200% 100%; 44 | animation: placeholder-wave 2s linear infinite; 45 | } 46 | 47 | @keyframes placeholder-wave { 48 | 100% { 49 | mask-position: -200% 0%; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | // scss-docs-start collapse-classes 10 | .collapse { 11 | &:not(.show) { 12 | display: none; 13 | } 14 | } 15 | 16 | .collapsing { 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | 21 | &.collapse-horizontal { 22 | width: 0; 23 | height: auto; 24 | @include transition($transition-collapse-width); 25 | } 26 | } 27 | // scss-docs-end collapse-classes 28 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/banner"; 2 | @include bsBanner(Reboot); 3 | 4 | @import "functions"; 5 | @import "variables"; 6 | @import "variables-dark"; 7 | @import "maps"; 8 | @import "mixins"; 9 | @import "root"; 10 | @import "reboot"; 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/bootstrap-utilities.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/banner"; 2 | @include bsBanner(Utilities); 3 | 4 | // Configuration 5 | @import "functions"; 6 | @import "variables"; 7 | @import "variables-dark"; 8 | @import "maps"; 9 | @import "mixins"; 10 | @import "utilities"; 11 | 12 | // Layout & components 13 | @import "root"; 14 | 15 | // Helpers 16 | @import "helpers"; 17 | 18 | // Utilities 19 | @import "utilities/api"; 20 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/forms/_validation.scss: -------------------------------------------------------------------------------- 1 | // Form validation 2 | // 3 | // Provide feedback to users when form field values are valid or invalid. Works 4 | // primarily for client-side validation via scoped `:invalid` and `:valid` 5 | // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for 6 | // server-side validation. 7 | 8 | // scss-docs-start form-validation-states-loop 9 | @each $state, $data in $form-validation-states { 10 | @include form-validation-state($state, $data...); 11 | } 12 | // scss-docs-end form-validation-states-loop 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_color-bg.scss: -------------------------------------------------------------------------------- 1 | // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251 2 | @each $color, $value in $theme-colors { 3 | .text-bg-#{$color} { 4 | color: color-contrast($value) if($enable-important-utilities, !important, null); 5 | background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_focus-ring.scss: -------------------------------------------------------------------------------- 1 | .focus-ring:focus { 2 | outline: 0; 3 | // By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values 4 | box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color); 5 | } 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_icon-link.scss: -------------------------------------------------------------------------------- 1 | .icon-link { 2 | display: inline-flex; 3 | gap: $icon-link-gap; 4 | align-items: center; 5 | text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5)); 6 | text-underline-offset: $icon-link-underline-offset; 7 | backface-visibility: hidden; 8 | 9 | > .bi { 10 | flex-shrink: 0; 11 | width: $icon-link-icon-size; 12 | height: $icon-link-icon-size; 13 | fill: currentcolor; 14 | @include transition($icon-link-icon-transition); 15 | } 16 | } 17 | 18 | .icon-link-hover { 19 | &:hover, 20 | &:focus-visible { 21 | > .bi { 22 | transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_position.scss: -------------------------------------------------------------------------------- 1 | // Shorthand 2 | 3 | .fixed-top { 4 | position: fixed; 5 | top: 0; 6 | right: 0; 7 | left: 0; 8 | z-index: $zindex-fixed; 9 | } 10 | 11 | .fixed-bottom { 12 | position: fixed; 13 | right: 0; 14 | bottom: 0; 15 | left: 0; 16 | z-index: $zindex-fixed; 17 | } 18 | 19 | // Responsive sticky top and bottom 20 | @each $breakpoint in map-keys($grid-breakpoints) { 21 | @include media-breakpoint-up($breakpoint) { 22 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 23 | 24 | .sticky#{$infix}-top { 25 | position: sticky; 26 | top: 0; 27 | z-index: $zindex-sticky; 28 | } 29 | 30 | .sticky#{$infix}-bottom { 31 | position: sticky; 32 | bottom: 0; 33 | z-index: $zindex-sticky; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_ratio.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .ratio { 4 | position: relative; 5 | width: 100%; 6 | 7 | &::before { 8 | display: block; 9 | padding-top: var(--#{$prefix}aspect-ratio); 10 | content: ""; 11 | } 12 | 13 | > * { 14 | position: absolute; 15 | top: 0; 16 | left: 0; 17 | width: 100%; 18 | height: 100%; 19 | } 20 | } 21 | 22 | @each $key, $ratio in $aspect-ratios { 23 | .ratio-#{$key} { 24 | --#{$prefix}aspect-ratio: #{$ratio}; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_stacks.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start stacks 2 | .hstack { 3 | display: flex; 4 | flex-direction: row; 5 | align-items: center; 6 | align-self: stretch; 7 | } 8 | 9 | .vstack { 10 | display: flex; 11 | flex: 1 1 auto; 12 | flex-direction: column; 13 | align-self: stretch; 14 | } 15 | // scss-docs-end stacks 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::#{$stretched-link-pseudo-element} { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: $stretched-link-z-index; 13 | content: ""; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus):not(:focus-within) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/helpers/_vr.scss: -------------------------------------------------------------------------------- 1 | .vr { 2 | display: inline-block; 3 | align-self: stretch; 4 | width: $vr-border-width; 5 | min-height: 1em; 6 | background-color: currentcolor; 7 | opacity: $hr-opacity; 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @include deprecate("`alert-variant()`", "v5.3.0", "v6.0.0"); 2 | 3 | // scss-docs-start alert-variant-mixin 4 | @mixin alert-variant($background, $border, $color) { 5 | --#{$prefix}alert-color: #{$color}; 6 | --#{$prefix}alert-bg: #{$background}; 7 | --#{$prefix}alert-border-color: #{$border}; 8 | --#{$prefix}alert-link-color: #{shade-color($color, 20%)}; 9 | 10 | @if $enable-gradients { 11 | background-image: var(--#{$prefix}gradient); 12 | } 13 | 14 | .alert-link { 15 | color: var(--#{$prefix}alert-link-color); 16 | } 17 | } 18 | // scss-docs-end alert-variant-mixin 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_backdrop.scss: -------------------------------------------------------------------------------- 1 | // Shared between modals and offcanvases 2 | @mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) { 3 | position: fixed; 4 | top: 0; 5 | left: 0; 6 | z-index: $zindex; 7 | width: 100vw; 8 | height: 100vh; 9 | background-color: $backdrop-bg; 10 | 11 | // Fade for backdrop 12 | &.fade { opacity: 0; } 13 | &.show { opacity: $backdrop-opacity; } 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_banner.scss: -------------------------------------------------------------------------------- 1 | @mixin bsBanner($file) { 2 | /*! 3 | * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/) 4 | * Copyright 2011-2024 The Bootstrap Authors 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | */ 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @each $value in $shadow { 6 | @if $value != null { 7 | $result: append($result, $value, "comma"); 8 | } 9 | @if $value == none and length($shadow) > 1 { 10 | @warn "The keyword 'none' must be used as a single argument."; 11 | } 12 | } 13 | 14 | @if (length($result) > 0) { 15 | box-shadow: $result; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_color-mode.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start color-mode-mixin 2 | @mixin color-mode($mode: light, $root: false) { 3 | @if $color-mode-type == "media-query" { 4 | @if $root == true { 5 | @media (prefers-color-scheme: $mode) { 6 | :root { 7 | @content; 8 | } 9 | } 10 | } @else { 11 | @media (prefers-color-scheme: $mode) { 12 | @content; 13 | } 14 | } 15 | } @else { 16 | [data-bs-theme="#{$mode}"] { 17 | @content; 18 | } 19 | } 20 | } 21 | // scss-docs-end color-mode-mixin 22 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_color-scheme.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start mixin-color-scheme 2 | @mixin color-scheme($name) { 3 | @media (prefers-color-scheme: #{$name}) { 4 | @content; 5 | } 6 | } 7 | // scss-docs-end mixin-color-scheme 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_container.scss: -------------------------------------------------------------------------------- 1 | // Container mixins 2 | 3 | @mixin make-container($gutter: $container-padding-x) { 4 | --#{$prefix}gutter-x: #{$gutter}; 5 | --#{$prefix}gutter-y: 0; 6 | width: 100%; 7 | padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list 8 | padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list 9 | margin-right: auto; 10 | margin-left: auto; 11 | } 12 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | @include deprecate("`list-group-item-variant()`", "v5.3.0", "v6.0.0"); 2 | 3 | // List Groups 4 | 5 | // scss-docs-start list-group-mixin 6 | @mixin list-group-item-variant($state, $background, $color) { 7 | .list-group-item-#{$state} { 8 | color: $color; 9 | background-color: $background; 10 | 11 | &.list-group-item-action { 12 | &:hover, 13 | &:focus { 14 | color: $color; 15 | background-color: shade-color($background, 10%); 16 | } 17 | 18 | &.active { 19 | color: $white; 20 | background-color: $color; 21 | border-color: $color; 22 | } 23 | } 24 | } 25 | } 26 | // scss-docs-end list-group-mixin 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | // scss-docs-start pagination-mixin 4 | @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) { 5 | --#{$prefix}pagination-padding-x: #{$padding-x}; 6 | --#{$prefix}pagination-padding-y: #{$padding-y}; 7 | @include rfs($font-size, --#{$prefix}pagination-font-size); 8 | --#{$prefix}pagination-border-radius: #{$border-radius}; 9 | } 10 | // scss-docs-end pagination-mixin 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or overflow-wrap / word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | white-space: normal; 15 | word-spacing: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/bootstrap/scss/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-disallowed-list 2 | @mixin transition($transition...) { 3 | @if length($transition) == 0 { 4 | $transition: $transition-base; 5 | } 6 | 7 | @if length($transition) > 1 { 8 | @each $value in $transition { 9 | @if $value == null or $value == none { 10 | @warn "The keyword 'none' or 'null' must be used as a single argument."; 11 | } 12 | } 13 | } 14 | 15 | @if $enable-transitions { 16 | @if nth($transition, 1) != null { 17 | transition: $transition; 18 | } 19 | 20 | @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none { 21 | @media (prefers-reduced-motion: reduce) { 22 | transition: none; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "indent": [ 4 | 2, 5 | "tab" 6 | ], 7 | "strict": 0, 8 | "no-console": 0, 9 | "quotes": [ 10 | 2, 11 | "double" 12 | ], 13 | "semi": [ 14 | 2, 15 | "always" 16 | ] 17 | }, 18 | "env": { 19 | "browser": true, 20 | "node":true 21 | }, 22 | "extends": "eslint:recommended" 23 | } -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/.npmignore: -------------------------------------------------------------------------------- 1 | localtesting/* 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '6' 4 | - '5' 5 | - '4' 6 | - '0.12' 7 | before_script: 8 | - npm install -g gulp 9 | script: gulp 10 | deploy: 11 | provider: npm 12 | email: support@nextstepwebs.com 13 | api_key: 14 | secure: nADZupyOhJAhTQgr5uOIydbDEjCTAj+3nGHW7ZBJUrVJcb0uR4pg8ngmwrUpvaCeNXgKPG9Uag75/mPcBre9ly2cigBIG9LHlxImlF8qi1jRJykcNRmBb9N2MJJj+zdAMwLaF5Ns+f2v3zt97qxovbEzunhXGcZeCaxc6y40nDM8OTyo0PESNBjQYqaNblt2gO2KHysrwFL8i4kCCKLa+HOBLu2iqgk/fYVqTmfhEeOiiwQ4lIXJeyPyzgb3OPhKCMV1FI5H0T48fRD0MPczt8ds3Daj1OjCbIZurQ7s1dcKwz1g6TKATN59HcMsSarW4lImrEeYmfQxz2F5NjKDRhnith5V0W2IssrkpDG9teTFQ20eQdl5cpnlGjgBvsjb8GhPLR44GvefyJL4+kJGI3O1KVq3/7wbmu/IXrvhtKHEQSdGL2PTqW8QxKasAoUCnk3LGZKN12g8bg0xDg2tvoCUk5Z3asHLRdCJpDbBq1h8QfZ4HV5VLYjr84xduOUZbEUtfMVAixPpJ4h1E3OXJ1wil97BlHjxOZ8JkkxJg5lgSUZ/O/QWwJokEAYXR9c+ouMoVokChAyleV77cRZ5qLn9zbnUxZtnKX8w0IUKeu95/z8QgiaRcERKVCpZvceo8Qw0Y+JoiEtno7Zg/nsrZGxsS6K/V3yg1QQmT3bjDHQ= 15 | on: 16 | tags: true 17 | repo: NextStepWebs/codemirror-spell-checker 18 | branch: production 19 | -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror-spell-checker", 3 | "version": "1.1.2", 4 | "homepage": "https://github.com/NextStepWebs/codemirror-spell-checker", 5 | "authors": [ 6 | "Wes Cossick " 7 | ], 8 | "description": "Dead-simple spell checking in CodeMirror.", 9 | "main": ["dist/spell-checker.min.js", "dist/spell-checker.min.css", "dist/en_US.aff", "dist/en_US.dic"], 10 | "keywords": [ 11 | "codemirror", 12 | "code", 13 | "mirror", 14 | "spell", 15 | "checker", 16 | "checking", 17 | "spellchecker", 18 | "spellchecking", 19 | "javascript" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components" 26 | ] 27 | } -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/debug/spell-checker.css: -------------------------------------------------------------------------------- 1 | /** 2 | * codemirror-spell-checker v1.1.2 3 | * Copyright Next Step Webs, Inc. 4 | * @link https://github.com/NextStepWebs/codemirror-spell-checker 5 | * @license MIT 6 | */ 7 | .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) { 8 | background: rgba(255, 0, 0, .15); 9 | } -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/dist/en_US.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/admin/node_modules/codemirror-spell-checker/dist/en_US.dic -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/dist/spell-checker.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * codemirror-spell-checker v1.1.2 3 | * Copyright Next Step Webs, Inc. 4 | * @link https://github.com/NextStepWebs/codemirror-spell-checker 5 | * @license MIT 6 | */ 7 | .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)} -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/src/css/spell-checker.css: -------------------------------------------------------------------------------- 1 | .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) { 2 | background: rgba(255, 0, 0, .15); 3 | } -------------------------------------------------------------------------------- /web/admin/node_modules/codemirror-spell-checker/src/data/en_US.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/admin/node_modules/codemirror-spell-checker/src/data/en_US.dic -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/.bin/marked: -------------------------------------------------------------------------------- 1 | ../marked/bin/marked.js -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/dialog/dialog.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-dialog { 2 | position: absolute; 3 | left: 0; right: 0; 4 | background: inherit; 5 | z-index: 15; 6 | padding: .1em .8em; 7 | overflow: hidden; 8 | color: inherit; 9 | } 10 | 11 | .CodeMirror-dialog-top { 12 | border-bottom: 1px solid #eee; 13 | top: 0; 14 | } 15 | 16 | .CodeMirror-dialog-bottom { 17 | border-top: 1px solid #eee; 18 | bottom: 0; 19 | } 20 | 21 | .CodeMirror-dialog input { 22 | border: none; 23 | outline: none; 24 | background: transparent; 25 | width: 20em; 26 | color: inherit; 27 | font-family: monospace; 28 | } 29 | 30 | .CodeMirror-dialog button { 31 | font-size: 70%; 32 | } 33 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/display/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/5/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { 13 | if (prev == CodeMirror.Init) prev = false; 14 | if (prev && !val) 15 | cm.removeOverlay("trailingspace"); 16 | else if (!prev && val) 17 | cm.addOverlay({ 18 | token: function(stream) { 19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} 20 | if (i > stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | box-sizing: border-box; 23 | } 24 | 25 | .CodeMirror-hint { 26 | margin: 0; 27 | padding: 0 4px; 28 | border-radius: 2px; 29 | white-space: pre; 30 | color: black; 31 | cursor: pointer; 32 | } 33 | 34 | li.CodeMirror-hint-active { 35 | background: #08f; 36 | color: white; 37 | } 38 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/changes: -------------------------------------------------------------------------------- 1 | * Fix focus tracking in shadow DOM. 2 | * [go mode](https://codemirror.net/5/mode/go/): Allow underscores in numbers. 3 | * [jsx mode](https://codemirror.net/5/mode/jsx/index.html): Support TS generics marked by trailing comma. 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/mode/tiddlywiki/tiddlywiki.css: -------------------------------------------------------------------------------- 1 | span.cm-underlined { 2 | text-decoration: underline; 3 | } 4 | span.cm-strikethrough { 5 | text-decoration: line-through; 6 | } 7 | span.cm-brace { 8 | color: #170; 9 | font-weight: bold; 10 | } 11 | span.cm-table { 12 | color: blue; 13 | font-weight: bold; 14 | } 15 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/mode/tiki/tiki.css: -------------------------------------------------------------------------------- 1 | .cm-tw-syntaxerror { 2 | color: #FFF; 3 | background-color: #900; 4 | } 5 | 6 | .cm-tw-deleted { 7 | text-decoration: line-through; 8 | } 9 | 10 | .cm-tw-header5 { 11 | font-weight: bold; 12 | } 13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/ 14 | padding-left: 10px; 15 | } 16 | 17 | .cm-tw-box { 18 | border-top-width: 0px !important; 19 | border-style: solid; 20 | border-width: 1px; 21 | border-color: inherit; 22 | } 23 | 24 | .cm-tw-underline { 25 | text-decoration: underline; 26 | } -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/addon/runmode/codemirror-standalone.js: -------------------------------------------------------------------------------- 1 | import StringStream from "../../util/StringStream.js" 2 | import { countColumn } from "../../util/misc.js" 3 | import * as modeMethods from "../../modes.js" 4 | 5 | // declare global: globalThis, CodeMirror 6 | 7 | // Create a minimal CodeMirror needed to use runMode, and assign to root. 8 | var root = typeof globalThis !== 'undefined' ? globalThis : window 9 | root.CodeMirror = {} 10 | 11 | // Copy StringStream and mode methods into CodeMirror object. 12 | CodeMirror.StringStream = StringStream 13 | for (var exported in modeMethods) CodeMirror[exported] = modeMethods[exported] 14 | 15 | // Minimal default mode. 16 | CodeMirror.defineMode("null", () => ({token: stream => stream.skipToEnd()})) 17 | CodeMirror.defineMIME("text/plain", "null") 18 | 19 | CodeMirror.registerHelper = CodeMirror.registerGlobalHelper = Math.min 20 | CodeMirror.splitLines = function(string) { return string.split(/\r?\n|\r/) } 21 | CodeMirror.countColumn = countColumn 22 | 23 | CodeMirror.defaults = { indentUnit: 2 } 24 | export default CodeMirror 25 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/addon/runmode/codemirror.node.js: -------------------------------------------------------------------------------- 1 | import StringStream from "../../util/StringStream.js" 2 | import * as modeMethods from "../../modes.js" 3 | import {countColumn} from "../../util/misc.js" 4 | 5 | // Copy StringStream and mode methods into exports (CodeMirror) object. 6 | exports.StringStream = StringStream 7 | exports.countColumn = countColumn 8 | for (var exported in modeMethods) exports[exported] = modeMethods[exported] 9 | 10 | // Shim library CodeMirror with the minimal CodeMirror defined above. 11 | require.cache[require.resolve("../../lib/codemirror")] = require.cache[require.resolve("./runmode.node")] 12 | require.cache[require.resolve("../../addon/runmode/runmode")] = require.cache[require.resolve("./runmode.node")] 13 | 14 | // Minimal default mode. 15 | exports.defineMode("null", () => ({token: stream => stream.skipToEnd()})) 16 | exports.defineMIME("text/plain", "null") 17 | 18 | exports.registerHelper = exports.registerGlobalHelper = Math.min 19 | exports.splitLines = function(string) { return string.split(/\r?\n|\r/) } 20 | 21 | exports.defaults = { indentUnit: 2 } 22 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/addon/runmode/runmode-standalone.js: -------------------------------------------------------------------------------- 1 | import "./codemirror-standalone.js" 2 | import "../../../addon/runmode/runmode.js" -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/addon/runmode/runmode.node.js: -------------------------------------------------------------------------------- 1 | import "./codemirror.node.js" 2 | import "../../../addon/runmode/runmode.js" -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/codemirror.js: -------------------------------------------------------------------------------- 1 | import { CodeMirror } from "./edit/main.js" 2 | 3 | export default CodeMirror 4 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/display/mode_state.js: -------------------------------------------------------------------------------- 1 | import { getMode } from "../modes.js" 2 | 3 | import { startWorker } from "./highlight_worker.js" 4 | import { regChange } from "./view_tracking.js" 5 | 6 | // Used to get the editor into a consistent state again when options change. 7 | 8 | export function loadMode(cm) { 9 | cm.doc.mode = getMode(cm.options, cm.doc.modeOption) 10 | resetModeState(cm) 11 | } 12 | 13 | export function resetModeState(cm) { 14 | cm.doc.iter(line => { 15 | if (line.stateAfter) line.stateAfter = null 16 | if (line.styles) line.styles = null 17 | }) 18 | cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first 19 | startWorker(cm, 100) 20 | cm.state.modeGen++ 21 | if (cm.curOp) regChange(cm) 22 | } 23 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/edit/utils.js: -------------------------------------------------------------------------------- 1 | import { clearCaches } from "../measurement/position_measurement.js" 2 | 3 | export function themeChanged(cm) { 4 | cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + 5 | cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-") 6 | clearCaches(cm) 7 | } 8 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/input/keynames.js: -------------------------------------------------------------------------------- 1 | export let keyNames = { 2 | 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", 3 | 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", 4 | 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", 5 | 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", 6 | 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 145: "ScrollLock", 7 | 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 8 | 221: "]", 222: "'", 224: "Mod", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", 9 | 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" 10 | } 11 | 12 | // Number keys 13 | for (let i = 0; i < 10; i++) keyNames[i + 48] = keyNames[i + 96] = String(i) 14 | // Alphabetic keys 15 | for (let i = 65; i <= 90; i++) keyNames[i] = String.fromCharCode(i) 16 | // Function keys 17 | for (let i = 1; i <= 12; i++) keyNames[i + 111] = keyNames[i + 63235] = "F" + i 18 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/src/line/saw_special_spans.js: -------------------------------------------------------------------------------- 1 | // Optimize some code when these features are not used. 2 | export let sawReadOnlySpans = false, sawCollapsedSpans = false 3 | 4 | export function seeReadOnlySpans() { 5 | sawReadOnlySpans = true 6 | } 7 | 8 | export function seeCollapsedSpans() { 9 | sawCollapsedSpans = true 10 | } 11 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/ambiance-mobile.css: -------------------------------------------------------------------------------- 1 | .cm-s-ambiance.CodeMirror { 2 | -webkit-box-shadow: none; 3 | -moz-box-shadow: none; 4 | box-shadow: none; 5 | } 6 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; } 2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; } 3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; } 4 | .cm-s-elegant span.cm-variable { color: black; } 5 | .cm-s-elegant span.cm-variable-2 { color: #b11; } 6 | .cm-s-elegant span.cm-qualifier { color: #555; } 7 | .cm-s-elegant span.cm-keyword { color: #730; } 8 | .cm-s-elegant span.cm-builtin { color: #30a; } 9 | .cm-s-elegant span.cm-link { color: #762; } 10 | .cm-s-elegant span.cm-error { background-color: #fdd; } 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; } 13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 14 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/juejin.css: -------------------------------------------------------------------------------- 1 | .cm-s-juejin.CodeMirror { 2 | background: #f8f9fa; 3 | } 4 | .cm-s-juejin .cm-header, 5 | .cm-s-juejin .cm-def { 6 | color: #1ba2f0; 7 | } 8 | .cm-s-juejin .cm-comment { 9 | color: #009e9d; 10 | } 11 | .cm-s-juejin .cm-quote, 12 | .cm-s-juejin .cm-link, 13 | .cm-s-juejin .cm-strong, 14 | .cm-s-juejin .cm-attribute { 15 | color: #fd7741; 16 | } 17 | .cm-s-juejin .cm-url, 18 | .cm-s-juejin .cm-keyword, 19 | .cm-s-juejin .cm-builtin { 20 | color: #bb51b8; 21 | } 22 | .cm-s-juejin .cm-hr { 23 | color: #909090; 24 | } 25 | .cm-s-juejin .cm-tag { 26 | color: #107000; 27 | } 28 | .cm-s-juejin .cm-variable-2 { 29 | color: #0050a0; 30 | } 31 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta { color: #555; } 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; } 12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 13 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment { color:#75787b; } 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; } 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; } 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; } 14 | .cm-s-neo .cm-string { color:#b35e14; } 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; } 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo .CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/codemirror/theme/ssms.css: -------------------------------------------------------------------------------- 1 | .cm-s-ssms span.cm-keyword { color: blue; } 2 | .cm-s-ssms span.cm-comment { color: darkgreen; } 3 | .cm-s-ssms span.cm-string { color: red; } 4 | .cm-s-ssms span.cm-def { color: black; } 5 | .cm-s-ssms span.cm-variable { color: black; } 6 | .cm-s-ssms span.cm-variable-2 { color: black; } 7 | .cm-s-ssms span.cm-atom { color: darkgray; } 8 | .cm-s-ssms .CodeMirror-linenumber { color: teal; } 9 | .cm-s-ssms .CodeMirror-activeline-background { background: #ffffff; } 10 | .cm-s-ssms span.cm-string-2 { color: #FF00FF; } 11 | .cm-s-ssms span.cm-operator, 12 | .cm-s-ssms span.cm-bracket, 13 | .cm-s-ssms span.cm-punctuation { color: darkgray; } 14 | .cm-s-ssms .CodeMirror-gutters { border-right: 3px solid #ffee62; background-color: #ffffff; } 15 | .cm-s-ssms div.CodeMirror-selected { background: #ADD6FF; } 16 | 17 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/marked/src/Hooks.js: -------------------------------------------------------------------------------- 1 | import { defaults } from './defaults.js'; 2 | 3 | export class Hooks { 4 | constructor(options) { 5 | this.options = options || defaults; 6 | } 7 | 8 | static passThroughHooks = new Set([ 9 | 'preprocess', 10 | 'postprocess' 11 | ]); 12 | 13 | /** 14 | * Process markdown before marked 15 | */ 16 | preprocess(markdown) { 17 | return markdown; 18 | } 19 | 20 | /** 21 | * Process HTML after marked is finished 22 | */ 23 | postprocess(html) { 24 | return html; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/marked/src/TextRenderer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TextRenderer 3 | * returns only the textual part of the token 4 | */ 5 | export class TextRenderer { 6 | // no need for block level renderers 7 | strong(text) { 8 | return text; 9 | } 10 | 11 | em(text) { 12 | return text; 13 | } 14 | 15 | codespan(text) { 16 | return text; 17 | } 18 | 19 | del(text) { 20 | return text; 21 | } 22 | 23 | html(text) { 24 | return text; 25 | } 26 | 27 | text(text) { 28 | return text; 29 | } 30 | 31 | link(href, title, text) { 32 | return '' + text; 33 | } 34 | 35 | image(href, title, text) { 36 | return '' + text; 37 | } 38 | 39 | br() { 40 | return ''; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /web/admin/node_modules/easymde/node_modules/marked/src/defaults.js: -------------------------------------------------------------------------------- 1 | export function getDefaults() { 2 | return { 3 | async: false, 4 | baseUrl: null, 5 | breaks: false, 6 | extensions: null, 7 | gfm: true, 8 | headerIds: true, 9 | headerPrefix: '', 10 | highlight: null, 11 | hooks: null, 12 | langPrefix: 'language-', 13 | mangle: true, 14 | pedantic: false, 15 | renderer: null, 16 | sanitize: false, 17 | sanitizer: null, 18 | silent: false, 19 | smartypants: false, 20 | tokenizer: null, 21 | walkTokens: null, 22 | xhtml: false 23 | }; 24 | } 25 | 26 | export let defaults = getDefaults(); 27 | 28 | export function changeDefaults(newDefaults) { 29 | defaults = newDefaults; 30 | } 31 | -------------------------------------------------------------------------------- /web/admin/node_modules/typo-js/README.md: -------------------------------------------------------------------------------- 1 | Typo.js is a JavaScript spellchecker that uses Hunspell-style dictionaries. 2 | 3 | Usage 4 | ===== 5 | 6 | To use Typo, simply load it like so: 7 | 8 | ```javascript 9 | var Typo = require("typo-js"); 10 | var dictionary = new Typo(lang_code); 11 | ``` 12 | 13 | Typo includes by default a dictionary for the `en_US` lang_code. 14 | 15 | To check if a word is spelled correctly, do this: 16 | 17 | ```javascript 18 | var is_spelled_correctly = dictionary.check("mispelled"); 19 | ``` 20 | 21 | To get suggested corrections for a misspelled word, do this: 22 | 23 | ```javascript 24 | var array_of_suggestions = dictionary.suggest("mispeling"); 25 | 26 | // array_of_suggestions == ["misspelling", "dispelling", "misdealing", "misfiling", "misruling"] 27 | ``` 28 | 29 | Typo.js has full support for the following Hunspell affix flags: 30 | 31 | * PFX 32 | * SFX 33 | * REP 34 | * FLAG 35 | * COMPOUNDMIN 36 | * COMPOUNDRULE 37 | * ONLYINCOMPOUND 38 | * KEEPCASE 39 | * NOSUGGEST 40 | * NEEDAFFIX 41 | 42 | Licensing 43 | ========= 44 | 45 | Typo.js is free software, licensed under the Modified BSD License. -------------------------------------------------------------------------------- /web/admin/node_modules/typo-js/dictionaries/en_US/README.md: -------------------------------------------------------------------------------- 1 | 2006-02-07 release. 2 | 3 | --- 4 | 5 | This dictionary is based on a subset of the original English wordlist created by Kevin Atkinson for Pspell and Aspell and thus is covered by his original LGPL license. The affix file is a heavily modified version of the original english.aff file which was released as part of Geoff Kuenning's Ispell and as such is covered by his BSD license. 6 | 7 | Thanks to both authors for their wonderful work. -------------------------------------------------------------------------------- /web/admin/node_modules/typo-js/dictionaries/en_US/en_US.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/admin/node_modules/typo-js/dictionaries/en_US/en_US.dic -------------------------------------------------------------------------------- /web/admin/node_modules/typo-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typo-js", 3 | "version": "1.2.3", 4 | "description": "A Hunspell-style spellchecker.", 5 | "main": "typo.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/cfinke/Typo.js.git" 9 | }, 10 | "keywords": [ 11 | "spellcheck", 12 | "spellchecker", 13 | "hunspell", 14 | "typo", 15 | "speling" 16 | ], 17 | "author": "Christopher Finke (http://www.chrisfinke.com/)", 18 | "license": "BSD-3-Clause", 19 | "bugs": { 20 | "url": "https://github.com/cfinke/Typo.js/issues" 21 | }, 22 | "homepage": "https://github.com/cfinke/Typo.js#readme", 23 | "tonicExample": "var Typo = require('typo-js'); var dictionary = new Typo('en_US'); dictionary.check('mispelled');", 24 | "browser": { 25 | "fs": false 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /web/admin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reboot-cms-admin", 3 | "version": "1.0.0", 4 | "description": "", 5 | "private": true, 6 | "main": "", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "author": "shaack.com", 11 | "license": "UNLICENSED", 12 | "dependencies": { 13 | "bootstrap": "^5.3.3", 14 | "bootstrap-auto-dark-mode": "^1.1.0", 15 | "easymde": "^2.18.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /web/assets/styles/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin-top: 6rem; 3 | margin-bottom: 6rem; 4 | } 5 | 6 | .block { 7 | margin-bottom: 5rem; 8 | } 9 | 10 | pre { 11 | background-color: var(--bs-gray-800); 12 | padding: 1rem; 13 | } 14 | 15 | nav.navbar .container-fluid { 16 | max-width: 1400px; 17 | margin: 0 auto; 18 | } 19 | nav.navbar.bg-dark { 20 | background-color: rgba(20, 20, 20, 0.95) !important; 21 | font-size: 1.1rem; 22 | } 23 | 24 | .navbar-brand { 25 | font-size: 2rem; 26 | line-height: 1; 27 | font-family: "Verdana", Courier, monospace; 28 | padding: 0.6rem 0; 29 | } 30 | 31 | body img { 32 | max-width: 100%; 33 | } 34 | 35 | main { 36 | max-width: 1400px; 37 | margin: 0 auto; 38 | } -------------------------------------------------------------------------------- /web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaack/reboot-cms/b4cc30410107f60e593702d4e4a2d7ae67aed24f/web/favicon.ico -------------------------------------------------------------------------------- /web/index.php: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | dummy 9 | Created with Sketch. 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | --------------------------------------------------------------------------------