{"version":3,"sources":["jsdelivr-header.js","/npm/@collboard/modules-sdk@35.15.4200/dist/runtime/runtime.js"],"names":[],"mappings":"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","file":"/npm/@collboard/modules-sdk@35.15.4200/dist/runtime/runtime.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@collboard/modules-sdk@35.15.4200/dist/runtime/runtime.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n// 🏭 GENERATED WITH generate-modules-sdk\n// ⚠️ Warning: Do not edit by hand, all changes will be lost on next execution!\n// TODO: This file should be excluded from (not only VSCode) auto-importing.\n//       @see https://github.com/Microsoft/vscode/issues/40248\n//       @see https://github.com/microsoft/TypeScript/issues/35395\n//       @see https://stackoverflow.com/questions/47796545/how-to-disable-auto-import-from-specific-files-in-vscode\n// tslint:disable\n/// <reference path=\"./importImages.d.ts\" />\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.create3dRotation = exports.compareStrings = exports.randomColor = exports.Color = exports.classNames = exports.checkOptionsCompatibility = exports.calculate = exports.amIEmbededInIFrame = exports.aggregate = exports.Additional = exports.Unwrap = exports.TestingSquare = exports.SelfUpdateContentComponent = exports.AsyncSelectComponent = exports.ScriptForServerRender = exports.Script = exports.RefreshContentComponent = exports.QRCode = exports.ObservableContentComponent = exports.Obfuscate = exports.useTimeout = exports.LoaderInline = exports.Loader = exports.FileComponent = exports.ErrorBoundary = exports.EditableHtmlContent = exports.DisplayOn = exports.CopyComponent = exports.Clickable = exports.AsyncContentComponent = exports.AsyncButtonComponent = exports.PageOverlay = exports.ModalScroll = exports.ModalGroup = exports.ModalFooter = exports.Modal = exports.CategorizedModalMenu = exports.CategorizedModalBody = exports.CategorizedModal = exports.Separator = exports.Menu = exports.IIconAnonymous = exports.IconText = exports.string_icon = exports.IconColor = exports.Icon = exports.string_animation = exports.ArtScaler = exports.sanitizeHtml = exports.declareModule = void 0;\nexports.isFetchable = exports.isEqualArray = exports.isEmoji = exports.isCloneable = exports.preview = exports.measureImageSize = exports.imageToCanvas = exports.createPreviewElement = exports.addWhiteBackground = exports.factorWithSystems = exports.IFactorableWithSystems = exports.NOT_CONSTRUCTABLE = exports.factor = exports.Factorable = exports.Factory = exports.windowSize = exports.FunctionCache = exports.flipNegativeSize = exports.fitInside = exports.filterWithLimit = exports.ObjectUrl = exports.isValidDataurl = exports.isFileExecutable = exports.induceFileDownload = exports.findPropperFileType = exports.fetchProxied = exports.fetchAsFile = exports.dataurlToBlob = exports.blobToFile = exports.blobToDataurl = exports.blobToBinaryString = exports.amendPropperFileTypeAndName = exports.escapeRegExp = exports.NotFoundError = exports.NotBoardError = exports.ModuleNotFoundError = exports.meaningfullError = exports.InvalidError = exports.HighOrderError = exports.errorMessageWithAdditional = exports.DuplicateError = exports.BoardNotFoundError = exports.BoardAlreadyExistsError = exports.enumToArray = exports.EMOJIS = exports.EMOJIS_IN_CATEGORIES = exports.promptDialogue = exports.fileDialogue = exports.confirmDialogue = exports.alertDialogue = void 0;\nexports.extractUsedSelectorsFromHtml = exports.getGlobalStyles = exports.splitArrayIntoChunks = exports.splitArray = exports.Speech = exports.union = exports.difference = exports.scrapeContentFromUrlUncached = exports.scrapeContentFromUrl = exports.requireValue = exports.removeKeys = exports.useSystems = exports.SystemsContainerContext = exports.useSkin = exports.usePromise = exports.useObservable = exports.useMeasure = exports.useLoadable = exports.IUseLoadableResultStatus = exports.useAsyncMemo = exports.StaticRender = exports.NonBrakingSpaces = exports.Measure = exports.InnerHtml = exports.randomUriId = exports.randomTag = exports.randomString = exports.randomJavascriptName = exports.randomItem = exports.randomInteger = exports.randomEmoji = exports.pickKeys = exports.patternToRegExp = exports.parseModuleName = exports.isPureObject = exports.deepMapObject = exports.nextWithMutation = exports.loadAndRunExternalScript = exports.prettifyHtml = exports.prettifyCss = exports.measureHtmlSize = exports.htmlToXmlValidHtml = exports.jsxToText = exports.jsxToHtmlSimple = exports.jsxToHtml = exports.compareJsxs = exports.joinWithAny = exports.isValidUrl = exports.isValidUriId = exports.isNumeric = void 0;\nexports.string_module_category = exports.string_module_name = exports.string_folder_path = exports.string_folder_relative_path = exports.string_folder_absolute_path = exports.string_file_path = exports.string_file_relative_path = exports.string_file_absolute_path = exports.string_file_extension = exports.string_version_dependency = exports.string_version = exports.string_sha256 = exports.string_uuid_first_segment = exports.uuid = exports.string_email = exports.string_host = exports.string_hostname = exports.string_protocol = exports.string_uriid = exports.string_uri_part = exports.string_uri = exports.string_url_image = exports.string_href = exports.string_data_url = exports.string_url = exports.string_css_selector = exports.string_css_value = exports.string_css_property = exports.string_css = exports.string_xml = exports.string_html = exports.string_char = exports.string_mime_type_with_wildcard = exports.string_mime_type = exports.string_char_emoji = exports.ITraySimpleDefinition = exports.ITrayDynamicDefinition = exports.ITrayDynamicItemFilter = exports.ITrayDynamicToolbarItems = exports.ITrayDynamicToolbarGroup = exports.ITrayDynamicItemList = exports.ITrayDynamicItem = exports.toString = exports.toArray = exports.ThrottleQueues = exports.ThrottleQueue = exports.IThrottleQueueOptions = exports.Queue = exports.pointsToPolygon = exports.insertStyleIntoHtml = void 0;\nexports.findArtElement = exports.ArtShell = exports.IArtData = exports.IArt = exports.textureToSvg = exports.textureToColorSync = exports.textureToColor = exports.ITextureTexture = exports.IColorTexture = exports.ITexture = exports.IFullPhongMaterial = exports.IPhongMaterial = exports.IMaterial = exports.IFullAdvancedAppearance = exports.IAdvancedAppearance = exports.IAppearance = exports.getFullPhongMaterial = exports.getFullAdvancedAppearance = exports.CollSpace = exports.FakeClosePreventionSystem = exports.ClosePreventionSystem = exports.BusinessName = exports.BusinessSystem = exports.BoardSystem = exports.AttributesSystem = exports.VirtualArtVersioningSystem = exports.MaterialArtVersioningSystem = exports.ArtSerializer = exports.AppState = exports.BoardApiClient = exports.ApiClient = exports.Core = exports.ISystems = exports.SystemName = exports.replaceUuids = exports.isValidUuid = exports.PromisableArray = exports.ArrayableFull = exports.Arrayable = exports.ArrayFull = exports.string_color = exports.string_attribute_value_scope = exports.string_attribute = exports.string_css_cursor = exports.IRepository = exports.ILicense = exports.string_license = exports.IPersonProfile = exports.string_person_profile = exports.string_person_fullname = void 0;\nexports.makeClassicalArtModule = exports.makeArtModule = exports.IModuleStoreConnectorSearchResult = exports.IModuleStoreConnector = exports.IModuleStatusReporter = exports.IModuleSearchCriteria = exports.IModulePersister = exports.IModuleManifestUsageLicensePayed = exports.IModuleManifestUsageLicense = exports.IModuleManifestSoftwareLicense = exports.IModuleManifestAuthor = exports.IModuleManifest = exports.IModuleFlags = exports.IModuleSetup = exports.IModuleDefinition = exports.IModule = exports.IInstallPlan = exports.IInstaller = exports.ModuleStore = exports.Authors = exports.MessagesApiSystem = exports.LicenseSyncer = exports.LicenseSystem = exports.topleftArts = exports.centerArts = exports.ImportSystem = exports.IdentitySystem = exports.HintSystem = exports.GenerateSystem = exports.GamificationSystem = exports.FractalSystem = exports.FocusSystem = exports.FocusScopeName = exports.FilepickSystem = exports.sortArtContainersByScreenPosition = exports.IFramable = exports.IFileExportSupporterOptions = exports.ExportScopeSimple = exports.IExportScope = exports.ExportPrepareComponent = exports.ExportScopePickerComponent = exports.ExporterPickerComponent = exports.ExportSystem = exports.CreateSystem = exports.isEventOnBoard = exports.IShortcut = exports.IKey = exports.ControlSystem = exports.getBoundingClientRectWithoutTransform = exports.findArtShellElement = void 0;\nexports.AbstractEnvironmentArt = exports.AbstractArt = exports.IFontStyleAttributeValue = exports.VoiceSystem = exports.UserInterfaceElementPlace = exports.UserInterfaceSystem = exports.UsercontentSystem = exports.IBaseMessage = exports.IMessage = exports.IStringMessage = exports.Translate = exports.TranslationsSystem = exports.ToolbarSystem = exports.ToolbarName = exports.TestSystem = exports.makeSkinModule = exports.ISkin = exports.DEFAULT_SKIN = exports.StyleSystem = exports.StorageSystem = exports.SoundSystem = exports.SnapSystem = exports.DEFAULT_URL_VARIABLES = exports.IUrlVariables = exports.URI_PATTERN = exports.RoutingSystem = exports.PointerSystem = exports.INotificationAction = exports.NotificationPlace = exports.INotification = exports.NotificationSystem = exports.parseKeywordsFromManifest = exports.StorageSyncer = exports.RouteAndBusinessSyncer = exports.CornerstoneSyncer = exports.AttributeSupportSyncer = exports.ArtSupportSyncer = exports.makeUserInterfaceModule = exports.makeTraySimpleModule = exports.makeDynamicTrayModule = exports.makeSimpleArtoolModules = exports.makeMultiModule = exports.makeModalModule = exports.makeIconModuleOnRoute = exports.makeIconModuleOnModule = exports.makeIconModule = exports.makeAttributeModule = exports.makeArticlesSetModule = exports.makeCanvasArtModule = exports.makeFunctionalArtModule = void 0;\nexports.libs = exports.libraries = exports.touchcontroller = exports.styled = exports.styledComponents = exports.React = exports.destroyable = exports.configchecker = exports.SHOW_MAXIMUM_NOTIFICATIONS = exports.MODULE_NAME_PATTERN = exports.SCALE_PIXELS = exports.touchFrameToArtFrame = exports.createSelectionToolBehavior = exports.IBehavior = exports.TextArt = exports.IListStyle = exports.ShapeArt = exports.ShapeName = exports.PolygonArt = exports.PointArt = exports.LineArt = exports.ImageArt = exports.HTMLArt = exports.FreehandArt = exports.FrameArt = exports.BackgroundWallpaperArt = exports.BackgroundPatternArt = exports.BackgroundColorArt = exports.ImportArt = exports.ExportArt = exports.LoadingArt = exports.DeletedArt = exports.virtualCornerstoneArt = exports.CornerstoneArt = exports.AbstractTrayArt = exports.Abstract2dBoxArt = exports.AbstractBackgroundArt = exports.Abstract2dArt = exports.AbstractUserInterfaceArt = exports.AbstractPlacedArt = exports.NEAR_DISTANCE = void 0;\n// console.log('Hello from modules SDK runtime!');\n// Note: window->declareModule will be replaced by some unique javascript name\nexports.declareModule = window.declareModule;\n// Note: here is all stuff marked with \"@collboard SDK\"\n/**\n * Sanitize HTML\n *\n * @param html dirty html from user (or parter apps like H-edu)\n * @returns clean html to be used in HTMLArt\n *\n * @collboard-modules-sdk\n */\nexports.sanitizeHtml = window.CollboardSdk.sanitizeHtml;\n/**\n * @collboard-modules-sdk\n */\nexports.ArtScaler = window.CollboardSdk.ArtScaler;\n/**\n * List of all possible css animations\n *\n * @collboard-modules-sdk\n */\nexports.string_animation = window.CollboardSdk.string_animation;\n/**\n * Generic icon component\n *\n * Note: If not rendered within a menu, there is no guarantee\n * of being rendered correctly\n *\n * @collboard-modules-sdk\n */\nexports.Icon = window.CollboardSdk.Icon;\n/**\n * Color picker icon component\n *\n * *Note: If not rendered within a menu, there is no guarantee\n * of being rendered correctly*\n *\n * @collboard-modules-sdk\n */\nexports.IconColor = window.CollboardSdk.IconColor;\n/**\n * This type alias represents any available internal icon name\n *\n * This list gets constantly updated, but icons can be only added, so it is safe to assume no icon will disappear\n *\n * Currently available icons:\n * - abacus\n * - add\n * - anchor\n * - bin\n * - block\n * - board-clean\n * - board-options\n * - board\n * - bold\n * - burger\n * - chat\n * - circle\n * - clean\n * - close-down\n * - cone\n * - copy-material\n * - copy-virtual\n * - copy\n * - countdown\n * - cube\n * - cubes\n * - cursor\n * - cylinder\n * - dice\n * - dictation\n * - down\n * - earth\n * - erase\n * - file-image\n * - file-pdf\n * - flag\n * - font-size-1\n * - font-size-2\n * - font-size-3\n * - fullscreen-off\n * - fullscreen-on\n * - group\n * - hand\n * - hejny\n * - home-center\n * - home\n * - image\n * - italic\n * - key\n * - left\n * - line\n * - link\n * - list\n * - lock\n * - mic\n * - minus\n * - moon\n * - no\n * - numbers\n * - options\n * - order-back\n * - order-bottom\n * - order-front\n * - order-top\n * - package\n * - pen-3D\n * - pen\n * - planet-1\n * - planet-2\n * - planet-3\n * - planet-4\n * - planet-5\n * - planet-6\n * - planet-7\n * - planet-8\n * - platonic-12\n * - platonic-20\n * - platonic-4\n * - platonic-6\n * - platonic-8\n * - plus\n * - pyramid\n * - redo\n * - reset\n * - right\n * - run\n * - search\n * - send\n * - shapes\n * - share\n * - sphere\n * - square\n * - start\n * - stroke-1\n * - stroke-2\n * - stroke-3\n * - sun\n * - text\n * - timer\n * - todo\n * - torus\n * - triangle-right\n * - triangle\n * - underline\n * - undo\n * - up\n * - visibility\n * - yes\n * - zoom-in\n * - zoom-out\n *\n * @collboard-modules-sdk\n */\nexports.string_icon = window.CollboardSdk.string_icon;\n/**\n * Icon with text\n *\n * Note: If not rendered within a menu, there is no guarantee\n * of being rendered correctly\n *\n * @collboard-modules-sdk\n */\nexports.IconText = window.CollboardSdk.IconText;\n/**\n * Icon (visual) which can appear on toolbars, buttons,...\n * This interface just represents icon without context and placement\n * (vs. `IToolbarIcon`)\n *\n * @collboard-modules-sdk\n */\nexports.IIconAnonymous = window.CollboardSdk.IIconAnonymous;\n/**\n * Menu component\n *\n * @collboard-modules-sdk\n */\nexports.Menu = window.CollboardSdk.Menu;\n/**\n * Menu separator\n *\n * @collboard-modules-sdk\n */\nexports.Separator = window.CollboardSdk.Separator;\n/**\n * Categorized modal component\n *\n * Wrap the CategorizedModal contents with `CategorizedModalMenu`\n * and `CategorizedModalBody` components\n *\n * @collboard-modules-sdk\n */\nexports.CategorizedModal = window.CollboardSdk.CategorizedModal;\n/**\n * Categorized modal main body wrapper\n * Note: Use only inside component <CategorizedModal\n *\n * @collboard-modules-sdk\n */\nexports.CategorizedModalBody = window.CollboardSdk.CategorizedModalBody;\n/**\n * Categorized modal left sidebar wrapper\n * Note: Use only inside component <CategorizedModal\n *\n * @collboard-modules-sdk\n */\nexports.CategorizedModalMenu = window.CollboardSdk.CategorizedModalMenu;\n/**\n * Modal component\n *\n * @collboard-modules-sdk\n */\nexports.Modal = window.CollboardSdk.Modal;\n/**\n * Footer component for the modal\n *\n * @collboard-modules-sdk\n */\nexports.ModalFooter = window.CollboardSdk.ModalFooter;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.ModalGroup = window.CollboardSdk.ModalGroup;\n/**\n * Scrolling content of the modal\n *\n * Tip: If you want to have some fixed content after (on the bottom), use <ModalFooter isSequestered={false}\n *\n * @collboard-modules-sdk\n */\nexports.ModalScroll = window.CollboardSdk.ModalScroll;\n/**\n * Renders the content inside a darkened page overlay blocking all\n * interactions with page behind\n *\n * **You probably want to use Modal or CategorizedModal instead.**\n *\n * **Warning: Do not try to use more, than one PageOverlay at a time.**\n *\n * @collboard-modules-sdk\n */\nexports.PageOverlay = window.CollboardSdk.PageOverlay;\n/**\n * Utility for button with pending state after click\n *\n * @collboard-modules-sdk\n */\nexports.AsyncButtonComponent = window.CollboardSdk.AsyncButtonComponent;\n/**\n * Utility for mounting RxJS observable content\n *\n * @deprecated [📠] Use usePromise/useLoadable hook instead\n * @collboard-modules-sdk\n */\nexports.AsyncContentComponent = window.CollboardSdk.AsyncContentComponent;\n/**\n * @collboard-modules-sdk\n */\nexports.Clickable = window.CollboardSdk.Clickable;\n/**\n * @collboard-modules-sdk\n */\nexports.CopyComponent = window.CollboardSdk.CopyComponent;\n/**\n * Choose on which devices (according to display size) to show certain component\n *\n * @collboard-modules-sdk\n */\nexports.DisplayOn = window.CollboardSdk.DisplayOn;\n/**\n * Shows the content with optional contenteditable optimized for multiplayer apps\n *\n * @collboard-modules-sdk\n */\nexports.EditableHtmlContent = window.CollboardSdk.EditableHtmlContent;\n/**\n * @collboard-modules-sdk\n */\nexports.ErrorBoundary = window.CollboardSdk.ErrorBoundary;\n/**\n * Preview component of any file\n *\n * @collboard-modules-sdk\n */\nexports.FileComponent = window.CollboardSdk.FileComponent;\n/**\n * @collboard-modules-sdk\n */\nexports.Loader = window.CollboardSdk.Loader;\n/**\n * @collboard-modules-sdk\n */\nexports.LoaderInline = window.CollboardSdk.LoaderInline;\n/**\n * React hook for warn if the component is mounted longer than certain time\n *\n * @collboard-modules-sdk\n */\nexports.useTimeout = window.CollboardSdk.useTimeout;\n/**\n * @collboard-modules-sdk\n */\nexports.Obfuscate = window.CollboardSdk.Obfuscate;\n/**\n * Utility for mounting RxJS observable content\n *\n * @deprecated [📠] Use useObservable/useLoadable hook instead\n * @collboard-modules-sdk\n */\nexports.ObservableContentComponent = window.CollboardSdk.ObservableContentComponent;\n/**\n * @collboard-modules-sdk\n */\nexports.QRCode = window.CollboardSdk.QRCode;\n/**\n * Utility for mounting content, which should be regularly refreshed\n *\n * @collboard-modules-sdk\n */\nexports.RefreshContentComponent = window.CollboardSdk.RefreshContentComponent;\n/**\n * Puts inlined javascript into page inside <script> element\n *\n * Note: Script is spacetrimmed\n * Note: It do not use dangerouslySetInnerHTML but still DO NOT PASS HERE ANY USER INPUT\n *\n * @collboard-modules-sdk\n */\nexports.Script = window.CollboardSdk.Script;\n/**\n * Puts inlined javascript into page inside <script> element\n *\n * Note: Script is spacetrimmed\n *\n * @collboard-modules-sdk\n */\nexports.ScriptForServerRender = window.CollboardSdk.ScriptForServerRender;\n/**\n * Select component using html <select>\n *\n * @collboard-modules-sdk\n */\nexports.AsyncSelectComponent = window.CollboardSdk.AsyncSelectComponent;\n/**\n * Utility for mounting self-updating content\n *\n * @deprecated [📠] Use hook instead\n * @collboard-modules-sdk\n */\nexports.SelfUpdateContentComponent = window.CollboardSdk.SelfUpdateContentComponent;\n/**\n * @collboard-modules-sdk\n */\nexports.TestingSquare = window.CollboardSdk.TestingSquare;\n/**\n * Unwraps given JSX element from its container and rewraps it in React fragment\n *\n * It will unwrap its children or content (to be compatible with components like AsyncContentComponent and SelfUpdateContentComponent)\n *\n * @collboard-modules-sdk\n */\nexports.Unwrap = window.CollboardSdk.Unwrap;\n/**\n * @collboard-modules-sdk\n */\nexports.Additional = window.CollboardSdk.Additional;\n/**\n * Merges multiple objects into one.\n * It uses some fuzzy logic to merge objects.\n *\n * @collboard-modules-sdk\n */\nexports.aggregate = window.CollboardSdk.aggregate;\n/**\n * @returns true if current page is embedded in iframe\n *\n * @deprecated this utility is unused and should be removed\n * @collboard-modules-sdk\n */\nexports.amIEmbededInIFrame = window.CollboardSdk.amIEmbededInIFrame;\n/**\n * Converts human readable time to seconds\n *\n * @deprecated use some better name or complete library instead\n * @collboard-modules-sdk\n */\nexports.calculate = window.CollboardSdk.calculate;\n/**\n * Throws error if the passed options are incompatible with the passed schema.\n *\n * @param options all options\n * @param compatibleKeys list of compatible keys\n * @returns\n *\n * @collboard-modules-sdk\n */\nexports.checkOptionsCompatibility = window.CollboardSdk.checkOptionsCompatibility;\n/**\n * Util for joining multiple truthy class names into one string\n *\n * @argument classes Classes to join. If not truthy, it is not used in the\n * final string\n *\n * @collboard-modules-sdk\n */\nexports.classNames = window.CollboardSdk.classNames;\n/**\n * Color object is represents rbg color with alpha chanell\n *\n * Note: there is nothing as fromObject and toObject because much better and most logic way how top serialize color is to serialize it to hex string #009edd\n *\n * @collboard-modules-sdk\n *\n */\nexports.Color = window.CollboardSdk.Color;\n/**\n * Creates a random color\n *\n * @collboard-modules-sdk\n */\nexports.randomColor = window.CollboardSdk.randomColor;\n/**\n * Compares two strings for sorting purposes\n * @param a first string\n * @param b second string\n * @returns -1 if a < b, 0 if a == b, 1 if a > b\n *\n * @collboard-modules-sdk\n */\nexports.compareStrings = window.CollboardSdk.compareStrings;\n/**\n *\n * @deprecated Remove 3D to external modules\n * @collboard-modules-sdk\n */\nexports.create3dRotation = window.CollboardSdk.create3dRotation;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.alertDialogue = window.CollboardSdk.alertDialogue;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.confirmDialogue = window.CollboardSdk.confirmDialogue;\n/**\n * @returns array of files NOT FileList\n * TODO: As some category of utils which replace alert, prompt, confirm by better async options like this or NotificationSystem\n *\n * @collboard-modules-sdk\n */\nexports.fileDialogue = window.CollboardSdk.fileDialogue;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.promptDialogue = window.CollboardSdk.promptDialogue;\n/**\n *\n * All possible emoji chars like \"🍆\", \"🍡\", \"🍤\"...\n * Note: this will be needed to update annually - now updated at 2022-01-19\n * @see https://getemoji.com/\n *\n * @collboard-modules-sdk\n */\nexports.EMOJIS_IN_CATEGORIES = window.CollboardSdk.EMOJIS_IN_CATEGORIES;\n/**\n *\n * All possible emoji chars like \"🍆\", \"🍡\", \"🍤\"...\n *\n * @collboard-modules-sdk\n */\nexports.EMOJIS = window.CollboardSdk.EMOJIS;\n/**\n * Converts typescript enum to array without number values\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.enumToArray = window.CollboardSdk.enumToArray;\n/**\n * @collboard-modules-sdk\n */\nexports.BoardAlreadyExistsError = window.CollboardSdk.BoardAlreadyExistsError;\n/**\n * @collboard-modules-sdk\n */\nexports.BoardNotFoundError = window.CollboardSdk.BoardNotFoundError;\n/**\n * This error occurs when you try to add some item in place where it already exists\n *\n * @collboard-modules-sdk\n */\nexports.DuplicateError = window.CollboardSdk.DuplicateError;\n/**\n * Wraps the error message with additional info that will be nicely logged to the console bellow thrown error\n *\n * @param errorMessage\n * @returns {string} - error message with reference to additional info in console appended to the end\n *\n * @collboard-modules-sdk\n */\nexports.errorMessageWithAdditional = window.CollboardSdk.errorMessageWithAdditional;\n/**\n * HighOrderError is high order error to wrap lower order error (like parsing).\n * @see https://www.pavolhejny.com/rozsirene-informace-o-chybach/\n *\n * @deprecated use errorMessageWithAdditional instead\n *\n * @collboard-modules-sdk\n */\nexports.HighOrderError = window.CollboardSdk.HighOrderError;\n/**\n * This error occurs when you try to pass some wrong item\n *\n * @collboard-modules-sdk\n */\nexports.InvalidError = window.CollboardSdk.InvalidError;\n/**\n * This util catches an error and rethrows more meaningfull error message to better debugging\n * TODO: More oprions how to handle and rewrap the error - for example by a function\n *\n * @deprecated this is used only in one place internally and will be removed in next major version\n * @collboard-modules-sdk\n */\nexports.meaningfullError = window.CollboardSdk.meaningfullError;\n/**\n * @collboard-modules-sdk\n */\nexports.ModuleNotFoundError = window.CollboardSdk.ModuleNotFoundError;\n/**\n * @collboard-modules-sdk\n */\nexports.NotBoardError = window.CollboardSdk.NotBoardError;\n/**\n * @collboard-modules-sdk\n */\nexports.NotFoundError = window.CollboardSdk.NotFoundError;\n/**\n * Escapes RegExp as string\n *\n * @collboard-modules-sdk\n */\nexports.escapeRegExp = window.CollboardSdk.escapeRegExp;\n/**\n * Amend propper file type to given file or blob\n * If you give a blob there will be also added provisional file name\n *\n * Note: This function is idempotent\n *\n * @param file File or Blob which will be analyzed\n * @returns File with propper type\n *\n * @collboard-modules-sdk\n */\nexports.amendPropperFileTypeAndName = window.CollboardSdk.amendPropperFileTypeAndName;\n/**\n * Convert Blob or File to binary string\n *\n * @collboard-modules-sdk\n */\nexports.blobToBinaryString = window.CollboardSdk.blobToBinaryString;\n/**\n * Convert Blob or File to string data url\n *\n * Tip: Consider using ObjectUrl class instead\n * Tip: You can pass dataurl and it will be returned as is\n *\n * @collboard-modules-sdk\n */\nexports.blobToDataurl = window.CollboardSdk.blobToDataurl;\n/**\n * Converts Blob to File\n * This is usefull for:\n *   - Preserving Files that actually has a filename\n *   - Autocomplete the filename for blobs according to its mimetype\n *\n *\n * @collboard-modules-sdk\n */\nexports.blobToFile = window.CollboardSdk.blobToFile;\n/**\n * Convert string data url to blob\n *\n * Tip: If you want to have more versatile tool look at fetchAsFile which in dataurl cases uses internally this function dataurlToBlob\n *\n * @collboard-modules-sdk\n */\nexports.dataurlToBlob = window.CollboardSdk.dataurlToBlob;\n/**\n * Makes GET request* and return response as a file.\n *\n * Tip: You can pass dataurl here and then * it converts it to a File\n *\n * @collboard-modules-sdk\n */\nexports.fetchAsFile = window.CollboardSdk.fetchAsFile;\n/**\n * Makes GET request directly and if it fails through the given proxy\n *\n * @collboard-modules-sdk\n */\nexports.fetchProxied = window.CollboardSdk.fetchProxied;\n/**\n * Find propper file type to given file or blob\n *\n * Note: For unknown types there will be returned 'application/octet-stream'\n * Note: Charset will be stripped from file type\n *\n * @param file File or Blob which will be analyzed\n * @returns string with propper type like 'text/plain'\n *\n * @collboard-modules-sdk\n */\nexports.findPropperFileType = window.CollboardSdk.findPropperFileType;\n/**\n * Download a File to with a browser\n *\n * @collboard-modules-sdk\n */\nexports.induceFileDownload = window.CollboardSdk.induceFileDownload;\n/**\n * Checks if the given file is executable.\n *\n * - Windows executables are identified as executable\n * - Javascript executables are identified as executable\n * - CSS Styleshees are considered as executable\n * - ⚠️ It is not bulletproof - Other languages can be marked as non-executables\n *\n * @param file checked file or its mime type\n * @returns true if file is executable\n *\n * @collboard-modules-sdk\n */\nexports.isFileExecutable = window.CollboardSdk.isFileExecutable;\n/**\n * Tests if given string is valid DataURL.\n *\n * @collboard-modules-sdk\n */\nexports.isValidDataurl = window.CollboardSdk.isValidDataurl;\n/**\n * Converts Blob, File or MediaSource to url using URL.createObjectURL\n *\n * @collboard-modules-sdk\n */\nexports.ObjectUrl = window.CollboardSdk.ObjectUrl;\n/**\n * Filter array with limit and predicate\n *\n * @deprecated Extend Array prototype instead\n * @collboard-modules-sdk\n */\nexports.filterWithLimit = window.CollboardSdk.filterWithLimit;\n/**\n * Fits object with objectSize inside of container with containerSize.\n * It preserves objectSize ratio\n *\n * @collboard-modules-sdk\n *\n */\nexports.fitInside = window.CollboardSdk.fitInside;\n/**\n * Flip negative size values to positive and change according to it translate\n * Or preserves both size and translate when size is positive\n * If there is only one axis negative, it will be flipped and positive axis will be preserved\n *\n * @collboard-modules-sdk\n */\nexports.flipNegativeSize = window.CollboardSdk.flipNegativeSize;\n/**\n * Make a function cacheable.\n *\n * Note: If the result will be null or Promise<null>, result will not be cached\n * Warning: Use only for pure functions.\n *\n * @collboard-modules-sdk\n *\n */\nexports.FunctionCache = window.CollboardSdk.FunctionCache;\n/**\n * Window size as observable object\n *\n * @singleton\n * @collboard-modules-sdk\n */\nexports.windowSize = window.CollboardSdk.windowSize;\n/**\n * @collboard-modules-sdk\n */\nexports.Factory = window.CollboardSdk.Factory;\n/**\n * @collboard-modules-sdk\n */\nexports.Factorable = window.CollboardSdk.Factorable;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.factor = window.CollboardSdk.factor;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.NOT_CONSTRUCTABLE = window.CollboardSdk.NOT_CONSTRUCTABLE;\n/**\n * @collboard-modules-sdk\n */\nexports.IFactorableWithSystems = window.CollboardSdk.IFactorableWithSystems;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.factorWithSystems = window.CollboardSdk.factorWithSystems;\n/**\n * Adds a white background to an canvas image and returns it as the new canvas\n *\n * @collboard-modules-sdk\n */\nexports.addWhiteBackground = window.CollboardSdk.addWhiteBackground;\n/**\n * Creates an element from file, JSX, string, any object OR return given element\n *\n * @collboard-modules-sdk\n */\nexports.createPreviewElement = window.CollboardSdk.createPreviewElement;\n/**\n * Converts image to canvas\n * Tip: It can be usefull for converting SVG images into bitmap images\n *\n * @collboard-modules-sdk\n */\nexports.imageToCanvas = window.CollboardSdk.imageToCanvas;\n/**\n * Get image size after its rendered on its natural size\n *\n * @collboard-modules-sdk\n */\nexports.measureImageSize = window.CollboardSdk.measureImageSize;\n/**\n * Creates simple TESTING preview overlay on top of the document\n *\n * @collboard-modules-sdk\n */\nexports.preview = window.CollboardSdk.preview;\n/**\n * Detects if given value can be clonned (for example for postMessage)\n *\n * @see https://stackoverflow.com/questions/32673518/how-to-check-if-an-object-can-be-cloned-by-the-structured-clone-algorithm\n * @collboard-modules-sdk\n */\nexports.isCloneable = window.CollboardSdk.isCloneable;\n/**\n *\n * @param value some char\n * @returns true if value is emoji\n *\n * @collboard-modules-sdk\n */\nexports.isEmoji = window.CollboardSdk.isEmoji;\n/**\n * Compare two arrays\n *\n * @collboard-modules-sdk\n */\nexports.isEqualArray = window.CollboardSdk.isEqualArray;\n/**\n * Check if given url exists and is accessible\n *\n * @param url url to check\n * @returns true if url is valid and returns 200 status code\n *\n * @collboard-modules-sdk\n */\nexports.isFetchable = window.CollboardSdk.isFetchable;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.isNumeric = window.CollboardSdk.isNumeric;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.isValidUriId = window.CollboardSdk.isValidUriId;\n/**\n * Tests if given string is valid URL.\n *\n * Note: Dataurl are considered perfectly valid.\n *\n * @collboard-modules-sdk\n */\nexports.isValidUrl = window.CollboardSdk.isValidUrl;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.joinWithAny = window.CollboardSdk.joinWithAny;\n/**\n * Compares two JSX elements for sorting purposes\n * @param a first JSX Element\n * @param b second JSX Element\n * @returns -1 if a < b, 0 if a == b, 1 if a > b\n *\n * @collboard-modules-sdk\n */\nexports.compareJsxs = window.CollboardSdk.compareJsxs;\n/**\n * Renders jsx to html / xml\n *\n * Note: There are functions:\n *    - **jsxToHtml** uses react-dom to render the jsx to html\n *    - **jsxToHtmlSimple** does not use react-dom to render the jsx to html and it tryes to extract essential information from the js\n *    @see ./jsxToHtml.test.tsx vs. ./jsxToHtmlSimple.test.tsx\n *\n * @param element JSX element\n * @returns html string\n *\n * @collboard-modules-sdk\n */\nexports.jsxToHtml = window.CollboardSdk.jsxToHtml;\n/**\n * Converts jsx to simple provisional html without using react-dom\n *\n * Note: There are functions:\n *    - **jsxToHtml** uses react-dom to render the jsx to html\n *    - **jsxToHtmlSimple** does not use react-dom to render the jsx to html and it tryes to extract essential information from the jsx\n *    @see ./jsxToHtml.test.tsx vs. ./jsxToHtmlSimple.test.tsx\n *\n * @param element JSX element\n * @returns html string\n *\n * @collboard-modules-sdk\n */\nexports.jsxToHtmlSimple = window.CollboardSdk.jsxToHtmlSimple;\n/**\n * Converts jsx to simple provisional text without using react-dom\n *\n * @param element JSX element\n * @returns text string\n *\n * @collboard-modules-sdk\n */\nexports.jsxToText = window.CollboardSdk.jsxToText;\n/**\n * Make given HTML XML valid\n *\n * It will do:\n * - Automatically end the tags like <img> to <img/>, <link> to <link/>,...\n * - Add <!DOCTYPE html> doctype of the html\n * - Add <?xml version=\"1.0\" encoding=\"UTF-8\"?> doctype of the svg\n * - Automatically end all unended tags\n *\n * @param element HTML or SVG string which can be invalid\n * @returns HTML or SVG string which is also valid XML string\n *\n * @collboard-modules-sdk\n */\nexports.htmlToXmlValidHtml = window.CollboardSdk.htmlToXmlValidHtml;\n/**\n * Get size of html\n *\n * @collboard-modules-sdk\n */\nexports.measureHtmlSize = window.CollboardSdk.measureHtmlSize;\n/**\n * Prettify the css code\n *\n * @param css raw css code\n * @returns formatted css code\n *\n * @collboard-modules-sdk\n */\nexports.prettifyCss = window.CollboardSdk.prettifyCss;\n/**\n * Prettify the html code\n *\n * @param html raw html code\n * @returns formatted html code\n *\n * @collboard-modules-sdk\n */\nexports.prettifyHtml = window.CollboardSdk.prettifyHtml;\n/**\n * Load and run an external script\n * @param src url of the script to load\n * @returns a promise that resolves when the script is loaded\n *\n * @collboard-modules-sdk\n */\nexports.loadAndRunExternalScript = window.CollboardSdk.loadAndRunExternalScript;\n/**\n * Utility which can send next value to BehaviorSubject based on mutation function.\n *\n * @collboard-modules-sdk\n */\nexports.nextWithMutation = window.CollboardSdk.nextWithMutation;\n/**\n * Traverse through the object and all its children and replace them via the callback\n *\n * @collboard-modules-sdk\n */\nexports.deepMapObject = window.CollboardSdk.deepMapObject;\n/**\n * @@x\n *\n * @param input\n * @returns\n *\n * @collboard-modules-sdk\n */\nexports.isPureObject = window.CollboardSdk.isPureObject;\n/**\n * Parse Collboard module name\n * @see more in MODULE_NAME_REGEX\n *\n * @param moduleName\n * @returns normalized scope and name split into chunks\n *\n * @example @collboard/internal/foo/bar => { scope: 'collboard', name: ['foo','bar'] }\n *\n * @collboard-modules-sdk\n */\nexports.parseModuleName = window.CollboardSdk.parseModuleName;\n/**\n * Converts a string pattern with \"*\" to a regular expression\n * It can take multiple patterns and will return a union of all patterns in the form of a regular expression\n *\n * @param pattern The pattern to convert to a regular expression; for example \"image/*\"\n * @returns RegExp; for example /^image\\/.*$/\n *\n * @collboard-modules-sdk\n */\nexports.patternToRegExp = window.CollboardSdk.patternToRegExp;\n/**\n * Pick given keys from the recieved options array.\n * Note: It does not mutate recieved object\n *\n * @param options\n * @param keys\n * @returns stripped object\n *\n * @collboard-modules-sdk\n */\nexports.pickKeys = window.CollboardSdk.pickKeys;\n/**\n *\n * Pick random emoji char like \"🍆\", \"🍡\", \"🍤\"...\n *\n * Note: exclude non-graphical and non-colored emojis like \"🇧🇾\" or \"✶\"\n *\n * @collboard-modules-sdk\n */\nexports.randomEmoji = window.CollboardSdk.randomEmoji;\n/**\n *\n * Generates a random integer between a given range\n *\n * @param min Minimum number (inclusive)\n * @param max Maximum number (inclusive)\n *\n * @collboard-modules-sdk\n */\nexports.randomInteger = window.CollboardSdk.randomInteger;\n/**\n * Pick random item from the recieved array\n *\n * @collboard-modules-sdk\n */\nexports.randomItem = window.CollboardSdk.randomItem;\n/**\n *\n * Generates a random javascript name like \"randomJavascriptName\", \"randomJavascriptNameAdasjd\", \"randomJavascriptNameAasfsdff\"...\n *\n * @collboard-modules-sdk\n */\nexports.randomJavascriptName = window.CollboardSdk.randomJavascriptName;\n/**\n * Generates random string of given length\n *\n * @collboard-modules-sdk\n */\nexports.randomString = window.CollboardSdk.randomString;\n/**\n *\n * Pick random tag char like \"[🍆]\", \"[🍡]\", \"[🍤]\"...\n *\n * @collboard-modules-sdk\n */\nexports.randomTag = window.CollboardSdk.randomTag;\n/**\n *\n * Generates a random uriId name like \"ggpsehhglbdoejrhpmal\", \"h2m24iceax4qtxnk7pzj\", \"krc73zrdryyuaebj74du\"...\n *\n * @collboard-modules-sdk\n */\nexports.randomUriId = window.CollboardSdk.randomUriId;\n/**\n * InnerHtml is wrapper for innerHTML of a DOM element.\n *\n * @collboard-modules-sdk\n */\nexports.InnerHtml = window.CollboardSdk.InnerHtml;\n/**\n * Measure is component that will measure the size of the children.\n * Note: It internally uses useMeasure hook so you can decide if use useMeasure(...) OR <Measure>{...}</Measure>\n *\n * @collboard-modules-sdk\n */\nexports.Measure = window.CollboardSdk.Measure;\n/**\n * NonBrakingSpaces is component that will receive text and will replace all spaces with non-breaking spaces\n *\n * @collboard-modules-sdk\n */\nexports.NonBrakingSpaces = window.CollboardSdk.NonBrakingSpaces;\n/**\n * StaticRender is component that takes a chilren and renders it as a static element.\n *\n * @collboard-modules-sdk\n */\nexports.StaticRender = window.CollboardSdk.StaticRender;\n/**\n * React hook for generating async memoized data.\n * This is a copy of @see https://github.com/awmleer/use-async-memo/blob/master/src/index.ts\n *\n * @collboard-modules-sdk\n */\nexports.useAsyncMemo = window.CollboardSdk.useAsyncMemo;\n/**\n * @collboard-modules-sdk\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n */\nexports.IUseLoadableResultStatus = window.CollboardSdk.IUseLoadableResultStatus;\n/**\n * React hook that returns current value of given Loadable.\n *\n * @collboard-modules-sdk\n */\nexports.useLoadable = window.CollboardSdk.useLoadable;\n/**\n * This hook will measure the size of the children.\n * Note: It internally uses useMeasure hook so you can decide if use useMeasure(...) OR <Measure>{...}</Measure>\n *\n * @collboard-modules-sdk\n */\nexports.useMeasure = window.CollboardSdk.useMeasure;\n/**\n * React hook that returns current value of given Observable.\n *\n * @collboard-modules-sdk\n */\nexports.useObservable = window.CollboardSdk.useObservable;\n/**\n * React hook that returns result of Promise or its pending/error state.\n *\n * @collboard-modules-sdk\n */\nexports.usePromise = window.CollboardSdk.usePromise;\n/**\n * Use Collboard skin\n *\n * Note: It @return skin wrapped in object to be used like:\n *     > <FooElement {...useSkin()}\n *\n * @collboard-modules-sdk\n */\nexports.useSkin = window.CollboardSdk.useSkin;\n/**\n * Context for systems container used in modules\n * Note: This context is provided at UserInterfaceSystem\n *\n * @collboard-modules-sdk\n */\nexports.SystemsContainerContext = window.CollboardSdk.SystemsContainerContext;\n/**\n * Use previously requested systems\n *\n * Note: You need first to request the systems you want to use\n *\n * @param requestedSystemsNames Names of requested systems\n * @returns record object which contains all requested systems\n *\n * @collboard-modules-sdk\n */\nexports.useSystems = window.CollboardSdk.useSystems;\n/**\n * Remove given keys from the recieved options array.\n * Note: It does not mutate recieved object\n *\n * @param options\n * @param keys\n * @returns stripped object\n *\n * @collboard-modules-sdk\n */\nexports.removeKeys = window.CollboardSdk.removeKeys;\n/**\n * Checks that value is defined\n * - If YES return the value\n * - If NO then throw error\n *\n * @collboard-modules-sdk\n */\nexports.requireValue = window.CollboardSdk.requireValue;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.scrapeContentFromUrl = window.CollboardSdk.scrapeContentFromUrl;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.scrapeContentFromUrlUncached = window.CollboardSdk.scrapeContentFromUrlUncached;\n/**\n * Create difference set of two sets.\n *\n * @collboard-modules-sdk\n */\nexports.difference = window.CollboardSdk.difference;\n/**\n * Creates a new set with all elements that are present in either set.\n *\n * @collboard-modules-sdk\n */\nexports.union = window.CollboardSdk.union;\n/**\n *\n * TODO: To some system?\n * TODO: Cleanup\n *\n * @collboard-modules-sdk\n */\nexports.Speech = window.CollboardSdk.Speech;\n/**\n * Split an array into subarrays using the specified separator and return them as an array of arrays.\n *\n * @param array An array that will be splitted in chunks\n * @param splitter An item that can split a array.\n * @param limit A value used to limit the number of elements returned in the array.\n *\n * @collboard-modules-sdk\n */\nexports.splitArray = window.CollboardSdk.splitArray;\n/**\n * Split an array into subarrays of the specified length\n *\n * @param array An array that will be splitted in chunks\n * @param length Of each chunk\n *\n * @collboard-modules-sdk\n */\nexports.splitArrayIntoChunks = window.CollboardSdk.splitArrayIntoChunks;\n/**\n * Parses styled components styles from html\n *\n * @returns CSS styles as a string\n * @sideeffect Not pure - reads from window.document style elements\n * @collboard-modules-sdk\n */\nexports.getGlobalStyles = window.CollboardSdk.getGlobalStyles;\n/**\n * Extract all used selectors from html.\n * It extract selectors:\n *  - from class attributes\n *  - from id attributes\n *\n * @param html - html to extract selectors from.\n * @returns Set with all used selectors\n *\n * @collboard-modules-sdk\n */\nexports.extractUsedSelectorsFromHtml = window.CollboardSdk.extractUsedSelectorsFromHtml;\n/**\n * Insert style into html.\n *  - If there is <html> structure it inserts into <head>\n *  - If there is <svg> structure it inserts before </svg>\n *  - If there is no <html> structure it inserts at the end of the document\n *\n * @collboard-modules-sdk\n */\nexports.insertStyleIntoHtml = window.CollboardSdk.insertStyleIntoHtml;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.pointsToPolygon = window.CollboardSdk.pointsToPolygon;\n/**\n * Queue manages tasks running in queue and ensures that every task run (function run) run one after another and not mixed up\n *\n * Imagine timeline of task runs:\n *\n * Input:\n * __🥝🍓🍋_____🍏🍍🍇__🍉_🍌🍒___🥑🍎🍈\n *\n * Output:\n * ___🥝_🍓_🍋______🍏_🍍_🍇__🍉_____🍌_🍒___🥑_🍎_🍈\n *\n * TODO: Error handling\n * TODO: Probably debouncing\n * TODO: timeouts\n *\n * @collboard-modules-sdk\n */\nexports.Queue = window.CollboardSdk.Queue;\n/**\n * @collboard-modules-sdk\n */\nexports.IThrottleQueueOptions = window.CollboardSdk.IThrottleQueueOptions;\n/**\n * ThrottleQueue ensures that in every time block separated by throttler will be runned only one task (function run)\n *\n * Imagine timeline of task runs:\n *\n * Input:\n * __🥝🍓🍋_____🍏🍍🍇__🍉_🍌🍒___🥑🍎🍈\n *\n * Output:\n * _________🍋🍋🍋_________🍇🍇🍇_🍉_🍒🍒_🍈🍈🍈\n *\n * TODO: Error handling\n * TODO: Probably debouncing\n * TODO: timeouts\n *\n * @collboard-modules-sdk\n */\nexports.ThrottleQueue = window.CollboardSdk.ThrottleQueue;\n/**\n * @collboard-modules-sdk\n */\nexports.ThrottleQueues = window.CollboardSdk.ThrottleQueues;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.toArray = window.CollboardSdk.toArray;\n/**\n * Converts any object to meaningful string\n * @collboard-modules-sdk\n */\nexports.toString = window.CollboardSdk.toString;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicItem = window.CollboardSdk.ITrayDynamicItem;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicItemList = window.CollboardSdk.ITrayDynamicItemList;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicToolbarGroup = window.CollboardSdk.ITrayDynamicToolbarGroup;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicToolbarItems = window.CollboardSdk.ITrayDynamicToolbarItems;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicItemFilter = window.CollboardSdk.ITrayDynamicItemFilter;\n/**\n * @collboard-modules-sdk\n */\nexports.ITrayDynamicDefinition = window.CollboardSdk.ITrayDynamicDefinition;\n/**\n * Definition of the tray\n *\n * @collboard-modules-sdk\n */\nexports.ITraySimpleDefinition = window.CollboardSdk.ITraySimpleDefinition;\n/**\n * Semantic helper\n *\n * For example `\"❤️\"`\n *\n * Genetated by:\n * > CollboardSdk.EMOJIS.map((e)=>`\"${e}\"`).join(' | ')\n * @collboard-modules-sdk\n */\nexports.string_char_emoji = window.CollboardSdk.string_char_emoji;\n/**\n * Semantic helper\n *\n * For example `\"text/plain\"` or `\"application/collboard\"`\n * @collboard-modules-sdk\n */\nexports.string_mime_type = window.CollboardSdk.string_mime_type;\n/**\n * Semantic helper\n *\n * For example `\"text/*\"` or `\"image/*\"`\n * @collboard-modules-sdk\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers\n */\nexports.string_mime_type_with_wildcard = window.CollboardSdk.string_mime_type_with_wildcard;\n/**\n * Semantic helper\n *\n * For example `\"a\"`\n * @collboard-modules-sdk\n */\nexports.string_char = window.CollboardSdk.string_char;\n/**\n * Semantic helper\n *\n * For example `\"<div>Hello World!</div>\"`\n * @collboard-modules-sdk\n */\nexports.string_html = window.CollboardSdk.string_html;\n/**\n * Semantic helper\n *\n * For example `\"<foo>bar</foo>\"`\n * @collboard-modules-sdk\n *\n * TODO: [🎞️] Probbably use some object-based method for working with XMLs\n */\nexports.string_xml = window.CollboardSdk.string_xml;\n/**\n * Semantic helper\n *\n * For example `.foo{border: 1px solid red}`\n * @collboard-modules-sdk\n */\nexports.string_css = window.CollboardSdk.string_css;\n/**\n * Semantic helper\n *\n * For example `border`\n * @collboard-modules-sdk\n */\nexports.string_css_property = window.CollboardSdk.string_css_property;\n/**\n * Semantic helper\n *\n * For example `13px`\n * @collboard-modules-sdk\n */\nexports.string_css_value = window.CollboardSdk.string_css_value;\n/**\n * Semantic helper\n *\n * For example `.foo`\n * @collboard-modules-sdk\n */\nexports.string_css_selector = window.CollboardSdk.string_css_selector;\n/**\n * Semantic helper\n *\n * For example `\"https://collboard.com/9SeSQTupmQHwuSrLi\"`\n * @collboard-modules-sdk\n */\nexports.string_url = window.CollboardSdk.string_url;\n/**\n * Semantic helper\n *\n * For example `\"data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==\"`\n * @collboard-modules-sdk\n */\nexports.string_data_url = window.CollboardSdk.string_data_url;\n/**\n * Semantic helper\n *\n * For example `\"https://collboard.com/9SeSQTupmQHwuSrLi\"` OR `/9SeSQTupmQHwuSrLi`\n * @collboard-modules-sdk\n */\nexports.string_href = window.CollboardSdk.string_href;\n/**\n * Semantic helper\n *\n * For example `\"https://collboard.com/9SeSQTupmQHwuSrLi.png?width=1200&height=630\"`\n * @collboard-modules-sdk\n */\nexports.string_url_image = window.CollboardSdk.string_url_image;\n/**\n * Semantic helper\n *\n * For example `\"/9SeSQTupmQHwuSrLi\"`\n * @collboard-modules-sdk\n */\nexports.string_uri = window.CollboardSdk.string_uri;\n/**\n * Semantic helper\n *\n * For example `\"9SeSQTupmQHwuSrLi\"`\n * @collboard-modules-sdk\n */\nexports.string_uri_part = window.CollboardSdk.string_uri_part;\n/**\n * Semantic helper, ID of the board used in URL and API\n *\n * For example `\"9SeSQTupmQHwuSrLi\"`\n * @collboard-modules-sdk\n */\nexports.string_uriid = window.CollboardSdk.string_uriid;\n/**\n * Semantic helper\n *\n * @collboard-modules-sdk\n */\nexports.string_protocol = window.CollboardSdk.string_protocol;\n/**\n * Semantic helper\n *\n * For example `\"localhost\"` or `\"collboard.com\"`\n * @collboard-modules-sdk\n */\nexports.string_hostname = window.CollboardSdk.string_hostname;\n/**\n * Semantic helper\n *\n * For example `\"localhost:9977\"` or `\"collboard.com\"`\n * @collboard-modules-sdk\n */\nexports.string_host = window.CollboardSdk.string_host;\n/**\n * Semantic helper\n *\n * For example `\"pavol@collboard.com\"`\n * @collboard-modules-sdk\n */\nexports.string_email = window.CollboardSdk.string_email;\n/**\n * Branded type for UUIDs version 4\n * This will not allow to pass some random string where should be only a valid UUID\n *\n * Use utils:\n *   - `randomUuid` to generate\n *   - `isValidUuid  to check validity\n *\n * For example `\"5a0a153d-7be9-4018-9eda-e0e2e2b89bd9\"`\n * @collboard-modules-sdk\n */\nexports.uuid = window.CollboardSdk.uuid;\n/**\n * Semantic helper\n * UUID with only the first part of the UUID\n *\n *\n * For example `\"5a0a153d\"`\n * @collboard-modules-sdk\n */\nexports.string_uuid_first_segment = window.CollboardSdk.string_uuid_first_segment;\n/**\n * Semantic helper\n *\n * For example `\"b126926439c5fcb83609888a11283723c1ef137c0ad599a77a1be81812bd221d\"`\n * @collboard-modules-sdk\n */\nexports.string_sha256 = window.CollboardSdk.string_sha256;\n/**\n * Semantic helper\n *\n * For example `\"4.2.4\"`\n * @collboard-modules-sdk\n */\nexports.string_version = window.CollboardSdk.string_version;\n/**\n * Semantic helper\n *\n * For example `\"^4.2.4\"`\n * @collboard-modules-sdk\n */\nexports.string_version_dependency = window.CollboardSdk.string_version_dependency;\n/**\n * Semantic helper\n *\n * For example `\"png\"`\n * @collboard-modules-sdk\n */\nexports.string_file_extension = window.CollboardSdk.string_file_extension;\n/**\n * Semantic helper\n *\n * For example `\"C:/Users/me/work/collboard/modules-sdk/src/colldev/commands/develop/ColldevDevelop.tsx\"`\n * @collboard-modules-sdk\n */\nexports.string_file_absolute_path = window.CollboardSdk.string_file_absolute_path;\n/**\n * Semantic helper\n *\n * For example `\"./src/colldev/commands/develop/ColldevDevelop.tsx\"`\n * @collboard-modules-sdk\n */\nexports.string_file_relative_path = window.CollboardSdk.string_file_relative_path;\n/**\n * Semantic helper\n *\n * @collboard-modules-sdk\n */\nexports.string_file_path = window.CollboardSdk.string_file_path;\n/**\n * Semantic helper\n *\n * For example `\"C:/Users/me/work/collboard/modules-sdk/src/colldev/commands/develop/ColldevDevelop.tsx\"`\n * @collboard-modules-sdk\n */\nexports.string_folder_absolute_path = window.CollboardSdk.string_folder_absolute_path;\n/**\n * Semantic helper\n *\n * For example `\"./src/colldev/commands/develop/ColldevDevelop.tsx\"`\n * @collboard-modules-sdk\n */\nexports.string_folder_relative_path = window.CollboardSdk.string_folder_relative_path;\n/**\n * Semantic helper\n *\n * @collboard-modules-sdk\n */\nexports.string_folder_path = window.CollboardSdk.string_folder_path;\n/**\n * Semantic helper\n *\n * - basically module identifier\n *\n * For example `\"@collboard/internal/download\"`\n * @pattern /^(@(?<scope>[a-z0-9][a-z0-9-]*))\\/(?<name>([a-z0-9][a-z0-9-]*)(\\/([a-z0-9][a-z0-9-]*))*)$/\n * @collboard-modules-sdk\n */\nexports.string_module_name = window.CollboardSdk.string_module_name;\n/**\n * Semantic helper\n *\n * - case insensitive\n *\n * For example `\"Basic\"` or `\"Math\"`\n *\n * *Note: This may become an list of 'LITERAL_VALUES' in the near future*\n * @collboard-modules-sdk\n */\nexports.string_module_category = window.CollboardSdk.string_module_category;\n/**\n * Semantic helper\n *\n * For example `\"John Smith\"`\n * @collboard-modules-sdk\n */\nexports.string_person_fullname = window.CollboardSdk.string_person_fullname;\n/**\n * Semantic helper\n * Full profile of the person with his email and web (like in package.json)\n *\n * For example `\"Pavol Hejný <pavol@collboard.com> (https://pavolhejny.com)\"`\n * @collboard-modules-sdk\n */\nexports.string_person_profile = window.CollboardSdk.string_person_profile;\n/**\n * Full profile of the person with his email and web (like in package.json)\n *\n * @collboard-modules-sdk\n */\nexports.IPersonProfile = window.CollboardSdk.IPersonProfile;\n/**\n * Semantic helper\n *\n * For example `\"MIT\"`\n * @collboard-modules-sdk\n */\nexports.string_license = window.CollboardSdk.string_license;\n/**\n * License with its type and url like in package.json\n *\n * @collboard-modules-sdk\n */\nexports.ILicense = window.CollboardSdk.ILicense;\n/**\n * Repository with its type and url like in package.json\n *\n * @collboard-modules-sdk\n */\nexports.IRepository = window.CollboardSdk.IRepository;\n/**\n * CSS cursor type\n * @collboard-modules-sdk\n */\nexports.string_css_cursor = window.CollboardSdk.string_css_cursor;\n/**\n * Semantic helper for attributes\n *\n * - case insensitive\n *\n * For example `\"color\"`\n * @collboard-modules-sdk\n */\nexports.string_attribute = window.CollboardSdk.string_attribute;\n/**\n * Semantic helper for attributes context\n * Each attribute value scope with a attribute name has its own current value\n *\n * - case insensitive\n *\n * For example `\"tools\"`\n * @collboard-modules-sdk\n */\nexports.string_attribute_value_scope = window.CollboardSdk.string_attribute_value_scope;\n/**\n * Semantic helper for css/html colors\n *\n * For example `\"white\"` or `\"#009edd\"`\n * @collboard-modules-sdk\n */\nexports.string_color = window.CollboardSdk.string_color;\n/**\n * Array with at least one item\n *\n * @collboard-modules-sdk\n */\nexports.ArrayFull = window.CollboardSdk.ArrayFull;\n/**\n * Just an item or array of items or set of items\n *\n * @deprecated Using this is a bit antipattern use just Array\n * @collboard-modules-sdk\n */\nexports.Arrayable = window.CollboardSdk.Arrayable;\n/**\n * Just an item or array of items with at least one item\n *\n * @collboard-modules-sdk\n */\nexports.ArrayableFull = window.CollboardSdk.ArrayableFull;\n/**\n * Array which can be wrapped in a Promise and all items can be also wrapped in a Promise\n *\n * @collboard-modules-sdk\n */\nexports.PromisableArray = window.CollboardSdk.PromisableArray;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.isValidUuid = window.CollboardSdk.isValidUuid;\n/**\n * Replaces all UUID strings in the object but preserve its identity\n * - Same UUIDs will be chnaged into another BUT same UUIDs\n * - Different UUIDs will be different\n *\n * @collboard-modules-sdk\n */\nexports.replaceUuids = window.CollboardSdk.replaceUuids;\n/**\n * All system names as union type\n *\n * @collboard-modules-sdk\n */\nexports.SystemName = window.CollboardSdk.SystemName;\n/**\n * Systems do everything in Collboard.\n * They can comunicate between or modules can do things through a systems\n *\n * @collboard-modules-sdk\n */\nexports.ISystems = window.CollboardSdk.ISystems;\n/**\n * Core System\n *\n * @collboard-system\n */\nexports.Core = window.CollboardSdk.Core;\n/**\n * ApiClient provides API calls to the remote server.\n *\n * @collboard-system\n */\nexports.ApiClient = window.CollboardSdk.ApiClient;\n/**\n * @collboard-system\n */\nexports.BoardApiClient = window.CollboardSdk.BoardApiClient;\n/**\n * AppState is not quite a system but an object representing the state of the Collboard app.\n *\n * @deprecated This system will be split into two CollSpace and SelectionSystem and removed\n * @collboard-system\n */\nexports.AppState = window.CollboardSdk.AppState;\n/**\n * ArtSerializer serializes and deseriales Collboard arts and other objects\n *\n * - **Serializer** is generic serializer which can work with any rules; it works synchronously\n * - **Serializer with basic rules** is Serializer which has registered basic rules; it works synchronously\n * - **ArtSerializer** serializes and deseriales Collboard arts and other objects; it works asynchronously\n *\n * @collboard-system\n */\nexports.ArtSerializer = window.CollboardSdk.ArtSerializer;\n/**\n * ArtVersionSystem synchronizes the arts with the remote server.\n *\n * @collboard-system\n */\nexports.MaterialArtVersioningSystem = window.CollboardSdk.MaterialArtVersioningSystem;\n/**\n *\n * @collboard-system\n */\nexports.VirtualArtVersioningSystem = window.CollboardSdk.VirtualArtVersioningSystem;\n/**\n * AttributesSystem manages shared art attributes and modules capable of selecting from them. It auto-installs / uninstalls attribute modules.\n *\n * @collboard-system\n */\nexports.AttributesSystem = window.CollboardSdk.AttributesSystem;\n/**\n * ApiClient provides API calls to the remote server.\n *\n * @collboard-system\n */\nexports.BoardSystem = window.CollboardSdk.BoardSystem;\n/**\n * BusinessSystem tell things about currently used business\n *\n * @private\n * @collboard-system\n */\nexports.BusinessSystem = window.CollboardSdk.BusinessSystem;\n/**\n * Enumerates all the possible businesses. In Collboard, a business for which purpose is Collboard used.\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.BusinessName = window.CollboardSdk.BusinessName;\n/**\n * @collboard-system\n */\nexports.ClosePreventionSystem = window.CollboardSdk.ClosePreventionSystem;\n/**\n * FakeClosePreventionSystem is a implementation of IClosePreventionSystem which implements the interface but does nothing\n *\n * @collboard-modules-sdk\n */\nexports.FakeClosePreventionSystem = window.CollboardSdk.FakeClosePreventionSystem;\n/**\n * CollSpace manages 3D objects rendered by WebGL (BABYLON JS) and provides all the tooling around the 3D scene, positioning, textures, materials, etc.\n *\n * @collboard-system\n */\nexports.CollSpace = window.CollboardSdk.CollSpace;\n/**\n * Converts appearance in any form to the advanced one\n *\n * @param appearance in any form (simple one material, advanced material)\n * @returns IFullAdvancedAppearance\n *\n * @collboard-modules-sdk\n */\nexports.getFullAdvancedAppearance = window.CollboardSdk.getFullAdvancedAppearance;\n/**\n * Converts material in any form to the phong one\n *\n * @param material in any form (just texture, phong)\n * @returns IFullPhongMaterial\n *\n * @collboard-modules-sdk\n */\nexports.getFullPhongMaterial = window.CollboardSdk.getFullPhongMaterial;\n/**\n * Appearance describes complete appearance of the art.\n * It can be one of the following:\n * - **IMaterial** when you want to use just a single material for every spots, edges and fills of the art\n * - **IAdvancedAppearance**, **IFullAdvancedAppearance** when you want to specify materials for different spots, edges and fills of the art\n *\n * 🟦🟦🟦🟦\n * 🟦🟦🟦🟦\n * 🟦🟦🟦🟦\n * 🟦🟦🟦🟦\n *\n * @collboard-modules-sdk\n */\nexports.IAppearance = window.CollboardSdk.IAppearance;\n/**\n * Appearance when you want to specify materials for different spots, edges and fills of the art and set the default for the rest.\n * For example polygon with red edge and blue fill\n *\n * 🟥🟥🟥🟥\n * 🟥🟦🟦🟥\n * 🟥🟦🟦🟥\n * 🟥🟥🟥🟥\n *\n * @collboard-modules-sdk\n */\nexports.IAdvancedAppearance = window.CollboardSdk.IAdvancedAppearance;\n/**\n * Appearance when you want to specify every material for different spots, edges and fills of the art.\n * For example polygon with red edge and blue fill\n *\n * ❎🟥🟥❎\n * 🟥🟦🟦🟥\n * 🟥🟦🟦🟥\n * ❎🟥🟥❎\n *\n * @collboard-modules-sdk\n */\nexports.IFullAdvancedAppearance = window.CollboardSdk.IFullAdvancedAppearance;\n/**\n * Material describes one material of the art or part of the art\n * It can be one of the following:\n * - **ITexture** when you want to use just an emissive texture without struggle with the lightning, shadows, etc.\n * - **IPhongMaterial** when you want to specify full phong lighting model\n *\n * @collboard-modules-sdk\n */\nexports.IMaterial = window.CollboardSdk.IMaterial;\n/**\n * Material with specified at least parts of phong lighting model\n *\n * @collboard-modules-sdk\n */\nexports.IPhongMaterial = window.CollboardSdk.IPhongMaterial;\n/**\n * Full phong lighting model\n * NOT IMPLEMENTED YET just holding place for future use\n *\n * @collboard-modules-sdk\n */\nexports.IFullPhongMaterial = window.CollboardSdk.IFullPhongMaterial;\n/**\n * Texture is texture or its equivalent like color, gradient, video, etc.\n *\n * @collboard-modules-sdk\n */\nexports.ITexture = window.CollboardSdk.ITexture;\n/**\n * Just a simple color\n * Note: This color can be transparent\n *\n * @collboard-modules-sdk\n */\nexports.IColorTexture = window.CollboardSdk.IColorTexture;\n/**\n * Texture\n * Note: Image for the texture can be transparent\n *\n * @collboard-modules-sdk\n */\nexports.ITextureTexture = window.CollboardSdk.ITextureTexture;\n/**\n * Converts texture to color\n * If the texture is not a simple color, returns average color of the texture\n *\n * @param texture\n * @returns Promise<Color>\n *\n * @collboard-modules-sdk\n */\nexports.textureToColor = window.CollboardSdk.textureToColor;\n/**\n * Converts texture to color\n * If the texture is not a simple color, returns some transparent color instead\n *\n * Note: There are two similar functions:\n * - **textureToColor** Propperly extracts color from image textures but returns a promise\n * - **textureToColorSync** Returns provisional color when image texture is given but works synchronously\n *\n * @param texture\n * @returns Color\n *\n * @collboard-modules-sdk\n */\nexports.textureToColorSync = window.CollboardSdk.textureToColorSync;\n/**\n * Converts texture to SVG props\n *\n * @collboard-modules-sdk\n */\nexports.textureToSvg = window.CollboardSdk.textureToSvg;\n/**\n * Art is a an object on the shared board\n * This interface defines basic requirements of the art\n *\n * Note: Arts that implements this are compliant with new art and attribute system\n *\n * @collboard-modules-sdk\n */\nexports.IArt = window.CollboardSdk.IArt;\n/**\n * @@x\n *\n * - **IArt** @@x\n * - **IArtData** @@x\n *\n *\n * @collboard-modules-sdk\n */\nexports.IArtData = window.CollboardSdk.IArtData;\n/**\n * @collboard-modules-sdk\n * @sideeffect Creating elements with id={artId} to be findable in the DOM\n * @sideeffect Creating elements with class __ArtShell for findArtShellElement\n */\nexports.ArtShell = window.CollboardSdk.ArtShell;\n/**\n * @collboard-modules-sdk\n */\nexports.findArtElement = window.CollboardSdk.findArtElement;\n/**\n * @collboard-modules-sdk\n * @sideeffect dependent on class __ArtShell maked by <ArtShell component\n */\nexports.findArtShellElement = window.CollboardSdk.findArtShellElement;\n/**\n * @collboard-modules-sdk\n */\nexports.getBoundingClientRectWithoutTransform = window.CollboardSdk.getBoundingClientRectWithoutTransform;\n/**\n * ControlSystem can register and manage keyboard shortcuts like Ctrl + C by modules (or maybe other systems).\n *\n * @collboard-system\n */\nexports.ControlSystem = window.CollboardSdk.ControlSystem;\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\n * @collboard-modules-sdk\n */\nexports.IKey = window.CollboardSdk.IKey;\n/**\n * @collboard-modules-sdk\n */\nexports.IShortcut = window.CollboardSdk.IShortcut;\n/**\n * To ignore event (like keypress) because its target is not on board (but for example on input element).\n * TODO: Probably in universal utils not just ControlSystems utils\n *\n * @collboard-modules-sdk\n */\nexports.isEventOnBoard = window.CollboardSdk.isEventOnBoard;\n/**\n * CreateSystem allows importing which allows to import/create arts from other sources.\n * Note: CreateSystem - for individual arts, GenerateSystem - for whole board\n * Note: CreateSystem+GenerateSystem and ExportSystem are in some kind opposites.\n *\n * @collboard-system\n */\nexports.CreateSystem = window.CollboardSdk.CreateSystem;\n/**\n * ExportSystem creates other files from the board or the part of it.\n * Note: This system is not just for exporting but also saves to native format.\n *\n * @collboard-system\n */\nexports.ExportSystem = window.CollboardSdk.ExportSystem;\n/**\n * Picker for exporter (=module =mime type) to use for exporting\n * Note: Need to be used inside of a module\n *\n * @collboard-modules-sdk\n */\nexports.ExporterPickerComponent = window.CollboardSdk.ExporterPickerComponent;\n/**\n * Picker for export scope (=which arts to include in export)\n * Note: Need to be used inside of a module\n *\n * @collboard-modules-sdk\n */\nexports.ExportScopePickerComponent = window.CollboardSdk.ExportScopePickerComponent;\n/**\n * Compine pickers and options for export\n * Note: Need to be used inside of a module\n *\n * @collboard-modules-sdk\n */\nexports.ExportPrepareComponent = window.CollboardSdk.ExportPrepareComponent;\n/**\n * Export scope specifies which arts should be exported\n *\n * @collboard-modules-sdk\n */\nexports.IExportScope = window.CollboardSdk.IExportScope;\n/**\n * Simple export scopes\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.ExportScopeSimple = window.CollboardSdk.ExportScopeSimple;\n/**\n * Options and util provided for the exporter to as a complete foundation to create exported data\n * Note: Do not need to include the systems because systems are already available in registree module> systems: ISystems;\n *\n * @collboard-modules-sdk\n */\nexports.IFileExportSupporterOptions = window.CollboardSdk.IFileExportSupporterOptions;\n/**\n * Every object which can bound arts to export\n *\n * @collboard-modules-sdk\n */\nexports.IFramable = window.CollboardSdk.IFramable;\n/**\n * Utility for file export supporter which sort art containers by screen position\n * It is usefull for exporting order dependent arts like text or html\n *\n * @collboard-modules-sdk\n */\nexports.sortArtContainersByScreenPosition = window.CollboardSdk.sortArtContainersByScreenPosition;\n/**\n * The standard window that can be used by modules to choose a file.\n *\n * @private\n * @collboard-system\n */\nexports.FilepickSystem = window.CollboardSdk.FilepickSystem;\n/**\n *\n * Represents type of the focus which can be taken each by one thing in the Collboard app\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.FocusScopeName = window.CollboardSdk.FocusScopeName;\n/**\n * FocusSystem can register and manage unique focuses and icons which there are.\n *\n * @collboard-system\n */\nexports.FocusSystem = window.CollboardSdk.FocusSystem;\n/**\n * FractalSystem can do procedurally generated part of the board - patterns, iterations, etc.\n * Modules can use it for creating the fractal boards or creating massive scales like sun and atoms by procedural generating.\n *\n * @private\n * @collboard-system\n */\nexports.FractalSystem = window.CollboardSdk.FractalSystem;\n/**\n * GamificationSystem creates support for gamification arts like yes-no polls, polls, timers, etc.\n * TODO: Under this  system should be a stopwatch\n *\n * @private\n * @collboard-system\n */\nexports.GamificationSystem = window.CollboardSdk.GamificationSystem;\n/**\n * GenerateSystem is a kind of import system which allows us to import/create whole boards from other sources.\n * Note: CreateSystem - for individual arts, GenerateSystem - for whole board\n * Note: CreateSystem+GenerateSystem and ExportSystem are in some kind opposites.\n *\n * @private\n * @collboard-system\n */\nexports.GenerateSystem = window.CollboardSdk.GenerateSystem;\n/**\n * HintSystem creates support for hinting the User's next steps, for alerts, warnings, etc.\n *\n * @private\n * @collboard-system\n */\nexports.HintSystem = window.CollboardSdk.HintSystem;\n/**\n * IdentitySystem identifies the User by a pseudonym.\n *\n * @collboard-system\n */\nexports.IdentitySystem = window.CollboardSdk.IdentitySystem;\n/**\n * Import system makes support for files which are dragged onto board, imporded or pasted\n * It auto-installs / uninstalls file support modules.\n *\n * @collboard-system\n */\nexports.ImportSystem = window.CollboardSdk.ImportSystem;\n/**\n * Moves given arts to be in center\n *\n * @sideeffect This will mutate passed arts\n *\n * @collboard-modules-sdk\n */\nexports.centerArts = window.CollboardSdk.centerArts;\n/**\n * Moves given arts to be in top left position\n *\n * @sideeffect This will mutate passed arts\n *\n * @collboard-modules-sdk\n */\nexports.topleftArts = window.CollboardSdk.topleftArts;\n/**\n * LicenseSystem is a system that manages the licenses for modules\n *\n * @see more on https://github.com/collboard/collboard/blob/main/documents/license-system.md\n * @collboard-system\n */\nexports.LicenseSystem = window.CollboardSdk.LicenseSystem;\n/**\n * LicenseSyncer installs / uninstalls modules according to (payed) license which has flag isModuleAutoInstalled\n *\n * @private\n * @collboard-system\n */\nexports.LicenseSyncer = window.CollboardSdk.LicenseSyncer;\n/**\n * System that recieves and executes the post message API\n *\n * @collboard-system\n */\nexports.MessagesApiSystem = window.CollboardSdk.MessagesApiSystem;\n/**\n * List of common-used authors\n *\n * @collboard-modules-sdk\n * @deprecated use external modules package.info instead\n */\nexports.Authors = window.CollboardSdk.Authors;\n/**\n * ModuleStore unites all module store connectors into one API, so consumer have same way how to get internal or external module\n *\n * Note: Modules storage - is just getter / setter for modules\n *       Modules store   - has full logic of modules domain\n *\n * @collboard-system\n */\nexports.ModuleStore = window.CollboardSdk.ModuleStore;\n/**\n * Installer manages module installations, it takes care of number of running instances, manages reasons of module activation, syncing, etc.\n *\n * @collboard-modules-sdk\n */\nexports.IInstaller = window.CollboardSdk.IInstaller;\n/**\n * Install plan says instruction how modules are installed\n *\n * 1. There are installed all default modules\n * 2. There are uninstalled all modules which are here listed as **uninstall**\n * 3. There are installed all modules which are here listed as **install**\n *\n * @collboard-modules-sdk\n */\nexports.IInstallPlan = window.CollboardSdk.IInstallPlan;\n/**\n * Collboard module is basic unit of functionality. From the technical point of view it is just an object or function which will create this object with manifest and setup function that can make some work and returns a logic how to destroy itself.\n *\n * It can be in two forms:\n * 1) **IModuleDefinition** which will directly contain setup and optionally the manifest @see IModuleDefinition\n * 2) Or function that will return IModuleDefinition. This can be usefull to create unique scope before calling the setup.\n *    When the module is uninstalled and than installed again, this factory will be called again so you do not need to think about some complicated scenarios.\n *    Notice that this factory should not do some heavy work or keep something to destroy. Purpose of it is only to define scope variabliles. Heavy work should be done in the setup.\n *\n * Note: We cannot use just a function setup as and module because than we cannot distinguish between factory of full module and just setup\n *\n * @collboard-modules-sdk\n */\nexports.IModule = window.CollboardSdk.IModule;\n/**\n * Collboard module is basic unit of functionality. From the technical point of view it is just an object with manifest and setup function that can make some work and returns a logic how to destroy itself.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleDefinition = window.CollboardSdk.IModuleDefinition;\n/**\n * Setup is an function that is called when the modules is going to be installed. When the function result is resolved, module is succesfully installed.\n * In the setup should be done all heavy work. Typically you will interact with the systems. You will get systems container and you can request the systems at begining of the setup. Systems are like APIs.\n * Setup should return destroyable object which will cleanup everything after it. In most cases you can just return things from the systems because they are most of the time returning exactly that.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleSetup = window.CollboardSdk.IModuleSetup;\n/**\n * Flags which tells misc metadata about the module\n *\n * @collboard-modules-sdk\n */\nexports.IModuleFlags = window.CollboardSdk.IModuleFlags;\n/**\n * Manifest describes the module.\n *\n * You are able to spread package.json into Collboard module manifest and all types are matching perfectly.\n * It is a bit inspired by all web and mobile app manifests.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleManifest = window.CollboardSdk.IModuleManifest;\n/**\n * Describes author or contributor of a module.\n * It is in same format as in package.json.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleManifestAuthor = window.CollboardSdk.IModuleManifestAuthor;\n/**\n * Describes software license of a module.\n * It is in same format as in package.json.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleManifestSoftwareLicense = window.CollboardSdk.IModuleManifestSoftwareLicense;\n/**\n * Describes licence for usage of a module.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleManifestUsageLicense = window.CollboardSdk.IModuleManifestUsageLicense;\n/**\n * Describes licence for usage of a module.\n *\n * @collboard-modules-sdk\n */\nexports.IModuleManifestUsageLicensePayed = window.CollboardSdk.IModuleManifestUsageLicensePayed;\n/**\n * Activator saves the information which module should be synced/installed\n *\n * Note: this is not using destroyable pattern because activation of the module is long-term thing\n *\n * @collboard-modules-sdk\n */\nexports.IModulePersister = window.CollboardSdk.IModulePersister;\n/**\n * Represents a query to modules repository\n *\n * @collboard-modules-sdk\n */\nexports.IModuleSearchCriteria = window.CollboardSdk.IModuleSearchCriteria;\n/**\n * IModuleStatusReporter can tell if the module is installed or not\n *\n * @collboard-modules-sdk\n *\n */\nexports.IModuleStatusReporter = window.CollboardSdk.IModuleStatusReporter;\n/**\n * Connect to molules repository and pull modules from there\n *\n * @collboard-modules-sdk\n */\nexports.IModuleStoreConnector = window.CollboardSdk.IModuleStoreConnector;\n/**\n * Represents a result from modules repository\n *\n * @collboard-modules-sdk\n */\nexports.IModuleStoreConnectorSearchResult = window.CollboardSdk.IModuleStoreConnectorSearchResult;\n/**\n * @@x\n *\n * @collboard-modules-sdk\n */\nexports.makeArtModule = window.CollboardSdk.makeArtModule;\n/**\n * @@x\n * makeClassicalArtModule will make UI module\n *\n * Note: Module still needs to be declared\n * @deprecated please use makeFunctionalArtModule\n * @collboard-modules-sdk\n */\nexports.makeClassicalArtModule = window.CollboardSdk.makeClassicalArtModule;\n/**\n * @@x\n *\n * Note: Module still needs to be declared\n * @collboard-modules-sdk\n */\nexports.makeFunctionalArtModule = window.CollboardSdk.makeFunctionalArtModule;\n/**\n * @@x\n *\n * @param options @@x\n * @returns @@x\n *\n * @collboard-modules-sdk\n */\nexports.makeCanvasArtModule = window.CollboardSdk.makeCanvasArtModule;\n/**\n * TODO: How to do article translations and flags in window top\n * TODO: Možná by tady nahoře mohlo být menu k dalším stránkám. ArticleSet?\n * TODO: Live reloaded content (like stats)\n * TODO: Scoped css\n * TODO: Namings URL vs SRC\n *\n * Note: If requirePermissions not set then will this maker set them to empty array\n * Note: There is in git history makeArticleModule but we have removed it. If it will be needed, we can bring it back.\n *\n * @collboard-modules-sdk\n */\nexports.makeArticlesSetModule = window.CollboardSdk.makeArticlesSetModule;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.makeAttributeModule = window.CollboardSdk.makeAttributeModule;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.makeIconModule = window.CollboardSdk.makeIconModule;\n/**\n * Makes toolbar icon module which setup/unsetup given submodule when user select/unselect icon\n * TODO: Probbably better name (makeIconModuleOnModule vs. makeIconModuleOnRoute)\n *\n * @collboard-modules-sdk\n */\nexports.makeIconModuleOnModule = window.CollboardSdk.makeIconModuleOnModule;\n/**\n * Makes toolbar icon module which setup/unsetup given submodule when user select/unselect icon\n * TODO: Probbably better name (makeIconModuleOnModule vs. makeIconModuleOnRoute)\n *\n * @collboard-modules-sdk\n */\nexports.makeIconModuleOnRoute = window.CollboardSdk.makeIconModuleOnRoute;\n/**\n * Makes a module which shows a simple modal\n *\n * @collboard-modules-sdk\n */\nexports.makeModalModule = window.CollboardSdk.makeModalModule;\n/**\n * Takes an array of of modules (or just a setup functions) and create a composition module from it.\n * This is usefull if you want to use some maker with some custom functionality\n * Manifest is either given or it will be taken from the first non-anonymous module or returned module will be anonymous\n * @returns a factory (not definition) which will dynamically makes multimodule again and again because only this can ensure one run per one instance policy.\n *\n * @collboard-modules-sdk\n */\nexports.makeMultiModule = window.CollboardSdk.makeMultiModule;\n/**\n * @@x\n *\n * @param options @@x\n * @returns @@x\n *\n * @collboard-modules-sdk\n */\nexports.makeSimpleArtoolModules = window.CollboardSdk.makeSimpleArtoolModules;\n/**\n * Maker for creating tray-like modules (like H-edu or Montessori)\n * This is the advanced version of the maker which is usefull for creating modules with can have dynamic number, order or other specific properties\n *\n * Note: There are two makers for tray modules:\n *       - **makeTraySimpleModule** will take pre-defined list of items\n *       - **makeTrayDynamicModule** will allow to define items dynamically\n *\n * @collboard-modules-sdk\n */\nexports.makeDynamicTrayModule = window.CollboardSdk.makeDynamicTrayModule;\n/**\n * Maker for creating tray-like modules\n * This is the simple version of the maker which is usefull for creating modules with have predefined list of items which can be stored in as pure JSON\n *\n * Note: There are two makers for tray modules:\n *       - **makeTraySimpleModule** will take pre-defined list of items\n *       - **makeTrayDynamicModule** will allow to define items dynamically\n *\n * @collboard-modules-sdk\n */\nexports.makeTraySimpleModule = window.CollboardSdk.makeTraySimpleModule;\n/**\n * Makes a module that will add any JSX element on requested place.\n *\n * Note: Making this type of module is not recommended because it is using very low-level API. Consider using higher-level API like makeModalModule, makeTrayToolModule, etc.\n *\n * @collboard-modules-sdk\n */\nexports.makeUserInterfaceModule = window.CollboardSdk.makeUserInterfaceModule;\n/**\n * ArtSupportSyncer installs / uninstalls art support modules\n *\n * @private\n * @collboard-system\n */\nexports.ArtSupportSyncer = window.CollboardSdk.ArtSupportSyncer;\n/**\n * AttributeSupportSyncer installs / uninstalls ONLY STANDARD attribute modules when needed\n *\n * @private\n * @collboard-system\n */\nexports.AttributeSupportSyncer = window.CollboardSdk.AttributeSupportSyncer;\n/**\n * CornerstoneSyncer watches on cornerstone of current board and installs / uninstalls modules according to it\n *\n * @private\n * @collboard-system\n */\nexports.CornerstoneSyncer = window.CollboardSdk.CornerstoneSyncer;\n/**\n * RouteAndBusinessSyncer installs / uninstalls modules according to the app URI\n *\n * @private\n * @collboard-system\n */\nexports.RouteAndBusinessSyncer = window.CollboardSdk.RouteAndBusinessSyncer;\n/**\n * StorageSyncer will install every module what is declared into the storage\n * When the module is redeclared, module is installed and uninstalled\n *\n * TODO: Probably only installer because here we do not use any advantages of the syncer\n *\n * @private\n * @collboard-system\n */\nexports.StorageSyncer = window.CollboardSdk.StorageSyncer;\n/**\n * Create list of keywords from module manifest\n *\n * @collboard-modules-sdk\n */\nexports.parseKeywordsFromManifest = window.CollboardSdk.parseKeywordsFromManifest;\n/**\n *\n * @collboard-system\n */\nexports.NotificationSystem = window.CollboardSdk.NotificationSystem;\n/**\n * Similar interface to Notification Web API\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Notification\n *\n * @collboard-modules-sdk\n */\nexports.INotification = window.CollboardSdk.INotification;\n/**\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.NotificationPlace = window.CollboardSdk.NotificationPlace;\n/**\n * @collboard-modules-sdk\n */\nexports.INotificationAction = window.CollboardSdk.INotificationAction;\n/**\n * PointerSystem allows us to bind a different controller then touch or mouse. For example, it is syncing the phone with accelerometer or VR controllers.\n *\n * @private\n * @collboard-system\n */\nexports.PointerSystem = window.CollboardSdk.PointerSystem;\n/**\n * RoutingSystem provides for core, other systems and modules registration of routes and hashtag routes.\n * @see https://github.com/collboard/collboard/issues/97\n * TODO: What about #hash routes\n *\n * @collboard-system\n */\nexports.RoutingSystem = window.CollboardSdk.RoutingSystem;\n/**\n * Matches a Collboard uri adress\n *\n * For examples of valid/invalid uris:\n *     @see https://regex101.com/r/irJH7h/1\n *     @see /src/50-systems/RoutingSystem/routePath/decodeUrl.test.ts\n *\n * @collboard-modules-sdk\n */\nexports.URI_PATTERN = window.CollboardSdk.URI_PATTERN;\n/**\n * Represents URL in parsed from\n *\n * @collboard-modules-sdk\n */\nexports.IUrlVariables = window.CollboardSdk.IUrlVariables;\n/**\n * Defaults for IUrlVariables\n *\n * @collboard-modules-sdk\n */\nexports.DEFAULT_URL_VARIABLES = window.CollboardSdk.DEFAULT_URL_VARIABLES;\n/**\n * SnapSystem /aka. Playground 2.0/ allows us to define a snap point on each art.\n * Note: This is continuing of the Playground in H-edu.\n *\n * @private\n * @collboard-system\n */\nexports.SnapSystem = window.CollboardSdk.SnapSystem;\n/**\n * SoundSystem can play a sound and keep music and UI sounds library.\n * Note: SoundSystem can play a sound vs. VoiceSystem can detect voice or speech a view.\n *\n * @private\n * @collboard-system\n */\nexports.SoundSystem = window.CollboardSdk.SoundSystem;\n/**\n * StorageSystem provides storages for other systems / modules\n *\n * @private\n * @collboard-system\n */\nexports.StorageSystem = window.CollboardSdk.StorageSystem;\n/**\n * StyleSystem can register and manage additional CSS styles for modules. It can scope CSS so it will do not affect others.\n *\n * Note: UserInterfaceSystem is for JSX (HTML) vs. StyleSystem is for CSS styles\n *\n * @collboard-system\n */\nexports.StyleSystem = window.CollboardSdk.StyleSystem;\n/**\n * Default skin configuration\n *\n * Note: Always prefer skin provided by StyleSystem, use this only when StyleSystem not available OR as a base object for extending to create new skin module\n *\n * @collboard-modules-sdk\n */\nexports.DEFAULT_SKIN = window.CollboardSdk.DEFAULT_SKIN;\n/**\n * Configuration of the skin\n *\n * @collboard-modules-sdk\n */\nexports.ISkin = window.CollboardSdk.ISkin;\n/**\n * makeSkinModule will make skin confuiguration module\n *\n * Note: If requirePermissions not set then will this maker set them to empty array\n * Note: Module still needs to be declared\n * @collboard-modules-sdk\n */\nexports.makeSkinModule = window.CollboardSdk.makeSkinModule;\n/**\n * TestSystem just for testing purposes.\n *\n * @collboard-system\n */\nexports.TestSystem = window.CollboardSdk.TestSystem;\n/**\n *\n * TODO: Unite naming ToolbarName, which can be part of IToolbarIcon (similar as section on it) OR combine it with UserInterfaceElementPlace\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.ToolbarName = window.CollboardSdk.ToolbarName;\n/**\n * ToolbarSystem can register and manage toolbars and icons which there are.\n * TODO: Destroy all its IconsToolbar with it\n *\n * @collboard-system\n */\nexports.ToolbarSystem = window.CollboardSdk.ToolbarSystem;\n/**\n * TranslationsSystem manages messages across core, systems and modules.\n *\n * @collboard-system\n *\n */\nexports.TranslationsSystem = window.CollboardSdk.TranslationsSystem;\n/**\n * ....\n * @collboard-modules-sdk\n */\nexports.Translate = window.CollboardSdk.Translate;\n/**\n * A message which can be a simple string or a object with multiple string translations.\n *\n * @collboard-modules-sdk\n */\nexports.IStringMessage = window.CollboardSdk.IStringMessage;\n/**\n * A message which can be a simple string or JSX element*, or a complex object with multiple translations and rich elements.\n *\n * Note: Please use JSX element only as a text with a formatting like a <b>bold</b> or <i>italic</i> etc.\n *\n * @collboard-modules-sdk\n */\nexports.IMessage = window.CollboardSdk.IMessage;\n/**\n * A message which can be a simple string or JSX element*\n *\n * Note: Please use JSX element only as a text with a formatting like a <b>bold</b> or <i>italic</i> etc.\n *\n * @collboard-modules-sdk\n */\nexports.IBaseMessage = window.CollboardSdk.IBaseMessage;\n/**\n * UsercontentSystem provides API to upload user content to the server.\n *\n * @collboard-system\n */\nexports.UsercontentSystem = window.CollboardSdk.UsercontentSystem;\n/**\n * UserInterfaceSystem can register and manage additional JSX\n *\n * Note: Using UserInterfaceSystem is not recommended to use directly because it is using very low-level API. Consider using higher-level API like ToolbarSystem, NotificationSystem, etc.\n * Note: UserInterfaceSystem is for JSX (HTML) vs. StyleSystem is for CSS styles\n *\n * @collboard-system\n */\nexports.UserInterfaceSystem = window.CollboardSdk.UserInterfaceSystem;\n/**\n * UserInterfaceElementPlace enum lists possible places for an element to be placed.\n *\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.UserInterfaceElementPlace = window.CollboardSdk.UserInterfaceElementPlace;\n/**\n * VoiceSystem can recognize the voice and play speech from text.\n * Note: SoundSystem can play a sound vs. VoiceSystem can detect voice or speech.\n *\n * @private\n * @collboard-system\n */\nexports.VoiceSystem = window.CollboardSdk.VoiceSystem;\n/**\n * @collboard-modules-sdk\n */\nexports.IFontStyleAttributeValue = window.CollboardSdk.IFontStyleAttributeValue;\n/**\n * AbstractArt is an abstract class which all art classes extend.\n *\n * It only provides unique identifier for each art\n *\n * @collboard-modules-sdk\n */\nexports.AbstractArt = window.CollboardSdk.AbstractArt;\n/**\n * AbstractEnvironmentArt creates a category of arts that changes the environment on board like background, pattern, skybox etc.\n *\n * @collboard-modules-sdk\n */\nexports.AbstractEnvironmentArt = window.CollboardSdk.AbstractEnvironmentArt;\n/**\n * Constant, which should be used to determine, whether a point is near the art\n *\n * @collboard-modules-sdk\n * @deprecated This should be exported from some system or util to be user-settable\n */\nexports.NEAR_DISTANCE = window.CollboardSdk.NEAR_DISTANCE;\n/**\n * AbstractPlacedArt is an abstract class which all arts with position and size\n * extend.\n *\n * @collboard-modules-sdk\n */\nexports.AbstractPlacedArt = window.CollboardSdk.AbstractPlacedArt;\n/**\n * AbstractUIArt is an abstract class providing functionality regarding\n * adding or removing components from UI\n *\n * @summary AbstractUIArt is not implemented within the system yet\n *\n * @collboard-modules-sdk\n */\nexports.AbstractUserInterfaceArt = window.CollboardSdk.AbstractUserInterfaceArt;\n/**\n * Abstract2dArt is an abstract class which all arts rendered in 2D extend.\n *\n * @collboard-modules-sdk\n */\nexports.Abstract2dArt = window.CollboardSdk.Abstract2dArt;\n/**\n * This art holds information about a backgroud image of the board.\n *\n * @collboard-modules-sdk\n */\nexports.AbstractBackgroundArt = window.CollboardSdk.AbstractBackgroundArt;\n/**\n * Abstract2dArt implements some of the functionality of `Abstract2dArt` to\n * make implementation of square objects simpler.\n *\n * @deprecated use hook useMeasure or Measure component instead @see TextArt\n * @collboard-modules-sdk\n */\nexports.Abstract2dBoxArt = window.CollboardSdk.Abstract2dBoxArt;\n/**\n * @collboard-modules-sdk\n */\nexports.AbstractTrayArt = window.CollboardSdk.AbstractTrayArt;\n/**\n * Cornerstone holds all informations about a particular board, such as\n * board name, active and inactive modules.\n *\n * Every board contains exactly one CornerstoneArt and it cannot be deleted.\n *\n * Cornerstone for a current board can be obtained through\n * `MaterialArtVersioningSystem.cornerstoneArts.value`\n *\n * @extends Abstract2dArt\n *\n * @collboard-modules-sdk\n */\nexports.CornerstoneArt = window.CollboardSdk.CornerstoneArt;\n/**\n * virtualCornerstoneArt is \"fake\" corner stone for yet non existing boards\n *\n * @collboard-modules-sdk\n */\nexports.virtualCornerstoneArt = window.CollboardSdk.virtualCornerstoneArt;\n/**\n * All removed arts get replaced with DeletedArt as a terminal point of\n * it's existence.\n *\n * *Note: Committing any art with predecessor of type DeletedArt results in\n * undefined behavior since DeletedArts are removed in garbage collection\n * process.*\n *\n * @collboard-modules-sdk\n */\nexports.DeletedArt = window.CollboardSdk.DeletedArt;\n/**\n * Art which renders loading of something\n * It is usefull primarly with virtual commits:\n *  >\n *  > virtualArtVersioningSystem\n    >    .createPrimaryOperation()\n    >    .newArts(\n    >      new LoadingArt('aaa').setShift((collSpace.pickPoint(touch.firstFrame.position)).point),\n    >    )\n    >    .persist();\n *\n * @collboard-modules-sdk\n */\nexports.LoadingArt = window.CollboardSdk.LoadingArt;\n/**\n * ExportArt is art for exporting content from the board.\n *\n * @deprecated do this functionality better in the future via FrameArt\n * @collboard-modules-sdk\n */\nexports.ExportArt = window.CollboardSdk.ExportArt;\n/**\n * ImportArt is art for importing external content into the board.\n * @see ExportArt implementation and comments before looking at this\n *\n * @deprecated This functionality is unused\n * @collboard-modules-sdk\n */\nexports.ImportArt = window.CollboardSdk.ImportArt;\n/**\n * Art setting background with color style\n *\n * @collboard-modules-sdk\n */\nexports.BackgroundColorArt = window.CollboardSdk.BackgroundColorArt;\n/**\n * Art setting background with pattern style (scrolling)\n *\n * @collboard-modules-sdk\n */\nexports.BackgroundPatternArt = window.CollboardSdk.BackgroundPatternArt;\n/**\n * Art setting background with wallpaper style (not scrolling)\n *\n * @collboard-modules-sdk\n */\nexports.BackgroundWallpaperArt = window.CollboardSdk.BackgroundWallpaperArt;\n/**\n * Frame for export\n *\n * @collboard-modules-sdk\n */\nexports.FrameArt = window.CollboardSdk.FrameArt;\n/**\n * Handwritten free line with lot of segments\n *\n * @collboard-modules-sdk\n */\nexports.FreehandArt = window.CollboardSdk.FreehandArt;\n/**\n * Art rendering a given HTML content\n *\n * **Warning: HTML is dangerously set inside a div element, please sanitize the\n * content of any malicious scripts before creating art!**\n *\n * @collboard-modules-sdk\n */\nexports.HTMLArt = window.CollboardSdk.HTMLArt;\n/**\n * Art rendering a given image\n *\n * @collboard-modules-sdk\n */\nexports.ImageArt = window.CollboardSdk.ImageArt;\n/**\n *\n * @collboard-modules-sdk\n */\nexports.LineArt = window.CollboardSdk.LineArt;\n/**\n * Just a point/flag/marker or whatever pointy on the board\n *\n * @collboard-modules-sdk\n */\nexports.PointArt = window.CollboardSdk.PointArt;\n/**\n * Universal polygon art with N points\n * Polygon is always closed - there is always last edge from last point back to the first point\n *\n * @collboard-modules-sdk\n */\nexports.PolygonArt = window.CollboardSdk.PolygonArt;\n/**\n * @deprecated [🍿] Do not use enums but object as const OR 'LITERAL VALUES' instead\n *\n * @collboard-modules-sdk\n */\nexports.ShapeName = window.CollboardSdk.ShapeName;\n/**\n * @collboard-modules-sdk\n */\nexports.ShapeArt = window.CollboardSdk.ShapeArt;\n/**\n * @collboard-modules-sdk\n */\nexports.IListStyle = window.CollboardSdk.IListStyle;\n/**\n * @collboard-modules-sdk\n */\nexports.TextArt = window.CollboardSdk.TextArt;\n/**\n * Behaviors are parts of functionality of tools, which can be shared\n * among multiple tools. They can be called at any point during the\n * process of `TouchController` subscription\n *\n * Calling a certain behavior can be terminal and it is marked by the\n * return value. If the function returns `true`, it should be considered\n * terminal, because it \"did it's job\" and we should prevent any other\n * tool functionality from happening.\n *\n * @example\n * let module = {\n *     async setup(systems){\n *         const { touchController } = await systems.request('touchController');\n *\n *         return Registration.fromSubscription((registerAdditionalSubscription) =>\n *             touchController.touches.subscribe((touch) => {\n *                 // do something else\n *                 let props: IBehaviorProps = { systems, registerAdditionalSubscription, touch };\n *                 if (selectionToolBehavior(props)) return;\n *                 if (someOtherBehavior(props)) return;\n *             }),\n *         );\n *     },\n * }\n *\n * @collboard-modules-sdk\n */\nexports.IBehavior = window.CollboardSdk.IBehavior;\n/**\n * Creates behavior of the selection tool\n *\n * @param useBehaviors Specifies, which parts of the selection tool behavior\n * should be used. Defaults to `true` on all.\n * - `isScaling` (Scaling objects)\n * - `isDragging` (Moving objects)\n * - `isSelectionBox` (Creating selection box)\n * - `isRotating` (Rotating objects) - **not yet implemented**\n *\n * @see IBehaviorOptions\n *\n * @collboard-modules-sdk\n */\nexports.createSelectionToolBehavior = window.CollboardSdk.createSelectionToolBehavior;\n/**\n * @@x\n *\n * [👘]\n * @collboard-modules-sdk\n */\nexports.touchFrameToArtFrame = window.CollboardSdk.touchFrameToArtFrame;\n/**\n * Conversion table from misc units to board pixels\n *\n * @collboard-modules-sdk\n * @deprecated Make ScaleSystem instead\n */\nexports.SCALE_PIXELS = window.CollboardSdk.SCALE_PIXELS;\n/**\n * Matches a Collboard module name\n *\n * For examples of valid/invalid names:\n *     @see https://regex101.com/r/oDVYWA/1\n *     @see /src/40-utils/parseModuleName.test.ts\n *\n * @collboard-modules-sdk\n */\nexports.MODULE_NAME_PATTERN = window.CollboardSdk.MODULE_NAME_PATTERN;\n/**\n * How much maximum notifications should be shown at one time\n *\n * @collboard-modules-sdk\n */\nexports.SHOW_MAXIMUM_NOTIFICATIONS = window.CollboardSdk.SHOW_MAXIMUM_NOTIFICATIONS;\n/**\n * @collboard-modules-sdk\n */\nexports.configchecker = window.CollboardSdk.configchecker;\n/**\n * @collboard-modules-sdk\n */\nexports.destroyable = window.CollboardSdk.destroyable;\n/**\n * @collboard-modules-sdk\n */\nexports.React = window.CollboardSdk.React;\n/**\n * Styled components all export\n * > import * as styledComponents from 'styled-components';\n * @collboard-modules-sdk\n */\nexports.styledComponents = window.CollboardSdk.styledComponents;\n/**\n * Styled components default export\n * > import styled from 'styled-components';\n * @collboard-modules-sdk\n * @alias of styledComponents\n */\nexports.styled = window.CollboardSdk.styled;\n/**\n * @collboard-modules-sdk\n */\nexports.touchcontroller = window.CollboardSdk.touchcontroller;\n/**\n * @collboard-modules-sdk\n */\nexports.libraries = window.CollboardSdk.libraries;\n/**\n * @collboard-modules-sdk\n * @alias of libraries\n */\nexports.libs = window.CollboardSdk.libs;\n"]}