@supernovaio/cli 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/describe-design-system.d.ts +1 -12
- package/dist/commands/describe-design-system.js +14 -32
- package/dist/commands/describe-workspaces.d.ts +3 -1
- package/dist/commands/describe-workspaces.js +24 -12
- package/dist/commands/publish-documentation.d.ts +1 -13
- package/dist/commands/publish-documentation.js +13 -30
- package/dist/commands/run-local-exporter.d.ts +2 -8
- package/dist/commands/run-local-exporter.js +9 -50
- package/dist/commands/sync-tokens.d.ts +1 -16
- package/dist/commands/sync-tokens.js +8 -30
- package/dist/types/types.d.ts +1 -0
- package/dist/utils/figma-tokens-data-loader.d.ts +1 -1
- package/dist/utils/figma-tokens-data-loader.js +2 -2
- package/dist/utils/run-exporter/exporter-utils.d.ts +1 -0
- package/dist/utils/run-exporter/exporter-utils.js +1 -0
- package/dist/utils/sdk.d.ts +19 -0
- package/dist/utils/sdk.js +49 -0
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/model/exporters/Exporter.d.ts +3 -0
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/pulsar/PulsarInterface.d.ts +1 -0
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/pulsar/managers/generators/PulsarExporterPackageGenerator.d.ts +1 -1
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/pulsar/managers/loaders/PulsarExporterPackageBrowserLoader.d.ts +3 -1
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/pulsar/managers/loaders/PulsarExporterPackageGithubLoader.d.ts +3 -1
- package/node_modules/@supernova-studio/pulsar-core/build/main/core/src/pulsar/managers/loaders/PulsarExporterPackageURLLoader.d.ts +3 -1
- package/node_modules/@supernova-studio/pulsar-core/build/main/pulsar-core.js +1 -1
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/README.md +95 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/helpers.d.ts +15 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/helpers.js +66 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/helpers.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/index.d.ts +38 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/index.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/index.js +112 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/dist/index.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/agent-base/package.json +49 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/README.md +97 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/index.d.ts +46 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/index.js +174 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/index.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-core/node_modules/https-proxy-agent/package.json +50 -0
- package/node_modules/@supernova-studio/pulsar-core/package.json +5 -4
- package/node_modules/@supernova-studio/pulsar-language/build/main/language/src/extensions/dsm/DSMBridge.d.ts +4 -0
- package/node_modules/@supernova-studio/pulsar-language/build/main/language/src/interpreter/ExecutionContext.d.ts +2 -1
- package/node_modules/@supernova-studio/pulsar-language/build/main/pulsar-language.js +2 -2
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/README.md +95 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/helpers.d.ts +15 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/helpers.js +66 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/helpers.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/index.d.ts +38 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/index.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/index.js +112 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/dist/index.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/agent-base/package.json +49 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/README.md +97 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/index.d.ts +46 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/index.js +174 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/index.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
- package/node_modules/@supernova-studio/pulsar-language/node_modules/https-proxy-agent/package.json +50 -0
- package/node_modules/@supernova-studio/pulsar-language/package.json +5 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/.eslintrc.d.cts +41 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/SDKSupernova.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaAutomation.d.ts +156 -19
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaDataSources.d.ts +14 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaDocumentation.d.ts +48 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaIntegrations.d.ts +6 -6
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaMultiplayer.d.ts +10 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaResources.d.ts +28 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaVersions.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/areas/SDKAreaWorkspaces.d.ts +54 -5
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/data/SDKDataBridge.d.ts +4 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/data/SDKDataCore.d.ts +95 -25
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/data/requests/SDKDataCoreReadRequests.d.ts +59 -12
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/data/requests/SDKDataCoreWriteRequests.d.ts +56 -16
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/resolvers/SDKAssetGroupResolver.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/core/resolvers/SDKTokenResolver.d.ts +4 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/exports-pulsar.d.ts +2 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/exports.d.ts +54 -7
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockBehavior.d.ts +2 -11
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockDefinition.d.ts +9 -23
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockItemDefinition.d.ts +20 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockLayout.d.ts +2 -7
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockVariant.d.ts +4 -14
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/assets/SDKDocsBlockActualAssets.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/code/SDKDocsBlockActualCode.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/code-react/SDKDocsBlockActualCodeReact.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/component-checklist/SDKDocsBlockActualComponentChecklist.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/component-checklist-all/SDKDocsBlockActualComponentChecklistAll.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/component-health/SDKDocsBlockActualComponentHealth.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/figma-frames/SDKDocsBlockActualFigmaFrames.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/link/SDKDocsBlockActualLink.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/omni-multi-item/SDKDocsBlockActualOmniMultiItem.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/omni-single-item/SDKDocsBlockActualOmniSingleItem.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/release-notes/SDKDocsBlockActualReleaseNotes.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/token-detail/SDKDocsBlockActualTokenDetail.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/token-group/SDKDocsBlockActualTokenGroup.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/actual/token-list/SDKDocsBlockActualTokenList.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockAssetProperty.d.ts +22 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockAssetPropertyProperty.d.ts +9 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockBooleanProperty.d.ts +10 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockCodeProperty.d.ts +13 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockCodeSandboxProperty.d.ts +17 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockColorProperty.d.ts +13 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockComponentProperty.d.ts +21 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockComponentPropertyProperty.d.ts +9 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockDividerProperty.d.ts +9 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockEmbedUrlProperty.d.ts +12 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockImageProperty.d.ts +15 -5
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockMarkdownProperty.d.ts +10 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockMultiRichTextProperty.d.ts +19 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockMultiSelectProperty.d.ts +11 -10
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockNumberProperty.d.ts +11 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockProperty.d.ts +7 -11
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockRichTextProperty.d.ts +15 -10
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockSingleSelectProperty.d.ts +11 -10
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockStorybookProperty.d.ts +22 -5
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockTableProperty.d.ts +34 -7
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockTextProperty.d.ts +12 -11
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockTokenProperty.d.ts +23 -8
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockTokenPropertyProperty.d.ts +10 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockTokenTypeProperty.d.ts +13 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockUrlProperty.d.ts +14 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/support/SDKDocsImageRef.d.ts +5 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/support/SDKDocsLinkRef.d.ts +10 -7
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/usage/SDKDocsBlock.d.ts +31 -41
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/usage/SDKDocsBlockItem.d.ts +16 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/entities/SDKDocsEntityHeader.d.ts +5 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/documentation/SDKDocumentationLegacyGroup.d.ts +3 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/documentation/SDKDocumentationLegacyPageAsset.d.ts +8 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/documentation/blocks/SDKDocumentationLegacyPageBlockFrame.d.ts +4 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/documentation/blocks/SDKDocumentationLegacyPageBlockRenderCode.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/documentation/configuration/SDKDocumentationLegacyItemHeader.d.ts +5 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKCodeLanguage.d.ts +33 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocBlockMode.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockAssetPropertyPreviewContainerSize.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockBehaviorDataType.d.ts +3 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockImagePropertyAspectRatio.d.ts +4 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockImagePropertyWidth.d.ts +2 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockItemPropertyType.d.ts +7 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockItemVariantLayoutAlign.d.ts +3 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockItemVariantLayoutColumnResizing.d.ts +2 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockItemVariantLayoutGap.d.ts +4 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockMultiRichTextPropertyStyle.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsBlockRichTextPropertyStyle.d.ts +0 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKDocsPublishStatus.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKSourceType.d.ts +2 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKTokenType.d.ts +19 -19
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/enums/SDKUserRole.d.ts +3 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenAccount.d.ts +9 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenAzureBranch.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenAzureOrganization.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenAzureProject.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenAzureRepository.d.ts +11 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenBitbucketBranch.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenBitbucketProject.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenBitbucketRepository.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenBitbucketWorkspace.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenBranch.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenConnection.d.ts +10 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenGitlabBranch.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenGitlabGroup.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenGitlabRepository.d.ts +9 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/CodegenRepository.d.ts +15 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/SDKConnections.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/SDKExporter.d.ts +7 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/SDKPipeline.d.ts +42 -61
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/exporter_builds/SDKExportBuild.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/exporter_builds/SDKExportBuildResults.d.ts +12 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/exporter_builds/SDKExportDestinations.d.ts +16 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteAzureCodegenBranchModel.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteAzureCodegenOrganizationModel.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteAzureCodegenProjectModel.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteAzureCodegenRepositoryModel.d.ts +9 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteBitbucketCodegenBranchModel.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteBitbucketCodegenProjectModel.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteBitbucketCodegenRepositoryModel.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteBitbucketCodegenWorkspaceModel.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteCodegenAccountModel.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteCodegenBranchModel.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteCodegenConnectionModel.d.ts +8 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteCodegenRepositoryModel.d.ts +17 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteConnectionsModel.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteGitlabCodegenBranchModel.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteGitlabCodegenGroupModel.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemoteGitlabCodegenRepositoryModel.d.ts +7 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/exporters/remote/SDKRemotePipelineModel.d.ts +2 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/groups/SDKAssetGroup.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/membership/SDKMembership.d.ts +5 -5
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/resources/SDKResource.d.ts +26 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/resources/SDKResourceAsset.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/resources/SDKResourceFont.d.ts +15 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKFigmaFrame.d.ts +22 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKFigmaStructure.d.ts +27 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKFigmaStructureDetail.d.ts +30 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKLogger.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKSource.d.ts +20 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/support/SDKTokenOrigin.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/themes/SDKTokenTheme.d.ts +8 -8
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/themes/SDKTokenThemeOverride.d.ts +9 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKColorToken.d.ts +1 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKDimensionToken.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKStringToken.d.ts +3 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKTextCaseToken.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKTextDecorationToken.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/tokens/SDKTokenValue.d.ts +2 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/users/SDKUser.d.ts +6 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/users/SDKUserProfile.d.ts +10 -4
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/workspaces/SDKWorkspaceInvitation.d.ts +5 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/workspaces/SDKWorkspaceSSOSettings.d.ts +2 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/workspaces/SDKWorkspaceSubscription.d.ts +4 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tests/FigmaTokensDataLoader.d.ts +3 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tests/helpers.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/design-tokens/SDKToolsDesignTokensPlugin.d.ts +8 -3
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/design-tokens/utilities/SDKDTJSONConverter.d.ts +2 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/design-tokens/utilities/SDKDTJSONParser.d.ts +3 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/design-tokens/utilities/tree/SDKDTGroupTree.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/docs-block-builder/SDKDocsBlockBuilder.d.ts +40 -17
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementFigmaTokensTransformer.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementTransformer.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformBlock.d.ts +2 -2
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformUtil.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/token-preview/TokenUtilPreviewGenerator.d.ts +4 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/token-preview/TokenUtilPreviewStyleGenerator.d.ts +4 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/tools/token-transform/SDKToolsTokenTransform.d.ts +1 -1
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/utils/CommonUtils.d.ts +5 -0
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/utils/TokenUtils.d.ts +9 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/utils/deepPartial.d.ts +3 -0
- package/node_modules/@supernovaio/sdk/build/supernova-sdk-typescript.js +1 -1
- package/node_modules/@supernovaio/sdk/build/supernova-sdk-typescript.js.map +1 -1
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/README.md +95 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/helpers.d.ts +15 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/helpers.js +66 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/helpers.js.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/index.d.ts +38 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/index.d.ts.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/index.js +112 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/dist/index.js.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/agent-base/package.json +49 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/README.md +97 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/index.d.ts +46 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/index.js +174 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/index.js.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
- package/node_modules/@supernovaio/sdk/node_modules/https-proxy-agent/package.json +50 -0
- package/node_modules/@supernovaio/sdk/package.json +8 -1
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDesignSystemVersionWriter.d.ts +14 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKSupernova.d.ts +47 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataBridge.d.ts +53 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataCore.d.ts +146 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementProperty.d.ts +56 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenTheme.d.ts +63 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenThemeOverride.d.ts +49 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformBlock.d.ts +75 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformCustomBlock.d.ts +18 -0
- package/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformUtil.d.ts +34 -0
- package/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js +2 -0
- package/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/README.md +95 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/helpers.d.ts +15 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/helpers.js +66 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/helpers.js.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/index.d.ts +38 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/index.d.ts.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/index.js +112 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/dist/index.js.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/agent-base/package.json +49 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/README.md +97 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/index.d.ts +46 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/index.js +174 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/index.js.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
- package/node_modules/@supernovaio/supernova-sdk/node_modules/https-proxy-agent/package.json +50 -0
- package/node_modules/@supernovaio/supernova-sdk/package.json +130 -0
- package/node_modules/async-mutex/README.md +20 -16
- package/node_modules/async-mutex/es6/withTimeout.js +5 -2
- package/node_modules/async-mutex/index.mjs +5 -2
- package/node_modules/async-mutex/lib/withTimeout.js +5 -2
- package/node_modules/async-mutex/package.json +9 -9
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +59 -0
- package/node_modules/debug/src/browser.js +269 -0
- package/node_modules/debug/src/common.js +274 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/moment/CHANGELOG.md +8 -0
- package/node_modules/moment/dist/locale/ar-dz.js +8 -8
- package/node_modules/moment/dist/locale/ar-ly.js +8 -8
- package/node_modules/moment/dist/locale/ar-ps.js +112 -0
- package/node_modules/moment/dist/locale/ar.js +8 -8
- package/node_modules/moment/dist/locale/be.js +2 -2
- package/node_modules/moment/dist/locale/bs.js +14 -4
- package/node_modules/moment/dist/locale/ca.js +6 -6
- package/node_modules/moment/dist/locale/cs.js +5 -4
- package/node_modules/moment/dist/locale/cv.js +2 -2
- package/node_modules/moment/dist/locale/en-au.js +6 -6
- package/node_modules/moment/dist/locale/en-ca.js +6 -6
- package/node_modules/moment/dist/locale/en-gb.js +6 -6
- package/node_modules/moment/dist/locale/en-ie.js +6 -6
- package/node_modules/moment/dist/locale/en-il.js +6 -6
- package/node_modules/moment/dist/locale/en-in.js +6 -6
- package/node_modules/moment/dist/locale/en-nz.js +6 -6
- package/node_modules/moment/dist/locale/en-sg.js +6 -6
- package/node_modules/moment/dist/locale/it.js +4 -4
- package/node_modules/moment/dist/locale/ku-kmr.js +121 -0
- package/node_modules/moment/dist/locale/lt.js +2 -2
- package/node_modules/moment/dist/locale/me.js +2 -2
- package/node_modules/moment/dist/locale/nb.js +4 -4
- package/node_modules/moment/dist/locale/nl-be.js +1 -1
- package/node_modules/moment/dist/locale/nl.js +1 -1
- package/node_modules/moment/dist/locale/oc-lnc.js +6 -6
- package/node_modules/moment/dist/locale/ru.js +2 -2
- package/node_modules/moment/dist/locale/sv.js +6 -6
- package/node_modules/moment/dist/locale/tet.js +6 -6
- package/node_modules/moment/dist/locale/tlh.js +8 -8
- package/node_modules/moment/dist/locale/tzl.js +2 -2
- package/node_modules/moment/dist/locale/uk.js +4 -4
- package/node_modules/moment/dist/locale/x-pseudo.js +6 -6
- package/node_modules/moment/dist/moment.js +368 -365
- package/node_modules/moment/locale/ar-dz.js +8 -8
- package/node_modules/moment/locale/ar-ly.js +8 -8
- package/node_modules/moment/locale/ar-ps.js +123 -0
- package/node_modules/moment/locale/ar.js +8 -8
- package/node_modules/moment/locale/be.js +2 -2
- package/node_modules/moment/locale/bs.js +14 -4
- package/node_modules/moment/locale/ca.js +6 -6
- package/node_modules/moment/locale/cs.js +5 -4
- package/node_modules/moment/locale/cv.js +2 -2
- package/node_modules/moment/locale/en-au.js +6 -6
- package/node_modules/moment/locale/en-ca.js +6 -6
- package/node_modules/moment/locale/en-gb.js +6 -6
- package/node_modules/moment/locale/en-ie.js +6 -6
- package/node_modules/moment/locale/en-il.js +6 -6
- package/node_modules/moment/locale/en-in.js +6 -6
- package/node_modules/moment/locale/en-nz.js +6 -6
- package/node_modules/moment/locale/en-sg.js +6 -6
- package/node_modules/moment/locale/it.js +4 -4
- package/node_modules/moment/locale/ku-kmr.js +125 -0
- package/node_modules/moment/locale/lt.js +2 -2
- package/node_modules/moment/locale/me.js +2 -2
- package/node_modules/moment/locale/nb.js +4 -4
- package/node_modules/moment/locale/nl-be.js +1 -1
- package/node_modules/moment/locale/nl.js +1 -1
- package/node_modules/moment/locale/oc-lnc.js +6 -6
- package/node_modules/moment/locale/ru.js +2 -2
- package/node_modules/moment/locale/sv.js +6 -6
- package/node_modules/moment/locale/tet.js +6 -6
- package/node_modules/moment/locale/tlh.js +8 -8
- package/node_modules/moment/locale/tzl.js +2 -2
- package/node_modules/moment/locale/uk.js +4 -4
- package/node_modules/moment/locale/x-pseudo.js +6 -6
- package/node_modules/moment/min/locales.js +536 -306
- package/node_modules/moment/min/locales.min.js +1 -1
- package/node_modules/moment/min/locales.min.js.map +1 -1
- package/node_modules/moment/min/moment-with-locales.js +903 -670
- package/node_modules/moment/min/moment-with-locales.min.js +1 -1
- package/node_modules/moment/min/moment-with-locales.min.js.map +1 -1
- package/node_modules/moment/min/moment.min.js +1 -1
- package/node_modules/moment/min/moment.min.js.map +1 -1
- package/node_modules/moment/moment.js +368 -365
- package/node_modules/moment/package.json +7 -3
- package/node_modules/moment/src/lib/create/check-overflow.js +15 -15
- package/node_modules/moment/src/lib/create/valid.js +24 -24
- package/node_modules/moment/src/lib/duration/as.js +3 -15
- package/node_modules/moment/src/lib/locale/en.js +6 -6
- package/node_modules/moment/src/lib/locale/locales.js +2 -1
- package/node_modules/moment/src/lib/moment/calendar.js +10 -10
- package/node_modules/moment/src/lib/moment/get-set.js +66 -22
- package/node_modules/moment/src/lib/parse/regex.js +4 -0
- package/node_modules/moment/src/lib/units/aliases.js +50 -6
- package/node_modules/moment/src/lib/units/day-of-month.js +7 -11
- package/node_modules/moment/src/lib/units/day-of-week.js +9 -20
- package/node_modules/moment/src/lib/units/day-of-year.js +0 -9
- package/node_modules/moment/src/lib/units/era.js +13 -7
- package/node_modules/moment/src/lib/units/hour.js +5 -12
- package/node_modules/moment/src/lib/units/millisecond.js +0 -10
- package/node_modules/moment/src/lib/units/minute.js +7 -12
- package/node_modules/moment/src/lib/units/month.js +18 -27
- package/node_modules/moment/src/lib/units/priorities.js +18 -5
- package/node_modules/moment/src/lib/units/quarter.js +0 -10
- package/node_modules/moment/src/lib/units/second.js +7 -12
- package/node_modules/moment/src/lib/units/week-year.js +1 -11
- package/node_modules/moment/src/lib/units/week.js +8 -15
- package/node_modules/moment/src/lib/units/year.js +0 -10
- package/node_modules/moment/src/locale/ar-dz.js +8 -8
- package/node_modules/moment/src/locale/ar-ly.js +8 -8
- package/node_modules/moment/src/locale/ar-ps.js +112 -0
- package/node_modules/moment/src/locale/ar.js +8 -8
- package/node_modules/moment/src/locale/be.js +2 -2
- package/node_modules/moment/src/locale/bs.js +14 -4
- package/node_modules/moment/src/locale/ca.js +6 -6
- package/node_modules/moment/src/locale/cs.js +5 -4
- package/node_modules/moment/src/locale/cv.js +2 -2
- package/node_modules/moment/src/locale/en-au.js +6 -6
- package/node_modules/moment/src/locale/en-ca.js +6 -6
- package/node_modules/moment/src/locale/en-gb.js +6 -6
- package/node_modules/moment/src/locale/en-ie.js +6 -6
- package/node_modules/moment/src/locale/en-il.js +6 -6
- package/node_modules/moment/src/locale/en-in.js +6 -6
- package/node_modules/moment/src/locale/en-nz.js +6 -6
- package/node_modules/moment/src/locale/en-sg.js +6 -6
- package/node_modules/moment/src/locale/it.js +4 -4
- package/node_modules/moment/src/locale/ku-kmr.js +121 -0
- package/node_modules/moment/src/locale/lt.js +2 -2
- package/node_modules/moment/src/locale/me.js +2 -2
- package/node_modules/moment/src/locale/nb.js +4 -4
- package/node_modules/moment/src/locale/nl-be.js +1 -1
- package/node_modules/moment/src/locale/nl.js +1 -1
- package/node_modules/moment/src/locale/oc-lnc.js +6 -6
- package/node_modules/moment/src/locale/ru.js +2 -2
- package/node_modules/moment/src/locale/sv.js +6 -6
- package/node_modules/moment/src/locale/tet.js +6 -6
- package/node_modules/moment/src/locale/tlh.js +8 -8
- package/node_modules/moment/src/locale/tzl.js +2 -2
- package/node_modules/moment/src/locale/uk.js +4 -4
- package/node_modules/moment/src/locale/x-pseudo.js +6 -6
- package/node_modules/moment/src/moment.js +2 -2
- package/oclif.manifest.json +46 -1
- package/package.json +6 -4
- package/node_modules/@octokit/app/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/app/dist-src/each-installation.js +0 -28
- package/node_modules/@octokit/app/dist-src/each-repository.js +0 -45
- package/node_modules/@octokit/app/dist-src/get-installation-octokit.js +0 -15
- package/node_modules/@octokit/app/dist-src/index.js +0 -77
- package/node_modules/@octokit/app/dist-src/middleware/node/index.js +0 -46
- package/node_modules/@octokit/app/dist-src/middleware/node/on-unhandled-request-default.js +0 -8
- package/node_modules/@octokit/app/dist-src/types.js +0 -1
- package/node_modules/@octokit/app/dist-src/version.js +0 -1
- package/node_modules/@octokit/app/dist-src/webhooks.js +0 -47
- package/node_modules/@octokit/app/dist-types/each-installation.d.ts +0 -119
- package/node_modules/@octokit/app/dist-types/each-repository.d.ts +0 -266
- package/node_modules/@octokit/app/dist-types/get-installation-octokit.d.ts +0 -3
- package/node_modules/@octokit/app/dist-types/index.d.ts +0 -52
- package/node_modules/@octokit/app/dist-types/middleware/node/index.d.ts +0 -12
- package/node_modules/@octokit/app/dist-types/middleware/node/on-unhandled-request-default.d.ts +0 -4
- package/node_modules/@octokit/app/dist-types/types.d.ts +0 -51
- package/node_modules/@octokit/app/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/app/dist-types/webhooks.d.ts +0 -6
- package/node_modules/@octokit/auth-app/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-app/dist-src/auth.js +0 -28
- package/node_modules/@octokit/auth-app/dist-src/cache.js +0 -71
- package/node_modules/@octokit/auth-app/dist-src/get-app-authentication.js +0 -24
- package/node_modules/@octokit/auth-app/dist-src/get-installation-authentication.js +0 -81
- package/node_modules/@octokit/auth-app/dist-src/hook.js +0 -88
- package/node_modules/@octokit/auth-app/dist-src/index.js +0 -46
- package/node_modules/@octokit/auth-app/dist-src/requires-app-auth.js +0 -53
- package/node_modules/@octokit/auth-app/dist-src/to-token-authentication.js +0 -12
- package/node_modules/@octokit/auth-app/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-app/dist-src/version.js +0 -1
- package/node_modules/@octokit/auth-app/dist-types/auth.d.ts +0 -20
- package/node_modules/@octokit/auth-app/dist-types/cache.d.ts +0 -5
- package/node_modules/@octokit/auth-app/dist-types/get-app-authentication.d.ts +0 -4
- package/node_modules/@octokit/auth-app/dist-types/get-installation-authentication.d.ts +0 -2
- package/node_modules/@octokit/auth-app/dist-types/hook.d.ts +0 -2
- package/node_modules/@octokit/auth-app/dist-types/index.d.ts +0 -4
- package/node_modules/@octokit/auth-app/dist-types/requires-app-auth.d.ts +0 -1
- package/node_modules/@octokit/auth-app/dist-types/to-token-authentication.d.ts +0 -2
- package/node_modules/@octokit/auth-app/dist-types/types.d.ts +0 -125
- package/node_modules/@octokit/auth-app/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/auth-app/dist-web/index.js +0 -403
- package/node_modules/@octokit/auth-app/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-app/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-app/dist-src/auth.js +0 -40
- package/node_modules/@octokit/auth-oauth-app/dist-src/hook.js +0 -24
- package/node_modules/@octokit/auth-oauth-app/dist-src/index.js +0 -20
- package/node_modules/@octokit/auth-oauth-app/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-app/dist-src/version.js +0 -1
- package/node_modules/@octokit/auth-oauth-app/dist-types/auth.d.ts +0 -18
- package/node_modules/@octokit/auth-oauth-app/dist-types/hook.d.ts +0 -3
- package/node_modules/@octokit/auth-oauth-app/dist-types/index.d.ts +0 -5
- package/node_modules/@octokit/auth-oauth-app/dist-types/types.d.ts +0 -98
- package/node_modules/@octokit/auth-oauth-app/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/auth-oauth-app/dist-web/index.js +0 -87
- package/node_modules/@octokit/auth-oauth-app/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-src/index.js +0 -55
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/index.d.ts +0 -33
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-types/types.d.ts +0 -9
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-web/index.js +0 -59
- package/node_modules/@octokit/auth-oauth-app/node_modules/@octokit/request-error/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-device/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-device/dist-src/auth.js +0 -6
- package/node_modules/@octokit/auth-oauth-device/dist-src/get-oauth-access-token.js +0 -78
- package/node_modules/@octokit/auth-oauth-device/dist-src/hook.js +0 -14
- package/node_modules/@octokit/auth-oauth-device/dist-src/index.js +0 -36
- package/node_modules/@octokit/auth-oauth-device/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-device/dist-src/version.js +0 -1
- package/node_modules/@octokit/auth-oauth-device/dist-types/auth.d.ts +0 -2
- package/node_modules/@octokit/auth-oauth-device/dist-types/get-oauth-access-token.d.ts +0 -6
- package/node_modules/@octokit/auth-oauth-device/dist-types/hook.d.ts +0 -3
- package/node_modules/@octokit/auth-oauth-device/dist-types/index.d.ts +0 -4
- package/node_modules/@octokit/auth-oauth-device/dist-types/types.d.ts +0 -68
- package/node_modules/@octokit/auth-oauth-device/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/auth-oauth-device/dist-web/index.js +0 -138
- package/node_modules/@octokit/auth-oauth-device/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-src/index.js +0 -55
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/index.d.ts +0 -33
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-types/types.d.ts +0 -9
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-web/index.js +0 -59
- package/node_modules/@octokit/auth-oauth-device/node_modules/@octokit/request-error/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-src/auth.js +0 -94
- package/node_modules/@octokit/auth-oauth-user/dist-src/get-authentication.js +0 -48
- package/node_modules/@octokit/auth-oauth-user/dist-src/hook.js +0 -21
- package/node_modules/@octokit/auth-oauth-user/dist-src/index.js +0 -25
- package/node_modules/@octokit/auth-oauth-user/dist-src/requires-basic-auth.js +0 -20
- package/node_modules/@octokit/auth-oauth-user/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-src/version.js +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-types/auth.d.ts +0 -3
- package/node_modules/@octokit/auth-oauth-user/dist-types/get-authentication.d.ts +0 -3
- package/node_modules/@octokit/auth-oauth-user/dist-types/hook.d.ts +0 -6
- package/node_modules/@octokit/auth-oauth-user/dist-types/index.d.ts +0 -11
- package/node_modules/@octokit/auth-oauth-user/dist-types/requires-basic-auth.d.ts +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-types/types.d.ts +0 -110
- package/node_modules/@octokit/auth-oauth-user/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/auth-oauth-user/dist-web/index.js +0 -210
- package/node_modules/@octokit/auth-oauth-user/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/check-token.js +0 -27
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/create-device-code.js +0 -14
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/delete-authorization.js +0 -15
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/delete-token.js +0 -15
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/exchange-device-code.js +0 -34
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/exchange-web-flow-code.js +0 -33
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/get-web-flow-authorization-url.js +0 -11
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/index.js +0 -11
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/refresh-token.js +0 -27
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/reset-token.js +0 -28
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/scope-token.js +0 -21
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/utils.js +0 -27
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-src/version.js +0 -1
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/check-token.d.ts +0 -24
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/create-device-code.d.ts +0 -20
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/delete-authorization.d.ts +0 -18
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/delete-token.d.ts +0 -18
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/exchange-device-code.d.ts +0 -57
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/exchange-web-flow-code.d.ts +0 -32
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/get-web-flow-authorization-url.d.ts +0 -25
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/index.d.ts +0 -12
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/refresh-token.d.ts +0 -13
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/reset-token.d.ts +0 -24
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/scope-token.d.ts +0 -29
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/types.d.ts +0 -58
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/utils.d.ts +0 -3
- package/node_modules/@octokit/auth-oauth-user/node_modules/@octokit/oauth-methods/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/auth-token/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-token/dist-src/auth.js +0 -21
- package/node_modules/@octokit/auth-token/dist-src/hook.js +0 -6
- package/node_modules/@octokit/auth-token/dist-src/index.js +0 -14
- package/node_modules/@octokit/auth-token/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js +0 -11
- package/node_modules/@octokit/auth-token/dist-types/auth.d.ts +0 -2
- package/node_modules/@octokit/auth-token/dist-types/hook.d.ts +0 -2
- package/node_modules/@octokit/auth-token/dist-types/index.d.ts +0 -7
- package/node_modules/@octokit/auth-token/dist-types/types.d.ts +0 -33
- package/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts +0 -6
- package/node_modules/@octokit/auth-token/dist-web/index.js +0 -55
- package/node_modules/@octokit/auth-token/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/auth-unauthenticated/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/auth-unauthenticated/dist-src/auth.js +0 -6
- package/node_modules/@octokit/auth-unauthenticated/dist-src/hook.js +0 -27
- package/node_modules/@octokit/auth-unauthenticated/dist-src/index.js +0 -10
- package/node_modules/@octokit/auth-unauthenticated/dist-src/is-abuse-limit-error.js +0 -7
- package/node_modules/@octokit/auth-unauthenticated/dist-src/is-rate-limit-error.js +0 -10
- package/node_modules/@octokit/auth-unauthenticated/dist-src/types.js +0 -1
- package/node_modules/@octokit/auth-unauthenticated/dist-types/auth.d.ts +0 -2
- package/node_modules/@octokit/auth-unauthenticated/dist-types/hook.d.ts +0 -2
- package/node_modules/@octokit/auth-unauthenticated/dist-types/index.d.ts +0 -7
- package/node_modules/@octokit/auth-unauthenticated/dist-types/is-abuse-limit-error.d.ts +0 -2
- package/node_modules/@octokit/auth-unauthenticated/dist-types/is-rate-limit-error.d.ts +0 -2
- package/node_modules/@octokit/auth-unauthenticated/dist-types/types.d.ts +0 -18
- package/node_modules/@octokit/auth-unauthenticated/dist-web/index.js +0 -63
- package/node_modules/@octokit/auth-unauthenticated/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/core/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/core/dist-src/index.js +0 -125
- package/node_modules/@octokit/core/dist-src/types.js +0 -1
- package/node_modules/@octokit/core/dist-src/version.js +0 -1
- package/node_modules/@octokit/core/dist-types/index.d.ts +0 -30
- package/node_modules/@octokit/core/dist-types/types.d.ts +0 -44
- package/node_modules/@octokit/core/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/core/dist-web/index.js +0 -130
- package/node_modules/@octokit/core/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/endpoint/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/endpoint/dist-src/defaults.js +0 -17
- package/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +0 -5
- package/node_modules/@octokit/endpoint/dist-src/index.js +0 -3
- package/node_modules/@octokit/endpoint/dist-src/merge.js +0 -26
- package/node_modules/@octokit/endpoint/dist-src/parse.js +0 -81
- package/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +0 -17
- package/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +0 -11
- package/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +0 -9
- package/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +0 -16
- package/node_modules/@octokit/endpoint/dist-src/util/omit.js +0 -8
- package/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +0 -8
- package/node_modules/@octokit/endpoint/dist-src/util/url-template.js +0 -164
- package/node_modules/@octokit/endpoint/dist-src/version.js +0 -1
- package/node_modules/@octokit/endpoint/dist-src/with-defaults.js +0 -13
- package/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +0 -2
- package/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +0 -3
- package/node_modules/@octokit/endpoint/dist-types/index.d.ts +0 -1
- package/node_modules/@octokit/endpoint/dist-types/merge.d.ts +0 -2
- package/node_modules/@octokit/endpoint/dist-types/parse.d.ts +0 -2
- package/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +0 -4
- package/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +0 -1
- package/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +0 -5
- package/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +0 -1
- package/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +0 -5
- package/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +0 -1
- package/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +0 -3
- package/node_modules/@octokit/endpoint/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +0 -2
- package/node_modules/@octokit/endpoint/dist-web/index.js +0 -381
- package/node_modules/@octokit/endpoint/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/graphql/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/graphql/dist-src/error.js +0 -21
- package/node_modules/@octokit/graphql/dist-src/graphql.js +0 -52
- package/node_modules/@octokit/graphql/dist-src/index.js +0 -18
- package/node_modules/@octokit/graphql/dist-src/types.js +0 -1
- package/node_modules/@octokit/graphql/dist-src/version.js +0 -1
- package/node_modules/@octokit/graphql/dist-src/with-defaults.js +0 -12
- package/node_modules/@octokit/graphql/dist-types/error.d.ts +0 -13
- package/node_modules/@octokit/graphql/dist-types/graphql.d.ts +0 -3
- package/node_modules/@octokit/graphql/dist-types/index.d.ts +0 -5
- package/node_modules/@octokit/graphql/dist-types/types.d.ts +0 -55
- package/node_modules/@octokit/graphql/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts +0 -3
- package/node_modules/@octokit/graphql/dist-web/index.js +0 -106
- package/node_modules/@octokit/graphql/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/oauth-app/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/oauth-app/dist-src/add-event-handler.js +0 -12
- package/node_modules/@octokit/oauth-app/dist-src/emit-event.js +0 -13
- package/node_modules/@octokit/oauth-app/dist-src/index.js +0 -68
- package/node_modules/@octokit/oauth-app/dist-src/methods/check-token.js +0 -13
- package/node_modules/@octokit/oauth-app/dist-src/methods/create-token.js +0 -29
- package/node_modules/@octokit/oauth-app/dist-src/methods/delete-authorization.js +0 -44
- package/node_modules/@octokit/oauth-app/dist-src/methods/delete-token.js +0 -33
- package/node_modules/@octokit/oauth-app/dist-src/methods/get-oauth-client-code.js +0 -7
- package/node_modules/@octokit/oauth-app/dist-src/methods/get-user-octokit.js +0 -26
- package/node_modules/@octokit/oauth-app/dist-src/methods/get-web-flow-authorization-url.js +0 -14
- package/node_modules/@octokit/oauth-app/dist-src/methods/refresh-token.js +0 -35
- package/node_modules/@octokit/oauth-app/dist-src/methods/reset-token.js +0 -63
- package/node_modules/@octokit/oauth-app/dist-src/methods/scope-token.js +0 -35
- package/node_modules/@octokit/oauth-app/dist-src/middleware/aws-lambda/api-gateway-v2-parse-request.js +0 -12
- package/node_modules/@octokit/oauth-app/dist-src/middleware/aws-lambda/api-gateway-v2-send-response.js +0 -7
- package/node_modules/@octokit/oauth-app/dist-src/middleware/aws-lambda/api-gateway-v2.js +0 -16
- package/node_modules/@octokit/oauth-app/dist-src/middleware/handle-request.js +0 -218
- package/node_modules/@octokit/oauth-app/dist-src/middleware/node/index.js +0 -24
- package/node_modules/@octokit/oauth-app/dist-src/middleware/node/parse-request.js +0 -14
- package/node_modules/@octokit/oauth-app/dist-src/middleware/node/send-response.js +0 -4
- package/node_modules/@octokit/oauth-app/dist-src/middleware/on-unhandled-request-default.js +0 -9
- package/node_modules/@octokit/oauth-app/dist-src/middleware/types.js +0 -1
- package/node_modules/@octokit/oauth-app/dist-src/middleware/web-worker/index.js +0 -23
- package/node_modules/@octokit/oauth-app/dist-src/middleware/web-worker/parse-request.js +0 -10
- package/node_modules/@octokit/oauth-app/dist-src/middleware/web-worker/send-response.js +0 -6
- package/node_modules/@octokit/oauth-app/dist-src/oauth-app-octokit.js +0 -6
- package/node_modules/@octokit/oauth-app/dist-src/types.js +0 -1
- package/node_modules/@octokit/oauth-app/dist-src/version.js +0 -1
- package/node_modules/@octokit/oauth-app/dist-types/add-event-handler.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/emit-event.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/index.d.ts +0 -46
- package/node_modules/@octokit/oauth-app/dist-types/methods/check-token.d.ts +0 -14
- package/node_modules/@octokit/oauth-app/dist-types/methods/create-token.d.ts +0 -24
- package/node_modules/@octokit/oauth-app/dist-types/methods/delete-authorization.d.ts +0 -9
- package/node_modules/@octokit/oauth-app/dist-types/methods/delete-token.d.ts +0 -9
- package/node_modules/@octokit/oauth-app/dist-types/methods/get-oauth-client-code.d.ts +0 -1
- package/node_modules/@octokit/oauth-app/dist-types/methods/get-user-octokit.d.ts +0 -10
- package/node_modules/@octokit/oauth-app/dist-types/methods/get-web-flow-authorization-url.d.ts +0 -10
- package/node_modules/@octokit/oauth-app/dist-types/methods/refresh-token.d.ts +0 -19
- package/node_modules/@octokit/oauth-app/dist-types/methods/reset-token.d.ts +0 -24
- package/node_modules/@octokit/oauth-app/dist-types/methods/scope-token.d.ts +0 -19
- package/node_modules/@octokit/oauth-app/dist-types/middleware/aws-lambda/api-gateway-v2-parse-request.d.ts +0 -3
- package/node_modules/@octokit/oauth-app/dist-types/middleware/aws-lambda/api-gateway-v2-send-response.d.ts +0 -3
- package/node_modules/@octokit/oauth-app/dist-types/middleware/aws-lambda/api-gateway-v2.d.ts +0 -7
- package/node_modules/@octokit/oauth-app/dist-types/middleware/handle-request.d.ts +0 -4
- package/node_modules/@octokit/oauth-app/dist-types/middleware/node/index.d.ts +0 -9
- package/node_modules/@octokit/oauth-app/dist-types/middleware/node/parse-request.d.ts +0 -4
- package/node_modules/@octokit/oauth-app/dist-types/middleware/node/send-response.d.ts +0 -4
- package/node_modules/@octokit/oauth-app/dist-types/middleware/on-unhandled-request-default.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/middleware/types.d.ts +0 -14
- package/node_modules/@octokit/oauth-app/dist-types/middleware/web-worker/index.d.ts +0 -7
- package/node_modules/@octokit/oauth-app/dist-types/middleware/web-worker/parse-request.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/middleware/web-worker/send-response.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/oauth-app-octokit.d.ts +0 -2
- package/node_modules/@octokit/oauth-app/dist-types/types.d.ts +0 -65
- package/node_modules/@octokit/oauth-app/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/check-token.js +0 -27
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/create-device-code.js +0 -14
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/delete-authorization.js +0 -15
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/delete-token.js +0 -15
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/exchange-device-code.js +0 -34
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/exchange-web-flow-code.js +0 -33
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/get-web-flow-authorization-url.js +0 -11
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/index.js +0 -11
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/refresh-token.js +0 -27
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/reset-token.js +0 -28
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/scope-token.js +0 -21
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/types.js +0 -1
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/utils.js +0 -27
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-src/version.js +0 -1
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/check-token.d.ts +0 -24
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/create-device-code.d.ts +0 -20
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/delete-authorization.d.ts +0 -18
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/delete-token.d.ts +0 -18
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/exchange-device-code.d.ts +0 -57
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/exchange-web-flow-code.d.ts +0 -32
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/get-web-flow-authorization-url.d.ts +0 -25
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/index.d.ts +0 -12
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/refresh-token.d.ts +0 -13
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/reset-token.d.ts +0 -24
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/scope-token.d.ts +0 -29
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/types.d.ts +0 -58
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/utils.d.ts +0 -3
- package/node_modules/@octokit/oauth-app/node_modules/@octokit/oauth-methods/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/oauth-authorization-url/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/oauth-authorization-url/dist-src/index.js +0 -53
- package/node_modules/@octokit/oauth-authorization-url/dist-src/types.js +0 -1
- package/node_modules/@octokit/oauth-authorization-url/dist-types/index.d.ts +0 -4
- package/node_modules/@octokit/oauth-authorization-url/dist-types/types.d.ts +0 -39
- package/node_modules/@octokit/oauth-authorization-url/dist-web/index.js +0 -56
- package/node_modules/@octokit/oauth-authorization-url/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-src/index.js +0 -53
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-src/types.js +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-types/index.d.ts +0 -4
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-types/types.d.ts +0 -39
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-web/index.js +0 -56
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/oauth-authorization-url/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-src/index.js +0 -55
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-src/types.js +0 -1
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/index.d.ts +0 -33
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-types/types.d.ts +0 -9
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-web/index.js +0 -59
- package/node_modules/@octokit/oauth-methods/node_modules/@octokit/request-error/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js +0 -5
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js +0 -216
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js +0 -17
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js +0 -39
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js +0 -47
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js +0 -24
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js +0 -10
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js +0 -1
- package/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js +0 -1
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts +0 -2
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts +0 -1612
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts +0 -16
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts +0 -20
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts +0 -18
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts +0 -3
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts +0 -3
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts +0 -242
- package/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js +0 -358
- package/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js +0 -60
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js +0 -1664
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js +0 -18
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts +0 -4
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts +0 -3
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts +0 -9945
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts +0 -3211
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts +0 -11
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts +0 -18
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js +0 -1745
- package/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/plugin-retry/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/plugin-retry/dist-src/error-request.js +0 -15
- package/node_modules/@octokit/plugin-retry/dist-src/index.js +0 -27
- package/node_modules/@octokit/plugin-retry/dist-src/version.js +0 -1
- package/node_modules/@octokit/plugin-retry/dist-src/wrap-request.js +0 -18
- package/node_modules/@octokit/plugin-retry/dist-types/error-request.d.ts +0 -1
- package/node_modules/@octokit/plugin-retry/dist-types/index.d.ts +0 -11
- package/node_modules/@octokit/plugin-retry/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/plugin-retry/dist-types/wrap-request.d.ts +0 -1
- package/node_modules/@octokit/plugin-retry/dist-web/index.js +0 -64
- package/node_modules/@octokit/plugin-retry/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-src/generated/triggers-notification-paths.js +0 -19
- package/node_modules/@octokit/plugin-throttling/dist-src/index.js +0 -127
- package/node_modules/@octokit/plugin-throttling/dist-src/route-matcher.js +0 -25
- package/node_modules/@octokit/plugin-throttling/dist-src/types.js +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-src/version.js +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-src/wrap-request.js +0 -47
- package/node_modules/@octokit/plugin-throttling/dist-types/generated/triggers-notification-paths.d.ts +0 -2
- package/node_modules/@octokit/plugin-throttling/dist-types/index.d.ts +0 -7
- package/node_modules/@octokit/plugin-throttling/dist-types/route-matcher.d.ts +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-types/types.d.ts +0 -43
- package/node_modules/@octokit/plugin-throttling/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-types/wrap-request.d.ts +0 -1
- package/node_modules/@octokit/plugin-throttling/dist-web/index.js +0 -223
- package/node_modules/@octokit/plugin-throttling/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/request/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/request/dist-src/fetch-wrapper.js +0 -119
- package/node_modules/@octokit/request/dist-src/get-buffer-response.js +0 -3
- package/node_modules/@octokit/request/dist-src/index.js +0 -9
- package/node_modules/@octokit/request/dist-src/version.js +0 -1
- package/node_modules/@octokit/request/dist-src/with-defaults.js +0 -22
- package/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +0 -11
- package/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts +0 -2
- package/node_modules/@octokit/request/dist-types/index.d.ts +0 -1
- package/node_modules/@octokit/request/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/request/dist-types/with-defaults.d.ts +0 -2
- package/node_modules/@octokit/request/dist-web/index.js +0 -158
- package/node_modules/@octokit/request/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/request-error/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/request-error/dist-src/index.js +0 -55
- package/node_modules/@octokit/request-error/dist-src/types.js +0 -1
- package/node_modules/@octokit/request-error/dist-types/index.d.ts +0 -33
- package/node_modules/@octokit/request-error/dist-types/types.d.ts +0 -9
- package/node_modules/@octokit/request-error/dist-web/index.js +0 -59
- package/node_modules/@octokit/request-error/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/types/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/types/dist-src/AuthInterface.js +0 -1
- package/node_modules/@octokit/types/dist-src/EndpointDefaults.js +0 -1
- package/node_modules/@octokit/types/dist-src/EndpointInterface.js +0 -1
- package/node_modules/@octokit/types/dist-src/EndpointOptions.js +0 -1
- package/node_modules/@octokit/types/dist-src/Fetch.js +0 -1
- package/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js +0 -1
- package/node_modules/@octokit/types/dist-src/OctokitResponse.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestError.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestHeaders.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestInterface.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestMethod.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestOptions.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestParameters.js +0 -1
- package/node_modules/@octokit/types/dist-src/RequestRequestOptions.js +0 -1
- package/node_modules/@octokit/types/dist-src/ResponseHeaders.js +0 -1
- package/node_modules/@octokit/types/dist-src/Route.js +0 -1
- package/node_modules/@octokit/types/dist-src/Signal.js +0 -1
- package/node_modules/@octokit/types/dist-src/StrategyInterface.js +0 -1
- package/node_modules/@octokit/types/dist-src/Url.js +0 -1
- package/node_modules/@octokit/types/dist-src/VERSION.js +0 -1
- package/node_modules/@octokit/types/dist-src/generated/Endpoints.js +0 -1
- package/node_modules/@octokit/types/dist-src/index.js +0 -21
- package/node_modules/@octokit/types/dist-types/AuthInterface.d.ts +0 -31
- package/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts +0 -21
- package/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts +0 -65
- package/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts +0 -7
- package/node_modules/@octokit/types/dist-types/Fetch.d.ts +0 -4
- package/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts +0 -5
- package/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts +0 -17
- package/node_modules/@octokit/types/dist-types/RequestError.d.ts +0 -11
- package/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts +0 -15
- package/node_modules/@octokit/types/dist-types/RequestInterface.d.ts +0 -34
- package/node_modules/@octokit/types/dist-types/RequestMethod.d.ts +0 -4
- package/node_modules/@octokit/types/dist-types/RequestOptions.d.ts +0 -14
- package/node_modules/@octokit/types/dist-types/RequestParameters.d.ts +0 -45
- package/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts +0 -26
- package/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts +0 -20
- package/node_modules/@octokit/types/dist-types/Route.d.ts +0 -4
- package/node_modules/@octokit/types/dist-types/Signal.d.ts +0 -6
- package/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts +0 -4
- package/node_modules/@octokit/types/dist-types/Url.d.ts +0 -4
- package/node_modules/@octokit/types/dist-types/VERSION.d.ts +0 -1
- package/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +0 -3571
- package/node_modules/@octokit/types/dist-types/index.d.ts +0 -21
- package/node_modules/@octokit/types/dist-web/index.js +0 -4
- package/node_modules/@octokit/types/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/webhooks/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/webhooks/dist-src/createLogger.js +0 -7
- package/node_modules/@octokit/webhooks/dist-src/event-handler/index.js +0 -20
- package/node_modules/@octokit/webhooks/dist-src/event-handler/on.js +0 -28
- package/node_modules/@octokit/webhooks/dist-src/event-handler/receive.js +0 -57
- package/node_modules/@octokit/webhooks/dist-src/event-handler/remove-listener.js +0 -17
- package/node_modules/@octokit/webhooks/dist-src/event-handler/wrap-error-handler.js +0 -19
- package/node_modules/@octokit/webhooks/dist-src/generated/webhook-names.js +0 -244
- package/node_modules/@octokit/webhooks/dist-src/index.js +0 -30
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/get-missing-headers.js +0 -9
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/get-payload.js +0 -25
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/index.js +0 -10
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/middleware.js +0 -70
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/on-unhandled-request-default.js +0 -8
- package/node_modules/@octokit/webhooks/dist-src/middleware/node/types.js +0 -1
- package/node_modules/@octokit/webhooks/dist-src/sign.js +0 -5
- package/node_modules/@octokit/webhooks/dist-src/to-normalized-json-string.js +0 -9
- package/node_modules/@octokit/webhooks/dist-src/types.js +0 -1
- package/node_modules/@octokit/webhooks/dist-src/verify-and-receive.js +0 -19
- package/node_modules/@octokit/webhooks/dist-src/verify.js +0 -5
- package/node_modules/@octokit/webhooks/dist-types/createLogger.d.ts +0 -7
- package/node_modules/@octokit/webhooks/dist-types/event-handler/index.d.ts +0 -10
- package/node_modules/@octokit/webhooks/dist-types/event-handler/on.d.ts +0 -4
- package/node_modules/@octokit/webhooks/dist-types/event-handler/receive.d.ts +0 -2
- package/node_modules/@octokit/webhooks/dist-types/event-handler/remove-listener.d.ts +0 -2
- package/node_modules/@octokit/webhooks/dist-types/event-handler/wrap-error-handler.d.ts +0 -1
- package/node_modules/@octokit/webhooks/dist-types/generated/webhook-names.d.ts +0 -1
- package/node_modules/@octokit/webhooks/dist-types/index.d.ts +0 -18
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/get-missing-headers.d.ts +0 -3
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/get-payload.d.ts +0 -4
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/index.d.ts +0 -3
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/middleware.d.ts +0 -6
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/on-unhandled-request-default.d.ts +0 -4
- package/node_modules/@octokit/webhooks/dist-types/middleware/node/types.d.ts +0 -9
- package/node_modules/@octokit/webhooks/dist-types/sign.d.ts +0 -1
- package/node_modules/@octokit/webhooks/dist-types/to-normalized-json-string.d.ts +0 -4
- package/node_modules/@octokit/webhooks/dist-types/types.d.ts +0 -62
- package/node_modules/@octokit/webhooks/dist-types/verify-and-receive.d.ts +0 -4
- package/node_modules/@octokit/webhooks/dist-types/verify.d.ts +0 -1
- package/node_modules/@octokit/webhooks/dist-web/index.js +0 -577
- package/node_modules/@octokit/webhooks/dist-web/index.js.map +0 -1
- package/node_modules/@octokit/webhooks-methods/dist-node/index.js.map +0 -1
- package/node_modules/@octokit/webhooks-methods/dist-src/index.js +0 -2
- package/node_modules/@octokit/webhooks-methods/dist-src/node/sign.js +0 -25
- package/node_modules/@octokit/webhooks-methods/dist-src/node/verify.js +0 -23
- package/node_modules/@octokit/webhooks-methods/dist-src/version.js +0 -1
- package/node_modules/@octokit/webhooks-methods/dist-src/web.js +0 -32
- package/node_modules/@octokit/webhooks-methods/dist-types/index.d.ts +0 -2
- package/node_modules/@octokit/webhooks-methods/dist-types/node/sign.d.ts +0 -13
- package/node_modules/@octokit/webhooks-methods/dist-types/node/verify.d.ts +0 -4
- package/node_modules/@octokit/webhooks-methods/dist-types/version.d.ts +0 -1
- package/node_modules/@octokit/webhooks-methods/dist-types/web.d.ts +0 -2
- package/node_modules/@octokit/webhooks-methods/dist-web/index.js +0 -35
- package/node_modules/@octokit/webhooks-methods/dist-web/index.js.map +0 -1
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDesignSystemVersionWriter.d.ts +0 -14
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKSupernova.d.ts +0 -46
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataBridge.d.ts +0 -50
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataCore.d.ts +0 -146
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementProperty.d.ts +0 -56
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenTheme.d.ts +0 -63
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenThemeOverride.d.ts +0 -49
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Enterprise/PluginFigmaTokens_Enterprise.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformBlock.d.ts +0 -75
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformUtil.d.ts +0 -26
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js +0 -2
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js.map +0 -1
- package/node_modules/@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/package.json +0 -129
- package/node_modules/@supernova-studio/pulsar-core/node_modules/node-fetch/CHANGELOG.md +0 -272
- package/node_modules/@supernova-studio/pulsar-language/LICENSE +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/LICENSE +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/README.md +0 -144
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/browser-bundle.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKBrand.d.ts +0 -80
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKBrandWriter.d.ts +0 -29
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDesignSystem.d.ts +0 -68
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDesignSystemVersion.d.ts +0 -103
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDesignSystemVersionWriter.d.ts +0 -14
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKDocumentation.d.ts +0 -56
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKSupernova.d.ts +0 -46
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/SDKWorkspace.d.ts +0 -26
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKConfiguration.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataBridge.d.ts +0 -50
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/data/SDKDataCore.d.ts +0 -146
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/errors/SDKSupernovaError.d.ts +0 -24
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKAssetGroupResolver.d.ts +0 -14
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKComponentResolver.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKDesignComponentGroupResolver.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKDocumentationItemResolver.d.ts +0 -32
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKTokenGroupResolver.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/core/resolvers/SDKTokenResolver.d.ts +0 -76
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/exports.d.ts +0 -117
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/index.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/assets/SDKAsset.d.ts +0 -17
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/assets/SDKRenderedAsset.d.ts +0 -28
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/components/SDKComponent.d.ts +0 -27
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/components/SDKDesignComponent.d.ts +0 -34
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationConfiguration.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationGroup.d.ts +0 -38
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationItem.d.ts +0 -28
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPage.d.ts +0 -32
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPageAsset.d.ts +0 -15
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPageBlock.d.ts +0 -32
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichText.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichTextSpan.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichTextSpanAttribute.d.ts +0 -14
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockAsset.d.ts +0 -15
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockAssets.d.ts +0 -24
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCallout.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCode.d.ts +0 -12
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockColumn.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockColumnItem.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCustom.d.ts +0 -16
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockDivider.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedFigma.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedGeneric.d.ts +0 -15
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedLink.d.ts +0 -16
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedStorybook.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedYoutube.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockFrame.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockFrames.d.ts +0 -26
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockHeading.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockImage.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockOrderedList.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockQuote.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockRenderCode.d.ts +0 -34
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockShortcut.d.ts +0 -35
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockShortcuts.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTab.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTabItem.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTable.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableCell.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableColumn.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableRow.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockText.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockToken.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTokenGroup.d.ts +0 -12
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTokenList.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockUnorderedList.d.ts +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/builder/SDKDocumentationBlockBuilder.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/configuration/SDKDocumentationItemConfiguration.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/documentation/configuration/SDKDocumentationItemHeader.d.ts +0 -30
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementDataView.d.ts +0 -30
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementDataViewColumn.d.ts +0 -37
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementProperty.d.ts +0 -56
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/SDKElementPropertyOption.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/elements/values/SDKElementPropertyValue.d.ts +0 -15
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKAlignment.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKAssetFormat.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKAssetScale.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKAssetScaleType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKBlurType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKBorderPosition.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationCalloutType.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationEnvironment.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationGroupBehavior.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationHeadingType.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationItemType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageAssetType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageBlockThemeType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageBlockType.d.ts +0 -31
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKFrameAlignment.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKFrameLayout.d.ts +0 -11
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKGradientType.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKRichTextSpanAttributeType.d.ts +0 -7
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKShadowType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKSourceType.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKTextCase.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKTextDecoration.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKTokenType.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/enums/SDKUnit.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/exporters/SDKExporter.d.ts +0 -74
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlock.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlockProperty.d.ts +0 -32
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlockVariant.d.ts +0 -12
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/exporters/custom_properties/SDKExporterConfigurationProperty.d.ts +0 -38
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/groups/SDKAssetGroup.d.ts +0 -20
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/groups/SDKDesignComponentGroup.d.ts +0 -33
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/groups/SDKTokenGroup.d.ts +0 -42
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKDesignComponentOrigin.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKFrameOrigin.d.ts +0 -25
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKSize.d.ts +0 -9
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKSource.d.ts +0 -102
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKTokenOrigin.d.ts +0 -15
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/support/SDKWorkspaceNPMRegistry.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKThemeUtilities.d.ts +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenTheme.d.ts +0 -63
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/themes/SDKTokenThemeOverride.d.ts +0 -49
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKBlurToken.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKBorderToken.d.ts +0 -19
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKColorToken.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKFontToken.d.ts +0 -16
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKGenericToken.d.ts +0 -20
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKGradientToken.d.ts +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKMeasureToken.d.ts +0 -26
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKRadiusToken.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKShadowToken.d.ts +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKTextToken.d.ts +0 -16
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKToken.d.ts +0 -30
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKTokenCompator.d.ts +0 -20
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKTokenValue.d.ts +0 -113
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/SDKTypographyToken.d.ts +0 -19
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenData.d.ts +0 -45
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenModel.d.ts +0 -62
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenValue.d.ts +0 -72
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/model/users/SDKUser.d.ts +0 -22
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Brand.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Components.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/DesignSystem.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/DesignSystemVersion.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Documentation.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Supernova.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Theme.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Accessors/Workspace.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Enterprise/PluginFigmaTokens_Enterprise.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Tooling/PluginJSONBuilder.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Tooling/ToolDocSearch.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Tooling/ToolMarkdownTransform.spec.d.ts +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/helpers.d.ts +0 -2
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/SDKToolsDesignTokensPlugin.d.ts +0 -48
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONConverter.d.ts +0 -35
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONGroupBuilder.d.ts +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONLoader.d.ts +0 -27
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONParser.d.ts +0 -41
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTMapLoader.d.ts +0 -39
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTMapResolver.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTThemeMerger.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenGroupTreeMerger.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenMerger.d.ts +0 -17
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenReferenceResolver.d.ts +0 -48
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenSetResolver.d.ts +0 -12
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/collection/SDKDTTokenCollection.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/expression/SDKDTExpressionParser.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTGroupTree.d.ts +0 -10
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTGroupTreeNode.d.ts +0 -20
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTParentChildMapping.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/json-builder/SDKToolsJSONBuilder.d.ts +0 -57
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementFigmaTokensTransformer.d.ts +0 -40
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementStyleDictionaryTransformer.d.ts +0 -29
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementTransformer.d.ts +0 -77
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransform.d.ts +0 -23
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformBlock.d.ts +0 -75
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransformUtil.d.ts +0 -26
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/search-index/SDKToolsDocSearch.d.ts +0 -47
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tools/token-transform/SDKToolsTokenTransform.d.ts +0 -44
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/utils/FlowUtils.d.ts +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/utils/StringUtils.d.ts +0 -72
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js +0 -2
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/build/supernova-sdk-typescript.js.map +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/LICENSE +0 -21
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/README.md +0 -482
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/Mutex.js +0 -38
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/MutexInterface.js +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/Semaphore.js +0 -100
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/SemaphoreInterface.js +0 -1
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/errors.js +0 -3
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/index.js +0 -5
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/tryAcquire.js +0 -8
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/es6/withTimeout.js +0 -86
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/index.mjs +0 -201
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/Mutex.d.ts +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/Mutex.js +0 -40
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/MutexInterface.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/MutexInterface.js +0 -2
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/Semaphore.d.ts +0 -20
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/Semaphore.js +0 -102
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/SemaphoreInterface.d.ts +0 -18
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/SemaphoreInterface.js +0 -2
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/errors.d.ts +0 -3
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/errors.js +0 -6
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/index.d.ts +0 -7
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/index.js +0 -13
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/tryAcquire.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/tryAcquire.js +0 -12
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/withTimeout.d.ts +0 -4
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/lib/withTimeout.js +0 -90
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/node_modules/async-mutex/package.json +0 -88
- package/node_modules/@supernova-studio/pulsar-language/node_modules/@supernovaio/supernova-sdk/package.json +0 -129
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/LICENSE.md +0 -22
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/README.md +0 -634
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/browser.js +0 -25
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/lib/index.es.js +0 -1777
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/lib/index.js +0 -1787
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/lib/index.mjs +0 -1775
- package/node_modules/@supernova-studio/pulsar-language/node_modules/node-fetch/package.json +0 -89
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/definition/SDKDocsBlockItem.d.ts +0 -27
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/model/docs/blocks/properties/SDKDocsBlockEmbedFrameProperty.d.ts +0 -9
- package/node_modules/@supernovaio/sdk/build/sdk-typescript/src/utils/DocumentationUtils.d.ts +0 -2
- package/node_modules/argparse/CHANGELOG.md +0 -185
- package/node_modules/commander/CHANGELOG.md +0 -515
- package/node_modules/deprecation/dist-src/index.js +0 -14
- package/node_modules/deprecation/dist-types/index.d.ts +0 -3
- package/node_modules/deprecation/dist-web/index.js +0 -16
- package/node_modules/esprima/ChangeLog +0 -235
- package/node_modules/expr-eval/CHANGELOG.md +0 -22
- package/node_modules/fuse.js/CHANGELOG.md +0 -326
- package/node_modules/js-yaml/CHANGELOG.md +0 -557
- package/node_modules/octokit/dist-node/index.js.map +0 -1
- package/node_modules/octokit/dist-src/app.js +0 -6
- package/node_modules/octokit/dist-src/index.js +0 -2
- package/node_modules/octokit/dist-src/octokit.js +0 -31
- package/node_modules/octokit/dist-src/version.js +0 -1
- package/node_modules/octokit/dist-types/app.d.ts +0 -89
- package/node_modules/octokit/dist-types/index.d.ts +0 -2
- package/node_modules/octokit/dist-types/octokit.d.ts +0 -9
- package/node_modules/octokit/dist-types/version.d.ts +0 -1
- package/node_modules/octokit/dist-web/index.js +0 -42
- package/node_modules/octokit/dist-web/index.js.map +0 -1
- package/node_modules/pako/CHANGELOG.md +0 -164
- package/node_modules/rimraf/CHANGELOG.md +0 -65
- package/node_modules/tmp/CHANGELOG.md +0 -288
- package/node_modules/ts-dedent/HISTORY.md +0 -27
- package/node_modules/universal-github-app-jwt/dist-node/index.js.map +0 -1
- package/node_modules/universal-github-app-jwt/dist-src/get-token-browser.js +0 -19
- package/node_modules/universal-github-app-jwt/dist-src/get-token.js +0 -6
- package/node_modules/universal-github-app-jwt/dist-src/index.js +0 -23
- package/node_modules/universal-github-app-jwt/dist-src/types.js +0 -1
- package/node_modules/universal-github-app-jwt/dist-src/utils.js +0 -35
- package/node_modules/universal-github-app-jwt/dist-types/get-token-browser.d.ts +0 -2
- package/node_modules/universal-github-app-jwt/dist-types/get-token.d.ts +0 -2
- package/node_modules/universal-github-app-jwt/dist-types/index.d.ts +0 -2
- package/node_modules/universal-github-app-jwt/dist-types/types.d.ts +0 -23
- package/node_modules/universal-github-app-jwt/dist-types/utils.d.ts +0 -4
- package/node_modules/universal-github-app-jwt/dist-web/index.bundled.js.map +0 -1
- package/node_modules/universal-github-app-jwt/dist-web/index.js +0 -80
- package/node_modules/universal-github-app-jwt/dist-web/index.js.map +0 -1
- package/node_modules/universal-user-agent/dist-node/index.js.map +0 -1
- package/node_modules/universal-user-agent/dist-src/index.js +0 -9
- package/node_modules/universal-user-agent/dist-types/index.d.ts +0 -1
- package/node_modules/universal-user-agent/dist-web/index.js +0 -12
- package/node_modules/universal-user-agent/dist-web/index.js.map +0 -1
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/LICENSE +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/README.md +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/browser-bundle.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKBrand.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKBrandWriter.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKDesignSystem.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKDesignSystemVersion.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKDocumentation.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/SDKWorkspace.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/data/SDKConfiguration.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/errors/SDKSupernovaError.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKAssetGroupResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKComponentResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKDesignComponentGroupResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKDocumentationItemResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKTokenGroupResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/core/resolvers/SDKTokenResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/exports.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/index.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/assets/SDKAsset.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/assets/SDKRenderedAsset.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/components/SDKComponent.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/components/SDKDesignComponent.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationConfiguration.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationGroup.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationItem.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPage.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPageAsset.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationPageBlock.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichText.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichTextSpan.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/SDKDocumentationRichTextSpanAttribute.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockAsset.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockAssets.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCallout.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCode.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockColumn.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockColumnItem.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockCustom.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockDivider.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedFigma.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedGeneric.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedLink.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedStorybook.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockEmbedYoutube.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockFrame.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockFrames.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockHeading.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockImage.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockOrderedList.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockQuote.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockRenderCode.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockShortcut.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockShortcuts.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTab.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTabItem.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTable.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableCell.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableColumn.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTableRow.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockText.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTokenGroup.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockTokenList.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/blocks/SDKDocumentationPageBlockUnorderedList.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/builder/SDKDocumentationBlockBuilder.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/configuration/SDKDocumentationItemConfiguration.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/documentation/configuration/SDKDocumentationItemHeader.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/elements/SDKElementDataView.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/elements/SDKElementDataViewColumn.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/elements/SDKElementPropertyOption.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/elements/values/SDKElementPropertyValue.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKAlignment.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKAssetFormat.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKAssetScale.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKAssetScaleType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKBlurType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKBorderPosition.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationCalloutType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationEnvironment.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationGroupBehavior.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationHeadingType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationItemType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageAssetType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageBlockThemeType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKDocumentationPageBlockType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKFrameAlignment.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKFrameLayout.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKGradientType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKRichTextSpanAttributeType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKShadowType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKSourceType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKTextCase.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKTextDecoration.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKTokenType.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/enums/SDKUnit.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/exporters/SDKExporter.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlock.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlockProperty.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/exporters/custom_blocks/SDKExporterCustomBlockVariant.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/exporters/custom_properties/SDKExporterConfigurationProperty.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/groups/SDKAssetGroup.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/groups/SDKDesignComponentGroup.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/groups/SDKTokenGroup.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKDesignComponentOrigin.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKFrameOrigin.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKSize.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKSource.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKTokenOrigin.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/support/SDKWorkspaceNPMRegistry.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/themes/SDKThemeUtilities.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKBlurToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKBorderToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKColorToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKFontToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKGenericToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKGradientToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKMeasureToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKRadiusToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKShadowToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKTextToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKTokenCompator.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKTokenValue.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/SDKTypographyToken.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenData.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenModel.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/tokens/remote/SDKRemoteTokenValue.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/model/users/SDKUser.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Brand.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Components.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/DesignSystem.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/DesignSystemVersion.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Documentation.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Supernova.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Theme.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Accessors/Workspace.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio/supernova-sdk/build/Typescript/src/tests/Tooling/PluginFigmaTokens.spec.d.ts → @supernovaio/supernova-sdk/build/Typescript/src/tests/Enterprise/Enterprise.spec.d.ts} +0 -0
- /package/node_modules/{@supernova-studio/pulsar-language/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Tooling/PluginFigmaTokens.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Tooling/PluginJSONBuilder.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Tooling/ToolDocSearch.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/Tooling/ToolMarkdownTransform.spec.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tests/helpers.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/SDKToolsDesignTokensPlugin.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONConverter.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONGroupBuilder.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONLoader.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTJSONParser.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTMapLoader.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTMapResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTThemeMerger.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenGroupTreeMerger.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenMerger.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenReferenceResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/SDKDTTokenSetResolver.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/collection/SDKDTTokenCollection.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/expression/SDKDTExpressionParser.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTGroupTree.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTGroupTreeNode.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/design-tokens/utilities/tree/SDKDTParentChildMapping.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/json-builder/SDKToolsJSONBuilder.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementFigmaTokensTransformer.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementStyleDictionaryTransformer.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/json-builder/elements-transformers/SDKToolsJSONElementTransformer.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/markdown-transform/SDKToolsMarkdownTransform.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/search-index/SDKToolsDocSearch.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/tools/token-transform/SDKToolsTokenTransform.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/utils/FlowUtils.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/build/Typescript/src/utils/StringUtils.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/LICENSE +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/README.md +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/Mutex.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/MutexInterface.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/Semaphore.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/SemaphoreInterface.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/errors.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/index.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/tryAcquire.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/es6/withTimeout.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/index.mjs +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/Mutex.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/Mutex.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/MutexInterface.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/MutexInterface.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/Semaphore.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/Semaphore.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/SemaphoreInterface.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/SemaphoreInterface.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/errors.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/errors.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/index.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/index.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/tryAcquire.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/tryAcquire.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/withTimeout.d.ts +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/lib/withTimeout.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/async-mutex/package.json +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/LICENSE.md +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/README.md +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/browser.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/lib/index.es.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/lib/index.js +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/lib/index.mjs +0 -0
- /package/node_modules/{@supernova-studio/pulsar-core/node_modules/@supernovaio → @supernovaio}/supernova-sdk/node_modules/node-fetch/package.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supernova-sdk-typescript.js","mappings":"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","sources":[".././src/core/SDKBrand.ts",".././src/core/SDKBrandWriter.ts",".././src/core/SDKDesignSystem.ts",".././src/core/SDKDesignSystemVersion.ts",".././src/core/SDKDesignSystemVersionWriter.ts",".././src/core/SDKDocumentation.ts",".././src/core/SDKSupernova.ts",".././src/core/SDKWorkspace.ts",".././src/core/data/SDKConfiguration.ts",".././src/core/data/SDKDataBridge.ts",".././src/core/data/SDKDataCore.ts",".././src/core/errors/SDKSupernovaError.ts",".././src/core/resolvers/SDKAssetGroupResolver.ts",".././src/core/resolvers/SDKComponentResolver.ts",".././src/core/resolvers/SDKDesignComponentGroupResolver.ts",".././src/core/resolvers/SDKDocumentationItemResolver.ts",".././src/core/resolvers/SDKTokenGroupResolver.ts",".././src/core/resolvers/SDKTokenResolver.ts",".././src/exports.ts",".././src/index.ts",".././src/model/assets/SDKAsset.ts",".././src/model/assets/SDKRenderedAsset.ts",".././src/model/components/SDKComponent.ts",".././src/model/components/SDKDesignComponent.ts",".././src/model/documentation/SDKDocumentationConfiguration.ts",".././src/model/documentation/SDKDocumentationGroup.ts",".././src/model/documentation/SDKDocumentationItem.ts",".././src/model/documentation/SDKDocumentationPage.ts",".././src/model/documentation/SDKDocumentationPageAsset.ts",".././src/model/documentation/SDKDocumentationPageBlock.ts",".././src/model/documentation/SDKDocumentationRichText.ts",".././src/model/documentation/SDKDocumentationRichTextSpan.ts",".././src/model/documentation/SDKDocumentationRichTextSpanAttribute.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockAsset.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockAssets.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockCallout.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockCode.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockColumn.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockColumnItem.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockCustom.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockDivider.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockEmbedFigma.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockEmbedGeneric.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockEmbedLink.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockEmbedStorybook.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockEmbedYoutube.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockFrame.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockFrames.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockHeading.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockImage.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockOrderedList.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockQuote.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockRenderCode.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockShortcut.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockShortcuts.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTab.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTabItem.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTable.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTableCell.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTableColumn.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTableRow.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockText.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockToken.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTokenGroup.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockTokenList.ts",".././src/model/documentation/blocks/SDKDocumentationPageBlockUnorderedList.ts",".././src/model/documentation/builder/SDKDocumentationBlockBuilder.ts",".././src/model/documentation/configuration/SDKDocumentationItemConfiguration.ts",".././src/model/documentation/configuration/SDKDocumentationItemHeader.ts",".././src/model/elements/SDKElementDataView.ts",".././src/model/elements/SDKElementDataViewColumn.ts",".././src/model/elements/SDKElementProperty.ts",".././src/model/elements/SDKElementPropertyOption.ts",".././src/model/elements/values/SDKElementPropertyValue.ts",".././src/model/enums/SDKAlignment.ts",".././src/model/enums/SDKAssetFormat.ts",".././src/model/enums/SDKAssetScale.ts",".././src/model/enums/SDKAssetScaleType.ts",".././src/model/enums/SDKBlurType.ts",".././src/model/enums/SDKBorderPosition.ts",".././src/model/enums/SDKDocumentationCalloutType.ts",".././src/model/enums/SDKDocumentationGroupBehavior.ts",".././src/model/enums/SDKDocumentationHeadingType.ts",".././src/model/enums/SDKDocumentationItemType.ts",".././src/model/enums/SDKDocumentationPageAssetType.ts",".././src/model/enums/SDKDocumentationPageBlockThemeType.ts",".././src/model/enums/SDKDocumentationPageBlockType.ts",".././src/model/enums/SDKFrameAlignment.ts",".././src/model/enums/SDKFrameLayout.ts",".././src/model/enums/SDKGradientType.ts",".././src/model/enums/SDKRichTextSpanAttributeType.ts",".././src/model/enums/SDKShadowType.ts",".././src/model/enums/SDKSourceType.ts",".././src/model/enums/SDKTextCase.ts",".././src/model/enums/SDKTextDecoration.ts",".././src/model/enums/SDKTokenType.ts",".././src/model/enums/SDKUnit.ts",".././src/model/exporters/SDKExporter.ts",".././src/model/exporters/custom_blocks/SDKExporterCustomBlock.ts",".././src/model/exporters/custom_blocks/SDKExporterCustomBlockProperty.ts",".././src/model/exporters/custom_blocks/SDKExporterCustomBlockVariant.ts",".././src/model/exporters/custom_properties/SDKExporterConfigurationProperty.ts",".././src/model/groups/SDKAssetGroup.ts",".././src/model/groups/SDKDesignComponentGroup.ts",".././src/model/groups/SDKTokenGroup.ts",".././src/model/support/SDKDesignComponentOrigin.ts",".././src/model/support/SDKFrameOrigin.ts",".././src/model/support/SDKSize.ts",".././src/model/support/SDKSource.ts",".././src/model/support/SDKTokenOrigin.ts",".././src/model/support/SDKWorkspaceNPMRegistry.ts",".././src/model/themes/SDKThemeUtilities.ts",".././src/model/themes/SDKTokenTheme.ts",".././src/model/themes/SDKTokenThemeOverride.ts",".././src/model/tokens/SDKBlurToken.ts",".././src/model/tokens/SDKBorderToken.ts",".././src/model/tokens/SDKColorToken.ts",".././src/model/tokens/SDKFontToken.ts",".././src/model/tokens/SDKGenericToken.ts",".././src/model/tokens/SDKGradientToken.ts",".././src/model/tokens/SDKMeasureToken.ts",".././src/model/tokens/SDKRadiusToken.ts",".././src/model/tokens/SDKShadowToken.ts",".././src/model/tokens/SDKTextToken.ts",".././src/model/tokens/SDKToken.ts",".././src/model/tokens/SDKTokenCompator.ts",".././src/model/tokens/SDKTypographyToken.ts",".././src/model/users/SDKUser.ts",".././src/tools/design-tokens/SDKToolsDesignTokensPlugin.ts",".././src/tools/design-tokens/utilities/SDKDTJSONConverter.ts",".././src/tools/design-tokens/utilities/SDKDTJSONGroupBuilder.ts",".././src/tools/design-tokens/utilities/SDKDTJSONLoader.ts",".././src/tools/design-tokens/utilities/SDKDTJSONParser.ts",".././src/tools/design-tokens/utilities/SDKDTMapLoader.ts",".././src/tools/design-tokens/utilities/SDKDTMapResolver.ts",".././src/tools/design-tokens/utilities/SDKDTThemeMerger.ts",".././src/tools/design-tokens/utilities/SDKDTTokenGroupTreeMerger.ts",".././src/tools/design-tokens/utilities/SDKDTTokenMerger.ts",".././src/tools/design-tokens/utilities/SDKDTTokenReferenceResolver.ts",".././src/tools/design-tokens/utilities/expression/SDKDTExpressionParser.ts",".././src/tools/design-tokens/utilities/tree/SDKDTGroupTree.ts",".././src/tools/design-tokens/utilities/tree/SDKDTGroupTreeNode.ts",".././src/tools/design-tokens/utilities/tree/SDKDTParentChildMapping.ts",".././src/tools/json-builder/SDKToolsJSONBuilder.ts",".././src/tools/json-builder/elements-transformers/SDKToolsJSONElementFigmaTokensTransformer.ts",".././src/tools/json-builder/elements-transformers/SDKToolsJSONElementStyleDictionaryTransformer.ts",".././src/tools/json-builder/elements-transformers/SDKToolsJSONElementTransformer.ts",".././src/tools/markdown-transform/SDKToolsMarkdownTransform.ts",".././src/tools/markdown-transform/SDKToolsMarkdownTransformBlock.ts",".././src/tools/markdown-transform/SDKToolsMarkdownTransformCustomBlock.ts",".././src/tools/markdown-transform/SDKToolsMarkdownTransformUtil.ts",".././src/tools/search-index/SDKToolsDocSearch.ts",".././src/tools/token-transform/SDKToolsTokenTransform.ts",".././src/utils/StringUtils.ts","../external commonjs \"abab\"","../external commonjs \"color-string\"","../external commonjs \"color2k\"","../external commonjs \"expr-eval\"","../external commonjs \"fuse.js\"","../external commonjs \"https-proxy-agent\"","../external commonjs \"lodash\"","../external commonjs \"ml-matrix\"","../external commonjs \"node-fetch\"","../external commonjs \"postcss-calc-ast-parser\"","../external commonjs \"string.prototype.matchall\"","../external commonjs \"tinycolor2\"","../external commonjs \"uuid\"","../webpack/bootstrap","../webpack/startup"],"sourcesContent":["\"use strict\";\n//\n// Brand.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Brand = void 0;\nconst SDKBrandWriter_1 = require(\"./SDKBrandWriter\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass Brand {\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(engine, model, version) {\n this.engine = engine;\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.designSystemVersion = version;\n this.name = model.meta.name;\n this.description = model.meta.description;\n // We are reusing data core from version so the data for all brands are cached across the system\n // Note that this might potentially be further optimized just by requesting specific data for specific... But later, as brands will still be nuanced use :)\n this.dataCore = version.dataCore;\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writer\n /** Retrieve write object for this brand */\n writer() {\n return new SDKBrandWriter_1.BrandWriter(this.engine, this);\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Fetches all tokens available in this design system version belonging to this specific brand */\n tokens(forceRefreshCache) {\n return __awaiter(this, void 0, void 0, function* () {\n let tokens = yield this.dataCore.currentDesignSystemTokens(this.designSystemVersion.designSystem.id, this.designSystemVersion, forceRefreshCache);\n let brandedTokens = tokens.filter(t => t.brandId === this.persistentId);\n return brandedTokens;\n });\n }\n /** Fetches all tokens and retrieves resolved array of tokens with applied themes */\n tokensByApplyingThemes(themeIds) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch both tokens and themes\n let tokens = yield this.tokens();\n let themes = yield this.themes();\n // Create (crude) hashed search index to make this more performant\n var index = {};\n for (let id of themeIds) {\n let theme = themes.find(t => t.id === id);\n if (!theme) {\n throw new Error(`Can't apply themes to current tokens: Theme id ${id} doesn't exist in the current design system version`);\n }\n let overrides = new Map();\n for (let override of theme.overriddenTokens) {\n overrides.set(override.id, override);\n }\n index[id] = overrides;\n }\n // Select each correct token by first searching the overrides in reverse order, or fallback to default token if not found in any\n let reverseIds = themeIds.reverse();\n let resolvedTokens = [];\n for (let token of tokens) {\n let override = null;\n for (let id of reverseIds) {\n override = (_a = index[id].get(token.id)) !== null && _a !== void 0 ? _a : null;\n if (override) {\n // If there is override, prioritize that\n resolvedTokens.push(override);\n break;\n }\n }\n if (!override) {\n // When no override was found in this pass, retrieve the token\n resolvedTokens.push(token);\n }\n }\n return resolvedTokens;\n });\n }\n /** Fetches all brands available in this design system version belonging to this specific brand */\n themes() {\n return __awaiter(this, void 0, void 0, function* () {\n let themes = yield this.dataCore.currentDesignSystemThemes(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedThemes = themes.filter(t => t.brandId === this.persistentId);\n return brandedThemes;\n });\n }\n /** Fetches all token groups available in this design system version belonging to this specific brand */\n tokenGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemTokenGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedGroups = groups.filter(g => g.brandId === this.persistentId);\n return brandedGroups;\n });\n }\n /** Fetches root of the token group trees. This method returns roots specific to this brand, one group per category */\n tokenGroupTrees() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemTokenGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let rootGroups = groups.filter(g => g.isRoot && g.brandId === this.persistentId);\n let trees = new Map();\n for (let group of rootGroups) {\n trees.set(group.tokenType, group);\n }\n return trees;\n });\n }\n /** Fetches all designComponents available in this design system version belonging to this specific brand */\n components() {\n return __awaiter(this, void 0, void 0, function* () {\n let components = yield this.dataCore.currentDesignSystemComponents(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedComponents = components.filter(c => c.brandId === this.persistentId);\n return brandedComponents;\n });\n }\n /** Fetches all designComponents (Figma for now) available in this design system version belonging to this specific brand */\n designComponents() {\n return __awaiter(this, void 0, void 0, function* () {\n let designComponents = yield this.dataCore.currentDesignSystemDesignComponents(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedDesignComponents = designComponents.filter(c => c.brandId === this.persistentId);\n return brandedDesignComponents;\n });\n }\n /** Fetches all designComponent groups as flattened array available in this design system version belonging to this specific brand */\n designComponentGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemDesignComponentGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedGroups = groups.filter(g => g.brandId === this.persistentId);\n return brandedGroups;\n });\n }\n /** Fetches root of the designComponent group tree. This group will contain any other top-level groups that user created and will belong to this specific brand */\n designComponentGroupTree() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemDesignComponentGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let rootGroups = groups.filter(g => g.isRoot && g.brandId === this.persistentId);\n return rootGroups[0];\n });\n }\n /** Fetches all assets available in this design system version belonging to this specific brand */\n assets() {\n return __awaiter(this, void 0, void 0, function* () {\n let assets = yield this.dataCore.currentDesignSystemAssets(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedAssets = assets.filter(a => a.brandId === this.persistentId);\n return brandedAssets;\n });\n }\n /** Fetches all asset groups as flattened array available in this design system version belonging to this specific brand */\n assetGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemAssetGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let brandedGroups = groups.filter(g => g.brandId === this.persistentId);\n return brandedGroups;\n });\n }\n /** Fetches root of the asset group tree. This group will contain any other top-level groups that user created and will be specific to this brand */\n assetGroupTree() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemAssetGroups(this.designSystemVersion.designSystem.id, this.designSystemVersion);\n let rootGroups = groups.filter(g => g.isRoot && g.brandId === this.persistentId);\n return rootGroups[0];\n });\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Assets\n /** Renders all assets in this brand and retrieves URLs from which assets can be downloaded as key-value. You can only render one combination of size/format with one request - use more requests if you need to render more.\n *\n * Assets that are rendered as \"png\" will use \"scale\" attribute, however, when the format is \"svg\" or \"pdf\", scale attribute is ignored and will always render the original size.\n *\n * Note that assets are not persistent and URLs will expire quickly - you must download them and store them locally / remotely and can never use this URL publicly as it won't work after a short time */\n renderedAssets(format, scale) {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.assetGroups();\n let assets = yield this.assets();\n // Construct rendering request. Only one size can be rendered at once\n return yield this.dataCore.renderAssetsForConfiguration(this.designSystemVersion.designSystem.id, this.designSystemVersion, assets, groups, format, scale);\n });\n }\n /** Renders specific assets in this brand and retrieves URLs from which assets can be downloaded as key-value. You can only render one combination of size/format with one request - use more requests if you need to render more.\n *\n * Assets that are rendered as \"png\" will use \"scale\" attribute, however, when the format is \"svg\" or \"pdf\", scale attribute is ignored and will always render the original size.\n *\n * Note that assets are not persistent and URLs will expire quickly - you must download them and store them locally / remotely and can never use this URL publicly as it won't work after a short time */\n specificRenderedAssets(assets, format, scale) {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.assetGroups();\n // Construct rendering request. Only one size can be rendered at once\n return yield this.dataCore.renderAssetsForConfiguration(this.designSystemVersion.designSystem.id, this.designSystemVersion, assets, groups, format, scale);\n });\n }\n}\nexports.Brand = Brand;\n","\"use strict\";\n//\n// BrandWriter.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrandWriter = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass BrandWriter {\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(engine, brand) {\n this.engine = engine;\n this.dataCore = brand.dataCore;\n this.brand = brand;\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Fetches all tokens available in this design system version belonging to this specific brand */\n writeTokens(tokens, groups, deleteTokens) {\n return __awaiter(this, void 0, void 0, function* () {\n // Convert tokens and groups to their remote counterparts\n let remoteTokens = tokens.map(t => t.toWriteObject());\n let remoteGroups = groups.map(g => g.toWriteObject());\n yield this.dataCore.writeTokenData(this.brand.designSystemVersion.designSystem.id, this.brand.designSystemVersion, remoteTokens, remoteGroups, deleteTokens);\n return {\n result: 'success',\n errors: [],\n tokens: tokens,\n tokenGroups: groups\n };\n });\n }\n writeTheme(theme) {\n return __awaiter(this, void 0, void 0, function* () {\n // Convert tokens and groups to their remote counterparts\n let remoteTheme = theme.toWriteObject();\n yield this.dataCore.writeTokenThemeData(this.brand.designSystemVersion.designSystem.id, this.brand.designSystemVersion, remoteTheme);\n return {\n result: 'success',\n errors: [],\n theme: theme\n };\n });\n }\n}\nexports.BrandWriter = BrandWriter;\n","\"use strict\";\n//\n// DesignSystem.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignSystem = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DesignSystem {\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(engine, model) {\n var _a, _b;\n this.engine = engine;\n this.id = model.id;\n this.workspaceId = model.workspaceId;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.isMultiBrand = model.isMultibrand;\n this.isPublic = model.isPublic;\n this.documentationExporterId = model.docExporterId;\n this.documentationSlug = model.docSlug;\n this.documentationUserSlug = (_a = model.docUserSlug) !== null && _a !== void 0 ? _a : null;\n this.designSystemSwitcher = (_b = model.designSystemSwitcher) !== null && _b !== void 0 ? _b : {\n isEnabled: false,\n designSystemIds: []\n };\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Fetches all versions that were created in the design system. Note that there is always at least one version - the \"draft\" - if there was no version created manually. */\n versions() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.engine.designSystemVersions(this.id);\n });\n }\n /** Fetches active design system version - the one to which all changes are being written currently. There is always one active version at any moment. */\n activeVersion() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.engine.activeDesignSystemVersion(this.id);\n });\n }\n /** Get source by source id */\n sourceById(sourceId) {\n return __awaiter(this, void 0, void 0, function* () {\n let sources = yield this.sources();\n let source = sources.filter(s => s.id === sourceId)[0];\n return source;\n });\n }\n /** Fetches all sources that were created in the design system. Used to feed the design system with the data (design & code). */\n sources() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.engine.designSystemSources(this.id);\n });\n }\n /** Get Figma file from source id */\n figmaFileIdForSourceId(sourceId) {\n return __awaiter(this, void 0, void 0, function* () {\n let sources = yield this.sources();\n let source = sources.filter(s => s.id === sourceId)[0];\n if (source) {\n return source.fileId;\n }\n });\n }\n /** Get Figma file name from source id */\n figmaFileNameForSourceId(sourceId) {\n return __awaiter(this, void 0, void 0, function* () {\n let sources = yield this.sources();\n let source = sources.filter(s => s.id === sourceId)[0];\n if (source) {\n return source.fileName;\n }\n });\n }\n /** Set data to key-value storage */\n setKeyValueStorageData(key, value) {\n return __awaiter(this, void 0, void 0, function* () {\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value, null, 0);\n const dataCore = this.engine.newDataCore();\n yield dataCore.setKeyValueStorageData(this.id, { [key]: stringValue });\n });\n }\n /** Unset data from key-value storage */\n unsetKeyValueStorageData(key) {\n return __awaiter(this, void 0, void 0, function* () {\n const dataCore = this.engine.newDataCore();\n yield dataCore.setKeyValueStorageData(this.id, { [key]: null });\n });\n }\n /** Read data from key-value storage */\n readKeyValueStorageData(key) {\n return __awaiter(this, void 0, void 0, function* () {\n const dataCore = this.engine.newDataCore();\n const data = yield dataCore.getKeyValueStorageData(this.id, [key]);\n if (data && data[key]) {\n try {\n return JSON.parse(data[key]);\n }\n catch (error) {\n return data[key];\n }\n }\n return undefined;\n });\n }\n}\nexports.DesignSystem = DesignSystem;\n","\"use strict\";\n//\n// DesignSystemVersion.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignSystemVersion = void 0;\nconst SDKElementProperty_1 = require(\"../model/elements/SDKElementProperty\");\nconst SDKSupernovaError_1 = require(\"./errors/SDKSupernovaError\");\nconst SDKBrand_1 = require(\"./SDKBrand\");\nconst SDKDesignSystemVersionWriter_1 = require(\"./SDKDesignSystemVersionWriter\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DesignSystemVersion {\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(engine, designSystem, model) {\n var _a;\n this.engine = engine;\n this.id = model.id;\n this.designSystem = designSystem;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.version = model.version;\n this.changeLog = ((_a = model.changeLog) === null || _a === void 0 ? void 0 : _a.length) > 0 ? model.changeLog : null;\n this.isReadOnly = model.isReadonly;\n this.dataCore = this.engine.newDataCore();\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writer\n /** Retrieve write object for this version */\n writer() {\n return new SDKDesignSystemVersionWriter_1.VersionWriter(this.engine, this);\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Fetches all brands belonging to this design system version. Brand objects can be used to access filtered data belonging to a single brand */\n brands() {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const dsEndpoint = `design-systems/${this.designSystem.id}/versions/${this.id}/brands`;\n let dsData = (yield this.engine.dataBridge.getDSMGenericDataFromEndpoint(dsEndpoint)).result.brands;\n if (!dsData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve brands for design system version id ${this.id}`);\n }\n let brands = new Array();\n for (let brandData of dsData) {\n let brand = new SDKBrand_1.Brand(this.engine, brandData, this);\n brands.push(brand);\n }\n return brands;\n });\n }\n /** Fetches all tokens in this design system version. This method retrieves all groups defined across all brands */\n tokens() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemTokens(this.designSystem.id, this);\n });\n }\n /** Fetches all themes in this design system version. This method retrieves all groups defined across all brands */\n themes() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemThemes(this.designSystem.id, this);\n });\n }\n /** Fetches all tokens and retrieves resolved array of tokens with applied themes */\n tokensByApplyingThemes(tokenIds, themeIds) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch both tokens and themes\n let allTokens = yield this.tokens();\n // Filter tokens based on provided tokens\n const tokenIdSet = new Set(tokenIds);\n let tokens = allTokens.filter(t => tokenIdSet.has(t.id));\n if (tokenIds.length !== tokens.length) {\n throw new Error(`Can't apply themes to selected tokens: Some token ids that were requesting don't exist in the current design system version`);\n }\n let themes = yield this.themes();\n // Create (crude) hashed search index to make this more performant\n var index = {};\n for (let id of themeIds) {\n let theme = themes.find(t => t.id === id);\n if (!theme) {\n throw new Error(`Can't apply themes to current tokens: Theme id ${id} doesn't exist in the current design system version`);\n }\n let overrides = new Map();\n for (let override of theme.overriddenTokens) {\n overrides.set(override.id, override);\n }\n index[id] = overrides;\n }\n // Select each correct token by first searching the overrides in reverse order, or fallback to default token if not found in any\n let reverseIds = themeIds.reverse();\n let resolvedTokens = [];\n for (let token of tokens) {\n let override = null;\n for (let id of reverseIds) {\n override = (_a = index[id].get(token.id)) !== null && _a !== void 0 ? _a : null;\n if (override) {\n // If there is override, prioritize that\n resolvedTokens.push(override);\n break;\n }\n }\n if (!override) {\n // When no override was found in this pass, retrieve the token\n resolvedTokens.push(token);\n }\n }\n return resolvedTokens;\n });\n }\n /** Fetches all token groups in this design system version. This method retrieves all groups defined across all brands */\n tokenGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemTokenGroups(this.designSystem.id, this);\n });\n }\n /** Fetches root of the token group trees. This method returns all roots, one per each brand you have defined, ordered under separate TokenType, one array per category */\n tokenGroupTrees() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemTokenGroups(this.designSystem.id, this);\n let rootGroups = groups.filter(g => g.isRoot);\n let trees = new Map();\n for (let group of rootGroups) {\n let branch = trees.get(group.tokenType);\n if (branch) {\n branch.push(group);\n trees.set(group.tokenType, branch);\n }\n else {\n trees.set(group.tokenType, [group]);\n }\n }\n return trees;\n });\n }\n /** Fetches all assets in this design system version for all defined brands */\n components() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemComponents(this.designSystem.id, this);\n });\n }\n /** Fetches all assets in this design system version for all defined brands */\n designComponents() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemDesignComponents(this.designSystem.id, this);\n });\n }\n /** Fetches all designComponent group in this design system version for all defined brands */\n designComponentGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemDesignComponentGroups(this.designSystem.id, this);\n });\n }\n /** Fetches roots of the designComponent group trees. This group will contain any other top-level groups that user created. This method returns all roots, one per each brand you have defined */\n designComponentGroupTree() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemDesignComponentGroups(this.designSystem.id, this);\n let rootGroups = groups.filter(g => g.isRoot);\n return rootGroups;\n });\n }\n /** Fetches all assets in this design system version for all defined brands */\n assets() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemAssets(this.designSystem.id, this);\n });\n }\n /** Fetches all asset groups and retrieve them as flat array. You can still access all children of groups with children accessor of group object. This method retrieves all groups across all brands */\n assetGroups() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemAssetGroups(this.designSystem.id, this);\n });\n }\n /** Fetches root of the asset group trees. This group will contain any other top-level groups that user created. This method returns all roots, one per each brand you have defined */\n assetGroupTrees() {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.dataCore.currentDesignSystemAssetGroups(this.designSystem.id, this);\n let rootGroups = groups.filter(g => g.isRoot);\n return rootGroups;\n });\n }\n /** Fetches root documentation object containing the entire documentation structure. This will never be null as there is always documentation object attached to a specific design system version */\n documentation() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.currentDesignSystemDocumentation(this.designSystem, this);\n });\n }\n /** Renders all assets in this version and retrieves URLs from which assets can be downloaded as key-value. You can only render one combination of size/format with one request - use more requests if you need to render more.\n *\n * Assets that are rendered as \"png\" will use \"scale\" attribute, however, when the format is \"svg\" or \"pdf\", scale attribute is ignored and will always render the original size.\n *\n * Note that assets are not persistent and URLs will expire quickly - you must download them and store them locally / remotely and can never use this URL publicly as it won't work after a short time */\n renderedAssets(format, scale) {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.assetGroups();\n let assets = yield this.assets();\n // Construct rendering request. Only one size can be rendered at once\n return yield this.dataCore.renderAssetsForConfiguration(this.designSystem.id, this, assets, groups, format, scale);\n });\n }\n /** Renders specific assets in this version and retrieves URLs from which assets can be downloaded as key-value. You can only render one combination of size/format with one request - use more requests if you need to render more.\n *\n * Assets that are rendered as \"png\" will use \"scale\" attribute, however, when the format is \"svg\" or \"pdf\", scale attribute is ignored and will always render the original size.\n *\n * Note that assets are not persistent and URLs will expire quickly - you must download them and store them locally / remotely and can never use this URL publicly as it won't work after a short time */\n specificRenderedAssets(assets, format, scale) {\n return __awaiter(this, void 0, void 0, function* () {\n let groups = yield this.assetGroups();\n // Construct rendering request. Only one size can be rendered at once\n return yield this.dataCore.renderAssetsForConfiguration(this.designSystem.id, this, assets, groups, format, scale);\n });\n }\n /** Retrieves property definitions for tokens */\n tokenProperties() {\n return __awaiter(this, void 0, void 0, function* () {\n let properties = yield this.dataCore.currentDesignSystemElementProperties(this.designSystem.id, this);\n return properties.filter(p => p.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.token);\n });\n }\n /** Retrieves property views for tokens */\n tokenDataViews() {\n return __awaiter(this, void 0, void 0, function* () {\n let views = yield this.dataCore.currentDesignSystemElementDataViews(this.designSystem.id, this);\n return views.filter(v => v.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.token);\n });\n }\n /** Retrieves property definitions for components */\n componentProperties() {\n return __awaiter(this, void 0, void 0, function* () {\n let properties = yield this.dataCore.currentDesignSystemElementProperties(this.designSystem.id, this);\n return properties.filter(p => p.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.component);\n });\n }\n /** Retrieves property views for components */\n componentDataViews() {\n return __awaiter(this, void 0, void 0, function* () {\n let views = yield this.dataCore.currentDesignSystemElementDataViews(this.designSystem.id, this);\n return views.filter(v => v.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.component);\n });\n }\n getTokenStudioData() {\n return __awaiter(this, void 0, void 0, function* () {\n let data = yield this.dataCore.getTokenStudioData(this.designSystem.id, this);\n return data;\n });\n }\n}\nexports.DesignSystemVersion = DesignSystemVersion;\n","\"use strict\";\n//\n// VersionWriter.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2023 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VersionWriter = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass VersionWriter {\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(engine, version) {\n this.engine = engine;\n this.dataCore = version.dataCore;\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Write data for Token Studio */\n writeTokenStudioData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.dataCore.writeTokenStudioJSONData(this.version.designSystem.id, this.version, data);\n });\n }\n}\nexports.VersionWriter = VersionWriter;\n","\"use strict\";\n//\n// SDKDocumentation.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Documentation = void 0;\nconst SDKDocumentationConfiguration_1 = require(\"../model/documentation/SDKDocumentationConfiguration\");\nconst SDKDocumentationItemType_1 = require(\"../model/enums/SDKDocumentationItemType\");\nconst __1 = require(\"..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\n/** Main documentation accessor object. All data associated with documentation can be access through here, such as pages, groups, any block, and also any configuration your editors did. */\nclass Documentation {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, designSystem, model, registry) {\n this.version = version;\n this.designSystem = designSystem;\n this.settings = new SDKDocumentationConfiguration_1.DocumentationConfiguration(model.settings, registry);\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Documentation accessors\n /** Main group to which all groups and pages belong. The root group never shows up inside the editor but is always present in data model */\n rootGroup() {\n return __awaiter(this, void 0, void 0, function* () {\n let items = yield this.version.dataCore.currentDesignSystemDocumentationItems(this.designSystem, this.version);\n for (let item of items) {\n if (item.type === SDKDocumentationItemType_1.DocumentationItemType.group && item.isRoot) {\n return item;\n }\n }\n throw new Error('No documentation root found');\n });\n }\n /** All items, including pages, groups and group of tab type fetched together */\n items() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.version.dataCore.currentDesignSystemDocumentationItems(this.designSystem, this.version);\n });\n }\n /** All groups to which other groups and pages can belong. Each group also contains entire children chain pre-fetched and resolved for convenience */\n groups() {\n return __awaiter(this, void 0, void 0, function* () {\n let items = yield this.version.dataCore.currentDesignSystemDocumentationItems(this.designSystem, this.version);\n return items.filter(i => i.type === SDKDocumentationItemType_1.DocumentationItemType.group);\n });\n }\n /** All pages created within documentation presented as flat structure. Each page contains all data neccessary to render it pre-fetched and resolved for convenience */\n pages() {\n return __awaiter(this, void 0, void 0, function* () {\n let items = yield this.version.dataCore.currentDesignSystemDocumentationItems(this.designSystem, this.version);\n return items.filter(i => i.type === SDKDocumentationItemType_1.DocumentationItemType.page);\n });\n }\n /** All custom blocks that were registered with the active exporter configuration */\n customBlocks() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.version.dataCore.currentExporterCustomBlocks(this.designSystem.id, this.version);\n });\n }\n /** All custom configuration properties that are defined within the active exporter package */\n customConfiguration() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.version.dataCore.currentExporterConfigurationProperties(this.designSystem.workspaceId, this.designSystem.id, this.designSystem.documentationExporterId, this.version);\n });\n }\n /** All custom block variants that are defined within the active exporter package */\n customBlockVariants() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.version.dataCore.currentExporterBlockVariants(this.designSystem.workspaceId, this.designSystem.id, this.designSystem.documentationExporterId, this.version);\n });\n }\n /** Retrieves property definitions for components */\n pageProperties() {\n return __awaiter(this, void 0, void 0, function* () {\n let properties = yield this.version.dataCore.currentDesignSystemElementProperties(this.designSystem.id, this.version);\n return properties.filter(p => p.targetElementType === __1.ElementPropertyTargetElementType.documentationPage);\n });\n }\n /** Retrieves property views for components */\n pageDataViews() {\n return __awaiter(this, void 0, void 0, function* () {\n let views = yield this.version.dataCore.currentDesignSystemElementDataViews(this.designSystem.id, this.version);\n return views.filter(v => v.targetElementType === __1.ElementPropertyTargetElementType.documentationPage);\n });\n }\n /** Publish documentation. This queues a build on Supernova's server that will be processed by the asynchronous CI/CD pipeline. You can request status of the build with associated `isBeingPublished` method. */\n publish(environment) {\n return __awaiter(this, void 0, void 0, function* () {\n // Check if doc is being published by downloading the latest documentation job. If so, prevent publishing\n let lastJob = yield this.isPublishing(environment);\n if (lastJob.status === 'Idle') {\n return yield this.version.dataCore.publishDocumentation(this.version, environment);\n }\n else {\n return {\n status: 'InProgress',\n jobId: lastJob.jobId,\n exporterId: lastJob.exporterId\n };\n }\n });\n }\n /** Publish documentation. This queues a build on Supernova's server that will be processed by the asynchronous CI/CD pipeline. You can request status of the build with associated `isBeingPublished` method. */\n isPublishing(environment) {\n return __awaiter(this, void 0, void 0, function* () {\n let jobs = yield this.version.dataCore.documetationJobs(this.version, environment, 1);\n if (jobs.length === 0) {\n // Nothing published just yet\n return {\n status: 'Idle',\n jobId: null,\n exporterId: null\n };\n }\n let job = jobs[0];\n if (job.status === 'InProgress') {\n return {\n status: 'InProgress',\n jobId: job.id,\n exporterId: job.exporterId\n };\n }\n else {\n return {\n status: 'Idle',\n jobId: null,\n exporterId: null\n };\n }\n });\n }\n}\nexports.Documentation = Documentation;\n","\"use strict\";\n//\n// SDKSupernova.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Supernova = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDataBridge_1 = require(\"./data/SDKDataBridge\");\nconst SDKDataCore_1 = require(\"./data/SDKDataCore\");\nconst SDKConfiguration_1 = require(\"./data/SDKConfiguration\");\nconst SDKDesignSystem_1 = require(\"./SDKDesignSystem\");\nconst SDKDesignSystemVersion_1 = require(\"./SDKDesignSystemVersion\");\nconst SDKWorkspace_1 = require(\"./SDKWorkspace\");\nconst SDKSupernovaError_1 = require(\"./errors/SDKSupernovaError\");\nconst SDKExporter_1 = require(\"../model/exporters/SDKExporter\");\nconst SDKSource_1 = require(\"../model/support/SDKSource\");\nconst SDKUser_1 = require(\"../model/users/SDKUser\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\n/** Main Supernova.io SDK object. Use this to connect to your data instance and retrieve workspace / design system / version from which you can access all neccessary data. */\nclass Supernova {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(apiKey, url = null, requestHook = null, requestObserver = null, responseObserver = null, proxyUrl = null) {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Properties\n this.useResolutionCache = true;\n this.apiKey = apiKey;\n this.apiUrl = url !== null && url !== void 0 ? url : SDKConfiguration_1.Configuration.apiUrlForDefaultEnvironment();\n this.apiVersion = SDKConfiguration_1.Configuration.apiVersionForDefaultEnvironment();\n this.proxyUrl = proxyUrl !== null && proxyUrl !== void 0 ? proxyUrl : null;\n this.requestHook = requestHook !== null && requestHook !== void 0 ? requestHook : null;\n this.debugRequestObserver = requestObserver !== null && requestObserver !== void 0 ? requestObserver : null;\n this.debugResponseObserver = responseObserver !== null && responseObserver !== void 0 ? responseObserver : null;\n this.rebuildBridge();\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n /** Fetches current user profile based on the API key provided to Supernova instance. */\n me() {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const userEndpoint = `users/me`;\n let user = (yield this.dataBridge.getDSMGenericDataFromEndpoint(userEndpoint)).result.user;\n if (!user) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(\"Unable to retrieve current sdk user\");\n }\n return new SDKUser_1.User(user);\n });\n }\n /** Fetches all workspaces available under provided API key. Each workspace contains specific design systems, which contain versions, which contain all the design system data. */\n workspaces() {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const userEndpoint = `users/me`;\n let user = (yield this.dataBridge.getDSMGenericDataFromEndpoint(userEndpoint)).result.user;\n if (!user) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(\"Unable to retrieve current sdk user\");\n }\n // Fetch the workspaces from the memberships\n const workspaceEndpoint = `users/${user.id}/workspaces`;\n let memberships = (yield this.dataBridge.getDSMGenericDataFromEndpoint(workspaceEndpoint)).result.membership;\n if (!memberships) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(\"Unable to retrieve available workspaces\");\n }\n let workspaces = new Array();\n for (let membership of memberships) {\n let workspace = new SDKWorkspace_1.Workspace(this, membership.workspace);\n workspaces.push(workspace);\n }\n return workspaces;\n });\n }\n /** Fetches one specific workspace by provided id. Throws when workspace is not found or user doesn't have access to it. */\n workspace(workspaceId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const userEndpoint = `workspaces/${workspaceId}`;\n let workspaceData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(userEndpoint)).result.workspace;\n if (!workspaceData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve workspace with id ${workspaceId}`);\n }\n return new SDKWorkspace_1.Workspace(this, workspaceData);\n });\n }\n /** Fetches design systems which belong to a provided workspace. */\n designSystems(workspaceId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const dsEndpoint = `workspaces/${workspaceId}/design-systems`;\n let dsData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(dsEndpoint)).result.designSystems;\n if (!dsData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve design systems for workspace id ${workspaceId}`);\n }\n let designSystems = new Array();\n for (let designSystem of dsData) {\n let ds = new SDKDesignSystem_1.DesignSystem(this, designSystem);\n designSystems.push(ds);\n }\n return designSystems;\n });\n }\n /** Fetches design system by provided id. Throws when design system is not found or user doesn't have access to it. */\n designSystem(designSystemId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch the authenticated user\n const dsEndpoint = `design-systems/${designSystemId}`;\n let dsData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(dsEndpoint)).result.designSystem;\n if (!dsData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve design system for id ${designSystemId}`);\n }\n return new SDKDesignSystem_1.DesignSystem(this, dsData);\n });\n }\n /** Fetches active design system version - the one to which all changes are being written currently. There is always one active version available for any provided design system. */\n activeDesignSystemVersion(designSystemId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch design system\n let ds = yield this.designSystem(designSystemId);\n // Fetch the authenticated user\n const versionEndpoint = `design-systems/${designSystemId}/versions`;\n let versionData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(versionEndpoint)).result.designSystemVersions;\n if (!versionData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve active version for design system id ${designSystemId}`);\n }\n // Retrieve version that is currently active and available for write\n for (let version of versionData) {\n if (version.isReadonly === false) {\n return new SDKDesignSystemVersion_1.DesignSystemVersion(this, ds, version);\n }\n }\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve active version for design system id ${designSystemId} - no version is currently active in selected design system`);\n });\n }\n /** Fetches all design system versions of provided design system */\n designSystemVersions(designSystemId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch design system\n let ds = yield this.designSystem(designSystemId);\n // Fetch all versions belonging to one specific design system\n const versionEndpoint = `design-systems/${designSystemId}/versions`;\n let versionData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(versionEndpoint)).result.designSystemVersions;\n if (!versionData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve active version for design system id ${designSystemId}`);\n }\n let versions = new Array();\n for (let version of versionData) {\n let v = new SDKDesignSystemVersion_1.DesignSystemVersion(this, ds, version);\n versions.push(v);\n }\n return versions;\n });\n }\n /** Fetches design system version by id */\n designSystemVersion(designSystemId, versionId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch design system\n let ds = yield this.designSystem(designSystemId);\n // Fetch all versions belonging to one specific design system\n const versionEndpoint = `design-systems/${designSystemId}/versions/${versionId}`;\n let versionData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(versionEndpoint)).result.designSystemVersion;\n if (!versionData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve design system version for id ${versionId}`);\n }\n return new SDKDesignSystemVersion_1.DesignSystemVersion(this, ds, versionData);\n });\n }\n /** Fetches design system sources */\n designSystemSources(designSystemId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch all sources belonging to one specific design system\n const sourcesEndpoint = `design-systems/${designSystemId}/sources`;\n let sourcesData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(sourcesEndpoint)).result.sources;\n if (!sourcesData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve design system sources for id ${designSystemId}`);\n }\n return sourcesData.map(s => new SDKSource_1.Source(s));\n });\n }\n /** Fetches exporters belonging to workspace by id */\n exporters(workspaceId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fetch all versions belonging to one specific design system\n const exporterEndpoint = `codegen/workspaces/${workspaceId}/exporters`;\n let exporterData = (yield this.dataBridge.getDSMGenericDataFromEndpoint(exporterEndpoint)).result.exporters;\n if (!exporterData) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Unable to retrieve exporters for workspace id ${workspaceId}`);\n }\n return exporterData.map(e => new SDKExporter_1.Exporter(e));\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Settings\n /** Enables or disables resolution cache. Because of potential amount of data processed extra when this cache is disabled, only do it when you have a good reason (like if you are building a long-running, client-side app). Cache is enabled by default. */\n setResolutionCacheEnabled(isEnabled) {\n this.useResolutionCache = isEnabled;\n this.dataBridge.cache = isEnabled;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Data core replication\n /** Use this to rebuild data core if the settings change. */\n rebuildBridge() {\n this.dataBridge = new SDKDataBridge_1.DataBridge({\n cache: this.useResolutionCache,\n apiUrl: this.apiUrl,\n apiVersion: this.apiVersion,\n accessToken: this.apiKey,\n target: null,\n requestHook: this.requestHook,\n debugRequestObserver: this.debugRequestObserver,\n debugResponseObserver: this.debugResponseObserver,\n proxyUrl: this.proxyUrl\n });\n }\n /** Use this to make version-instance specific data core. Each version must have its own data core, as it caches the data and they can't intermix. Supernova instance has its own data core. */\n newDataCore() {\n let bridge = new SDKDataBridge_1.DataBridge({\n cache: this.useResolutionCache,\n apiUrl: this.apiUrl,\n apiVersion: this.apiVersion,\n accessToken: this.apiKey,\n target: null,\n requestHook: this.requestHook,\n debugRequestObserver: this.debugRequestObserver,\n debugResponseObserver: this.debugResponseObserver,\n proxyUrl: this.proxyUrl\n });\n return new SDKDataCore_1.DataCore(bridge);\n }\n}\nexports.Supernova = Supernova;\n","\"use strict\";\n//\n// Workspace.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Workspace = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass Workspace {\n // --- --- --- --- --- --- --- --- --- --- \n // MARK: - Constructor\n constructor(engine, model) {\n this.engine = engine;\n this.id = model.id;\n this.handle = model.profile.handle;\n this.name = model.profile.name;\n this.engine = engine;\n }\n // --- --- --- --- --- --- --- --- --- --- \n // MARK: - Methods\n /** Fetches design systems which belong to this workspace. */\n designSystems() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.engine.designSystems(this.id);\n });\n }\n /** Fetches exporters which belong to this workspace. */\n exporters() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.engine.exporters(this.id);\n });\n }\n}\nexports.Workspace = Workspace;\n","\"use strict\";\n//\n// SDKConfiguration.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Configuration = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass Configuration {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static helpers and configuration\n /** Retrieve API URL for default target */\n static apiUrlForDefaultEnvironment() {\n return 'https://api.supernova.io/api';\n }\n /** Retrieve API version for the specific environment accesse */\n static apiVersionForDefaultEnvironment() {\n return \"0.2\";\n }\n}\nexports.Configuration = Configuration;\n","\"use strict\";\n//\n// SDKDataBridge.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataBridge = void 0;\nconst https_proxy_agent_1 = require(\"https-proxy-agent\");\nconst node_fetch_1 = __importDefault(require(\"node-fetch\"));\nconst fetch = node_fetch_1.default;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DataBridge {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(conf) {\n var _a, _b;\n this.cache = conf.cache;\n this.authToken = conf.accessToken;\n this.apiUrl = conf.apiUrl;\n this.apiVersion = conf.apiVersion;\n this.target = conf.target;\n this.proxyAgent = conf.proxyUrl ? new https_proxy_agent_1.HttpsProxyAgent(conf.proxyUrl) : null;\n this.requestHook = conf.requestHook;\n this.debugRequestObserver = (_a = conf.debugRequestObserver) !== null && _a !== void 0 ? _a : null;\n this.debugResponseObserver = (_b = conf.debugResponseObserver) !== null && _b !== void 0 ? _b : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Authenticated data fetching\n getDSMGenericDataFromEndpoint(endpoint) {\n return __awaiter(this, void 0, void 0, function* () {\n let url = `${this.dsGenericRequestURL()}/${endpoint}`;\n return this.getDataForAuthenticatedEndpoint(url);\n });\n }\n getDSMDataFromEndpoint(designSystemId, designSystemVersionId, endpoint) {\n return __awaiter(this, void 0, void 0, function* () {\n let url = `${this.dsDataRequestURL(designSystemId, designSystemVersionId)}/${endpoint}`;\n return this.getDataForAuthenticatedEndpoint(url);\n });\n }\n buildRequestConfig(url, method, data) {\n return __awaiter(this, void 0, void 0, function* () {\n const config = {\n url,\n method,\n timeout: 120000,\n headers: {\n \"Content-Type\": 'application/json'\n },\n body: undefined\n };\n if (data) {\n config.body = data;\n }\n let skipAuth = false;\n if (this.requestHook) {\n const hookResult = yield this.requestHook(config);\n if (hookResult && hookResult.skipDefaultAuth) {\n skipAuth = true;\n }\n }\n if (!skipAuth) {\n const token = this.authToken;\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n return config;\n });\n }\n getDataForAuthenticatedEndpoint(requestURL) {\n return __awaiter(this, void 0, void 0, function* () {\n const method = 'GET';\n const config = yield this.buildRequestConfig(requestURL, method);\n if (this.debugRequestObserver) {\n this.debugRequestObserver({\n requestUrl: requestURL,\n requestMethod: method\n });\n }\n // Make authorized ds request\n return new Promise((resolve, reject) => {\n // Fetch the data\n try {\n fetch(requestURL, {\n method: 'GET',\n headers: config.headers,\n agent: this.proxyAgent\n }).then((response) => __awaiter(this, void 0, void 0, function* () {\n if (!response.ok) {\n let errorResponse = yield response.json();\n if (errorResponse) {\n throw new Error(JSON.stringify(errorResponse));\n }\n else {\n throw new Error(response);\n }\n }\n return response.json();\n })).then((jsonResponse) => {\n resolve(jsonResponse);\n }).catch(error => {\n reject(error);\n });\n }\n catch (error) {\n reject(error);\n }\n });\n });\n }\n postDSMDataToEndpoint(designSystemId, designSystemVersionId, endpoint, data, put = false) {\n return __awaiter(this, void 0, void 0, function* () {\n let url = `${this.dsDataRequestURL(designSystemId, designSystemVersionId)}/${endpoint}`;\n return this.postDataForAuthenticatedEndpoint(url, data, put);\n });\n }\n postDSMDataToGenericEndpoint(endpoint, data, put = false) {\n return __awaiter(this, void 0, void 0, function* () {\n let url = `${this.dsGenericRequestURL()}/${endpoint}`;\n return this.postDataForAuthenticatedEndpoint(url, data, put);\n });\n }\n postDataForAuthenticatedEndpoint(requestURL, data, put = false) {\n return __awaiter(this, void 0, void 0, function* () {\n const method = put ? 'PUT' : 'POST';\n const config = yield this.buildRequestConfig(requestURL, method, data);\n if (this.debugRequestObserver) {\n this.debugRequestObserver({\n requestUrl: requestURL,\n requestMethod: method\n });\n }\n // Make authorized ds request\n return new Promise((resolve, reject) => {\n try {\n fetch(requestURL, {\n mode: 'cors',\n method: method,\n headers: config.headers,\n agent: this.proxyAgent,\n body: JSON.stringify(config.body)\n }).then((response) => __awaiter(this, void 0, void 0, function* () {\n if (!response.ok) {\n let errorResponse = yield response.json();\n if (errorResponse) {\n throw new Error(JSON.stringify(errorResponse));\n }\n else {\n throw new Error(response);\n }\n }\n return response.json();\n })).then((jsonResponse) => {\n resolve(jsonResponse);\n }).catch(error => {\n reject(error);\n });\n }\n catch (error) {\n reject(error);\n }\n });\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - URL construction\n dsGenericRequestURL() {\n return `${this.apiUrl}`;\n }\n dsWorkspaceRequestURL(wsId) {\n return `${this.apiUrl}/workspaces/${wsId}`;\n }\n dsDataRequestURL(dsId, dsVersionId) {\n return `${this.apiUrl}/design-systems/${dsId}/versions/${dsVersionId}`;\n }\n dsMetadataRequestURL(dsId) {\n return `${this.apiUrl}/design-systems/${dsId}`;\n }\n dsVersionRequestURL(dsId) {\n return `${this.apiUrl}/design-systems/${dsId}/versions`;\n }\n}\nexports.DataBridge = DataBridge;\n","\"use strict\";\n//\n// SDKDataCore.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2020 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataCore = void 0;\nconst SDKAsset_1 = require(\"../../model/assets/SDKAsset\");\nconst SDKRenderedAsset_1 = require(\"../../model/assets/SDKRenderedAsset\");\nconst SDKDesignComponent_1 = require(\"../../model/components/SDKDesignComponent\");\nconst SDKExporterCustomBlock_1 = require(\"../../model/exporters/custom_blocks/SDKExporterCustomBlock\");\nconst SDKAssetGroupResolver_1 = require(\"../resolvers/SDKAssetGroupResolver\");\nconst SDKDesignComponentGroupResolver_1 = require(\"../resolvers/SDKDesignComponentGroupResolver\");\nconst SDKDocumentationItemResolver_1 = require(\"../resolvers/SDKDocumentationItemResolver\");\nconst SDKTokenGroupResolver_1 = require(\"../resolvers/SDKTokenGroupResolver\");\nconst SDKTokenResolver_1 = require(\"../resolvers/SDKTokenResolver\");\nconst SDKDocumentation_1 = require(\"../SDKDocumentation\");\nconst SDKExporter_1 = require(\"../../model/exporters/SDKExporter\");\nconst SDKComponentResolver_1 = require(\"../resolvers/SDKComponentResolver\");\nconst SDKWorkspaceNPMRegistry_1 = require(\"../../model/support/SDKWorkspaceNPMRegistry\");\nconst SDKElementDataView_1 = require(\"../../model/elements/SDKElementDataView\");\nconst __1 = require(\"../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DataCore {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(bridge) {\n this.bridge = bridge;\n this.tokensSynced = false;\n this.tokens = new Array();\n this.tokenGroupsSynced = false;\n this.tokenGroups = new Array();\n this.themesSynced = false;\n this.themes = new Array();\n this.componentsSynced = false;\n this.components = new Array();\n this.documentationItemsSynced = false;\n this.documentationItems = new Array();\n this.exporterCustomBlocksSynced = false;\n this.exporterCustomBlocks = new Array();\n this.designComponentAssetSynced = false;\n this.designComponents = new Array();\n this.assets = new Array();\n this.designComponentAssetGroupsSynced = false;\n this.designComponentGroups = new Array();\n this.assetGroups = new Array();\n this.elementDataViewsSynced = false;\n this.elementPropertiesSynced = false;\n this.elementProperties = new Array();\n this.elementDataViews = new Array();\n this.documentationSynced = false;\n this.documentation = null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Private Accessors - Auxiliary helper functions\n /** Get workspace handle from server */\n currentWorkspaceHandle(workspaceId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download workspace details\n // Get remote data\n const endpoint = `workspaces/${workspaceId}`;\n let remoteWorkspace = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result\n .workspace;\n // Extend with information coming from pulsar\n return remoteWorkspace.profile.handle;\n });\n }\n /** Get deisgn system documentation url from server */\n currentDeployedDocumentationUrl(designSystemId, versionId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download detail of the last build that successfully deployed docs\n const endpoint = `design-systems/${designSystemId}/versions/${versionId}/documentation/url`;\n let deployedUrl = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result.url;\n return deployedUrl !== null && deployedUrl !== void 0 ? deployedUrl : undefined;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Themes\n currentDesignSystemThemes(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.themesSynced) {\n yield this.updateThemesData(designSystemId, designSystemVersion);\n }\n return this.themes;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - KVS\n getKeyValueStorageData(designSystemId, keys) {\n return __awaiter(this, void 0, void 0, function* () {\n const keyQuery = keys.map(key => encodeURIComponent(key)).join(',');\n const endpoint = `design-systems/${designSystemId}/metadata?keys=${keyQuery}`;\n const kvsData = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint));\n return kvsData.result.metadata;\n });\n }\n setKeyValueStorageData(designSystemId, kvData) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = `design-systems/${designSystemId}/metadata`;\n const kvsData = yield this.bridge.postDSMDataToGenericEndpoint(endpoint, { metadata: kvData }, true);\n return kvsData;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Tokens\n currentDesignSystemTokens(designSystemId, designSystemVersion, forceRefreshCache) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.tokensSynced || forceRefreshCache) {\n yield this.updateTokenData(designSystemId, designSystemVersion);\n }\n return this.tokens;\n });\n }\n currentDesignSystemTokenGroups(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.tokenGroupsSynced) {\n yield this.updateTokenGroupData(designSystemId, designSystemVersion);\n }\n return this.tokenGroups;\n });\n }\n currentDesignSystemElementProperties(designSystemId, designSystemVersion, forceRefreshCache) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.elementPropertiesSynced || forceRefreshCache) {\n yield this.updateElementData(designSystemId, designSystemVersion);\n }\n return this.elementProperties;\n });\n }\n currentDesignSystemElementDataViews(designSystemId, designSystemVersion, forceRefreshCache) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.elementDataViewsSynced || forceRefreshCache) {\n yield this.updateElementData(designSystemId, designSystemVersion);\n }\n return this.elementDataViews;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Assets\n currentDesignSystemAssets(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.designComponentAssetSynced) {\n yield this.updateDesignComponentAndAssetData(designSystemId, designSystemVersion);\n }\n return this.assets;\n });\n }\n currentDesignSystemAssetGroups(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.designComponentAssetSynced) {\n yield this.updateDesignComponentAndAssetData(designSystemId, designSystemVersion);\n }\n if (!this.designComponentAssetGroupsSynced) {\n yield this.updateDesignComponentAndAssetGroupData(designSystemId, designSystemVersion);\n }\n return this.assetGroups;\n });\n }\n renderAssetsForConfiguration(designSystemId, designSystemVersion, assets, groups, format, scale) {\n return __awaiter(this, void 0, void 0, function* () {\n // Configure payload\n let configuration = {\n settings: [\n {\n prefix: '',\n suffix: '',\n scale: scale,\n format: format\n }\n ],\n persistentIds: assets.map(a => a.id)\n };\n // Render items\n const endpoint = `components/assets/download-list`;\n const items = (yield this.bridge.postDSMDataToEndpoint(designSystemId, designSystemVersion.id, endpoint, configuration)).result.items;\n // Create rendered items index\n const renderedItemsMap = new Map();\n for (const renderedItem of items) {\n renderedItemsMap.set(renderedItem.assetId, renderedItem);\n }\n if (Array.from(renderedItemsMap.entries()).length !== assets.length) {\n throw new Error(\"Number of rendered assets doesn't align with number of requested assets\");\n }\n const assetsMap = new Map();\n for (const asset of assets) {\n assetsMap.set(asset.id, asset);\n }\n let resultingAssets = [];\n // For duplicates\n let names = new Map();\n for (const asset of assets) {\n const item = renderedItemsMap.get(asset.id);\n let renderedGroup;\n for (let group of groups) {\n if (group.assetIds.includes(asset.id)) {\n renderedGroup = group;\n break;\n }\n }\n let assetPath = this.assetPath(asset, renderedGroup);\n if (!names.get(assetPath)) {\n names.set(assetPath, 0);\n }\n if (!renderedGroup) {\n throw new Error(`Each asset must be assigned to some group`);\n }\n let renderedAsset = new SDKRenderedAsset_1.RenderedAsset(item, asset, renderedGroup, names.get(assetPath));\n // Increase number of duplicates\n names.set(assetPath, names.get(assetPath) + 1);\n // Store\n resultingAssets.push(renderedAsset);\n }\n return resultingAssets;\n });\n }\n assetPath(asset, parent) {\n let segments = [asset.name];\n while (parent) {\n segments.push(parent.name);\n parent = parent.parent;\n }\n return segments.reverse().join('/');\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Components\n currentDesignSystemComponents(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.componentsSynced) {\n yield this.updateComponentData(designSystemId, designSystemVersion);\n }\n return this.components;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Design Components\n currentDesignSystemDesignComponents(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.designComponentAssetSynced) {\n yield this.updateDesignComponentAndAssetData(designSystemId, designSystemVersion);\n }\n return this.designComponents;\n });\n }\n currentDesignSystemDesignComponentGroups(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.designComponentAssetSynced) {\n yield this.updateDesignComponentAndAssetData(designSystemId, designSystemVersion);\n }\n if (!this.designComponentAssetGroupsSynced) {\n yield this.updateDesignComponentAndAssetGroupData(designSystemId, designSystemVersion);\n }\n // Retrieve the data\n return this.designComponentGroups;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public Accessors - Documentation\n currentDesignSystemDocumentationItems(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Acquire custom blocks and doc configuration first, so they can be used for resolution\n let blocks = yield this.currentExporterCustomBlocks(designSystem.id, designSystemVersion);\n let documentation = (yield this.currentDesignSystemDocumentation(designSystem, designSystemVersion)).settings;\n // Acquire data\n if (!this.documentationItemsSynced) {\n yield this.updateDocumentationItemData(designSystem.id, designSystemVersion, blocks, documentation);\n }\n // Retrieve the data\n return this.documentationItems;\n });\n }\n currentDesignSystemDocumentation(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Acquire data\n if (!this.documentationSynced) {\n yield this.updateDocumentationData(designSystem, designSystemVersion);\n }\n // Retrieve the data\n return this.documentation;\n });\n }\n currentExporterCustomBlocks(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Acquire data\n if (!this.exporterCustomBlocksSynced) {\n yield this.updateExporterCustomBlocksData(designSystemId, designSystemVersion);\n }\n // Retrieve the data\n return this.exporterCustomBlocks;\n });\n }\n currentExporterConfigurationProperties(workspaceId, designSystemId, exporterId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // TODO: This call is currently not cached as we need multi-cache because of exporterId. Easy to implement, but will have to wait for later as ideally we create more sophisticated caching system\n let exporter = yield this.getExporter(workspaceId, exporterId, designSystemVersion);\n let propertyValues = yield this.getExporterConfigurationPropertyUserValues(designSystemId, exporterId, designSystemVersion);\n // Update properties with the downloaded data\n for (let property of exporter.contributes.configuration) {\n for (let settings of propertyValues) {\n if (property.key === settings.key) {\n property.updateValue(settings.value);\n }\n }\n }\n // Retrieve the data\n return exporter.contributes.configuration;\n });\n }\n currentExporterBlockVariants(workspaceId, designSystemId, exporterId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // TODO: This call is currently not cached as we need multi-cache because of exporterId. Easy to implement, but will have to wait for later as ideally we create more sophisticated caching system\n let exporter = yield this.getExporter(workspaceId, exporterId, designSystemVersion);\n let variants = exporter.contributes.blockVariants;\n return variants;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Element properties\n /** Update current element views of the documentation */\n updateElementData(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core documentation settings\n const data = yield this.getElementData(designSystem, designSystemVersion);\n this.elementDataViews = data.views;\n this.elementProperties = data.properties;\n if (this.bridge.cache) {\n this.elementDataViewsSynced = true;\n this.elementPropertiesSynced = true;\n }\n });\n }\n getElementData(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = yield this.getRawElementPropertyData(designSystem, designSystemVersion);\n let resolvedProperties = data.properties.map(p => new __1.ElementProperty(p));\n let resolvedViews = data.views.map(v => new SDKElementDataView_1.ElementDataView(v));\n // Sort properties using views\n let firstView = resolvedViews.filter(v => v.isDefault && v.targetElementType === __1.ElementPropertyTargetElementType.component)[0];\n let indexes = new Map();\n for (let column of firstView.columns) {\n if (column.propertyDefinitionId) {\n indexes.set(column.propertyDefinitionId, firstView.columns.indexOf(column));\n }\n }\n resolvedProperties = resolvedProperties.sort((a, b) => indexes.get(a.persistentId) - indexes.get(b.persistentId));\n return {\n views: resolvedViews,\n properties: resolvedProperties\n };\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Documentation\n /** Prepare design configuration, merging it with pulsar data */\n updateDocumentationData(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core documentation settings\n this.documentation = yield this.getDocumentation(designSystem, designSystemVersion);\n if (this.bridge.cache) {\n this.documentationSynced = true;\n }\n });\n }\n getDocumentation(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download design system documentation from the API\n // Get remote data\n const endpoint = `documentation`;\n let remoteDocumentation = (yield this.bridge.getDSMDataFromEndpoint(designSystem.id, designSystemVersion.id, endpoint)).result.documentation;\n let registry = yield this.getNPMRegistry(designSystem, designSystemVersion);\n // Extend with information coming from pulsar\n let configuration = new SDKDocumentation_1.Documentation(designSystemVersion, designSystem, remoteDocumentation, registry);\n return configuration;\n });\n }\n getNPMRegistry(designSystem, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // Download NPM registry from the API, if exists\n const endpoint = `workspaces/${designSystem.workspaceId}/npm-registry`;\n let registry = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result\n .npmRegistrySettings;\n if (registry) {\n return new SDKWorkspaceNPMRegistry_1.WorkspaceNPMRegistry(registry);\n }\n else {\n return null;\n }\n }\n catch (error) {\n return null;\n }\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Exporter custom blocks\n /** Download all custom blocks provided by the currently active exporter */\n updateExporterCustomBlocksData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system token data\n this.exporterCustomBlocks = yield this.getExporterCustomBlocks(designSystemId, designSystemVersion);\n if (this.bridge.cache) {\n this.exporterCustomBlocksSynced = true;\n }\n });\n }\n getExporterCustomBlocks(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let rawBlocks = yield this.getExporterCustomBlockData(designSystemId, designSystemVersion);\n let resolvedBlocks = yield this.resolveExporterCustomBlockData(rawBlocks);\n return resolvedBlocks;\n });\n }\n getExporterCustomBlockData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = 'documentation/custom-blocks';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.customBlocks;\n return result;\n });\n }\n resolveExporterCustomBlockData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return data.map(b => new SDKExporterCustomBlock_1.ExporterCustomBlock(b));\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Exporter custom properties / values\n getExporterConfigurationPropertyUserValues(designSystemId, exporterId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let userValues = yield this.getExporterConfigurationPropertiesUserValuesData(designSystemId, exporterId, designSystemVersion);\n // let resolvedProperties = await this.resolveExporterConfigurationPropertiesUserValuesData(rawProperties) // no resolution needed\n return userValues;\n });\n }\n getExporterConfigurationPropertiesUserValuesData(designSystemId, exporterId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = `design-systems/${designSystemId}/exporter-properties/${exporterId}`;\n let result = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result\n .items;\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Exporter\n getExporter(workspaceId, exporterId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let rawExporter = yield this.getExporterData(workspaceId, exporterId);\n let resolvedExporter = yield this.resolveExporterData(rawExporter);\n return resolvedExporter;\n });\n }\n getExporterData(workspaceId, exporterId) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = `codegen/workspaces/${workspaceId}/exporters/${exporterId}`;\n let result = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result.exporter;\n return result;\n });\n }\n resolveExporterData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new SDKExporter_1.Exporter(data);\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---e\n // MARK: - Tokens\n /** Prepare design system data for use for the entire design system, downloading and resolving all tokens */\n updateTokenData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system token data\n this.tokens = yield this.getTokens(designSystemId, designSystemVersion);\n if (this.bridge.cache) {\n this.tokensSynced = true;\n }\n });\n }\n getTokens(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Get token groups\n let tokenGroups = yield this.getTokenGroups(designSystemId, designSystemVersion);\n // Download the raw token data and resolve them\n let result = yield Promise.all([\n this.getRawTokenData(designSystemId, designSystemVersion),\n this.getRawElementPropertyData(designSystemId, designSystemVersion),\n this.getRawElementPropertyValuesData(designSystemId, designSystemVersion)\n ]);\n let rawData = result[0];\n let propPack = result[1];\n let rawValues = yield result[2];\n let resolvedTokens = yield this.resolveTokenData(rawData, propPack.properties, propPack.views, rawValues, tokenGroups, designSystemVersion);\n return resolvedTokens;\n });\n }\n getRawTokenData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = 'tokens';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.tokens;\n return result;\n });\n }\n resolveTokenData(data, properties, views, values, tokenGroups, version) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKTokenResolver_1.TokenResolver(version);\n let result = resolver.resolveTokenData(data, tokenGroups, properties, views, values);\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Groups\n /** Prepare design system data for use for the entire design system, downloading and resolving all groups */\n updateTokenGroupData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system token data\n this.tokenGroups = yield this.getTokenGroups(designSystemId, designSystemVersion);\n if (this.bridge.cache) {\n this.tokenGroupsSynced = true;\n }\n });\n }\n getTokenGroups(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let rawData = yield this.getRawTokenGroupData(designSystemId, designSystemVersion);\n let resolvedGroups = yield this.resolveTokenGroupData(rawData);\n return resolvedGroups;\n });\n }\n getRawTokenGroupData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token group data from the design system endpoint\n const endpoint = 'token-groups';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.groups;\n return result;\n });\n }\n resolveTokenGroupData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKTokenGroupResolver_1.TokenGroupResolver();\n let result = yield resolver.resolveGroupData(data);\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---e\n // MARK: - Token & Component Properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---e\n // MARK: - Tokens\n /** Prepare design system data for use for the entire design system, downloading and resolving all tokens */\n updateThemesData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system token data\n this.themes = yield this.getThemes(designSystemId, designSystemVersion);\n if (this.bridge.cache) {\n this.themesSynced = true;\n }\n });\n }\n getThemes(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Get token groups\n let baseTokens = yield this.currentDesignSystemTokens(designSystemId, designSystemVersion);\n let baseTokenGroups = yield this.currentDesignSystemTokenGroups(designSystemId, designSystemVersion);\n // Download the raw token data and resolve them\n let rawData = yield this.getRawThemeData(designSystemId, designSystemVersion);\n let resolvedThemes = yield this.resolveThemeData(rawData, baseTokens, baseTokenGroups, designSystemVersion);\n return resolvedThemes;\n });\n }\n getRawThemeData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = 'themes';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.themes;\n return result;\n });\n }\n resolveThemeData(data, tokens, tokenGroups, version) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolvedThemes = new Array();\n for (let themeModel of data) {\n // Note that each resolution must be done individually with new resolver to clean its state\n // Some possible optimizations can eventually be possible (fasters hashes with more themes), but\n // because we considering that there will only be very few themes at once, this is not needed now\n let resolver = new SDKTokenResolver_1.TokenResolver(version);\n let result = resolver.resolveThemeData(themeModel, tokens, tokenGroups);\n resolvedThemes.push(result);\n }\n return resolvedThemes;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Components\n /** Prepare design system data for use for the entire design system, downloading and resolving all components - and indirectly, assets as well */\n updateComponentData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system component data\n let result = yield this.getComponents(designSystemId, designSystemVersion);\n this.components = result;\n if (this.bridge.cache) {\n this.componentsSynced = true;\n }\n });\n }\n getComponents(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw component data, including their properties, and resolve them\n let result = yield Promise.all([\n this.getRawComponentData(designSystemId, designSystemVersion),\n this.getRawElementPropertyData(designSystemId, designSystemVersion),\n this.getRawElementPropertyValuesData(designSystemId, designSystemVersion)\n ]);\n let rawComponents = result[0];\n let propPack = result[1];\n let rawValues = result[2];\n let resolvedComponents = yield this.resolveComponentData(rawComponents, propPack.properties, propPack.views, rawValues, designSystemVersion);\n return resolvedComponents;\n });\n }\n getRawComponentData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download component data from the design system endpoint. This downloads components of all types\n const endpoint = 'design-system-components';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.designSystemComponents;\n return result;\n });\n }\n getRawElementPropertyData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download component data from the design system endpoint. This downloads components of all types\n const endpoint = 'element-properties/definitions';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.definitions;\n // Download data views (columns)\n const dvEndpoint = 'element-data-views';\n let dvResult = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, dvEndpoint)).result.elementDataViews;\n return {\n properties: result,\n views: dvResult\n };\n });\n }\n getRawElementPropertyValuesData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download component data from the design system endpoint. This downloads components of all types\n const endpoint = 'element-properties/values';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.values;\n return result;\n });\n }\n resolveComponentData(components, properties, views, values, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKComponentResolver_1.ComponentResolver();\n let result = yield resolver.resolveComponentData(components, properties, views, values);\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Assets & Design Components\n /** Prepare design system data for use for the entire design system, downloading and resolving all design components - and indirectly, assets as well */\n updateDesignComponentAndAssetData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system designComponent data without frame definitions\n let result = yield this.getDesignComponentsAndAssets(designSystemId, designSystemVersion);\n this.designComponents = result.designComponents;\n this.assets = result.assets;\n if (this.bridge.cache) {\n this.designComponentAssetSynced = true;\n }\n });\n }\n getDesignComponentsAndAssets(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let rawData = yield this.getRawDesignComponentAndAssetData(designSystemId, designSystemVersion);\n let resolvedDesignComponentsAndAssets = yield this.resolveDesignComponentAndAssetData(rawData, designSystemVersion);\n return resolvedDesignComponentsAndAssets;\n });\n }\n getRawDesignComponentAndAssetData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token data from the design system endpoint. This downloads tokens of all types\n const endpoint = 'components';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.components;\n return result;\n });\n }\n resolveDesignComponentAndAssetData(data, version) {\n return __awaiter(this, void 0, void 0, function* () {\n // For now, transform all designComponents into designComponents\n let designComponents = [];\n let ds = version.designSystem;\n let sources = yield ds.sources();\n for (let designComponent of data) {\n designComponents.push(new SDKDesignComponent_1.DesignComponent(designComponent, sources));\n }\n // For duplicates\n let assetNames = new Map();\n for (let item of data) {\n if (item.exportProperties.isAsset) {\n assetNames.set(item.meta.name.toLowerCase(), 0);\n }\n }\n // Transform only exportable designComponents into assets\n let assets = [];\n for (let asset of data) {\n let lowercasedName = asset.meta.name.toLowerCase();\n if (asset.exportProperties.isAsset) {\n assets.push(new SDKAsset_1.Asset(asset, assetNames.get(lowercasedName), sources));\n // Increase number of duplicates\n assetNames.set(lowercasedName, assetNames.get(lowercasedName) + 1);\n }\n }\n return {\n designComponents: designComponents,\n assets: assets\n };\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - DesignComponent & Assets Groups\n /** Prepare design system data for use for the entire design system, downloading and resolving all groups */\n updateDesignComponentAndAssetGroupData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design system token data\n let result = yield this.getDesignComponentAndAssetGroups(designSystemId, designSystemVersion, this.designComponents, this.assets);\n this.designComponentGroups = result.designComponentGroups;\n this.assetGroups = result.assetGroups;\n if (this.bridge.cache) {\n this.designComponentAssetGroupsSynced = true;\n }\n });\n }\n getDesignComponentAndAssetGroups(designSystemId, designSystemVersion, designComponents, assets) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw token data and resolve them\n let rawData = yield this.getRawDesignComponentAndAssetGroupData(designSystemId, designSystemVersion);\n let resolvedDesignComponentGroups = yield this.resolveDesignComponentGroupData(rawData, designComponents);\n let resolvedAssetGroups = yield this.resolveAssetGroupData(rawData, assets);\n return {\n designComponentGroups: resolvedDesignComponentGroups,\n assetGroups: resolvedAssetGroups\n };\n });\n }\n getRawDesignComponentAndAssetGroupData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download token group data from the design system endpoint\n const endpoint = 'component-groups';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result.groups;\n return result;\n });\n }\n resolveDesignComponentGroupData(data, designComponents) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKDesignComponentGroupResolver_1.DesignComponentGroupResolver(designComponents);\n let result = yield resolver.resolveGroupData(data);\n return result;\n });\n }\n resolveAssetGroupData(data, assets) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKAssetGroupResolver_1.AssetGroupResolver(assets);\n let result = yield resolver.resolveGroupData(data);\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Documentation Items\n updateDocumentationItemData(designSystemId, designSystemVersion, blocks, configuration) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download core design documentation item data\n this.documentationItems = yield this.getDocumentationItems(designSystemId, designSystemVersion, blocks, configuration);\n if (this.bridge.cache) {\n this.documentationItemsSynced = true;\n }\n });\n }\n getDocumentationItems(designSystemId, designSystemVersion, blocks, configuration) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download the raw documentation data and resolve them\n let rawData = yield this.getRawDocumentationItemData(designSystemId, designSystemVersion);\n let workspaceHandle = yield this.currentWorkspaceHandle(designSystemVersion.designSystem.workspaceId);\n const deployedVersionUrl = yield this.currentDeployedDocumentationUrl(designSystemVersion.designSystem.id, designSystemVersion.id);\n let resolvedItems = yield this.resolveDocumentationItemData(rawData.pageDetails, rawData.groupDetails, blocks, configuration, designSystemVersion, workspaceHandle, deployedVersionUrl);\n return resolvedItems;\n });\n }\n getRawDocumentationItemData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Request documentation content\n const endpointDetails = 'documentation/all';\n let detailResult = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpointDetails)).result;\n return {\n pageDetails: detailResult.pages,\n groupDetails: detailResult.groups\n };\n });\n }\n resolveDocumentationItemData(pageDetails, groupDetails, blocks, configuration, version, workspaceHandle, docsUrl) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = new SDKDocumentationItemResolver_1.DocumentationItemResolver(blocks, configuration, version, workspaceHandle, docsUrl);\n let result = yield resolver.resolveItemData(pageDetails, groupDetails);\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - TS Data\n getTokenStudioData(designSystemId, designSystemVersion) {\n return __awaiter(this, void 0, void 0, function* () {\n // Download component data from the design system endpoint. This downloads components of all types\n const endpoint = 'bff/token-studio';\n let result = (yield this.bridge.getDSMDataFromEndpoint(designSystemId, designSystemVersion.id, endpoint)).result;\n return result;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n writeTokenData(designSystemId, designSystemVersion, tokens, groups, deleteTokens) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = 'bff/import';\n const payload = {\n tokens: tokens,\n tokenGroups: groups,\n bulkDelete: {\n tokenIds: deleteTokens.map(t => t.versionedId)\n }\n };\n let result = yield this.bridge.postDSMDataToEndpoint(designSystemId, designSystemVersion.id, endpoint, payload);\n return result;\n });\n }\n writeTokenThemeData(designSystemId, designSystemVersion, theme) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = `themes/${theme.id}`;\n const payload = theme;\n let result = yield this.bridge.postDSMDataToEndpoint(designSystemId, designSystemVersion.id, endpoint, payload, true);\n return result.theme;\n });\n }\n writeTokenStudioJSONData(designSystemId, designSystemVersion, data) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = `bff/token-studio`;\n const payload = yield this.bridge.postDSMDataToEndpoint(designSystemId, designSystemVersion.id, endpoint, data);\n return payload;\n });\n }\n documetationJobs(version, environment, limit = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = `codegen/workspaces/${version.designSystem.workspaceId}/jobs?designSystemVersionId=${version.id}&destinations[]=documentation&docsEnvironment=${environment}&offset=0&limit=${limit}`;\n let jobs = (yield this.bridge.getDSMGenericDataFromEndpoint(endpoint)).result.jobs;\n return jobs;\n });\n }\n publishDocumentation(version, environment) {\n return __awaiter(this, void 0, void 0, function* () {\n const endpoint = `codegen/workspaces/${version.designSystem.workspaceId}/jobs/documentation`;\n const payload = {\n designSystemId: version.designSystem.id,\n designSystemVersionId: version.id,\n environment\n };\n let result = (yield this.bridge.postDSMDataToGenericEndpoint(endpoint, payload, false)).result;\n // Check status\n let resultingStatus;\n if (result.job.status === 'InProgress' || result.job.status === 'Success') {\n resultingStatus = 'Queued';\n }\n else if (result.job.status === 'Failed') {\n resultingStatus = 'Failure';\n }\n else {\n throw new Error(`Unsupported status ${result.job.status}`);\n }\n return {\n status: resultingStatus,\n jobId: result.job.id,\n exporterId: result.job.exporterId\n };\n });\n }\n}\nexports.DataCore = DataCore;\n","\"use strict\";\n//\n// SDKSupernovaError.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SupernovaError = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n/** Supernova SDK-specific error type */\nvar SupernovaErrorType;\n(function (SupernovaErrorType) {\n /** Thrown when request was performed but server responded with error */\n SupernovaErrorType[\"responseError\"] = \"response\";\n /** Thrown when request failed to perform, for example when network is unreachable */\n SupernovaErrorType[\"requestError\"] = \"request\";\n /** Thrown when request was performed successfully, but SDK data validation or processing failed */\n SupernovaErrorType[\"computeError\"] = \"compute\";\n /** Thrown when data processing failed */\n SupernovaErrorType[\"processingError\"] = \"processing\";\n})(SupernovaErrorType || (SupernovaErrorType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\n/** Supernova SDK-specific error. Contains useful information for debugging problems, depending where the problem originated from */\nclass SupernovaError extends Error {\n constructor(message, type) {\n super(message);\n this.status = null;\n this.label = null;\n this.type = type;\n }\n static fromSDKError(message) {\n // Error was thrown outside of the network, so reason must be provided\n return new SupernovaError(message, SupernovaErrorType.computeError);\n }\n static fromProcessingError(message) {\n // Error was thrown in the processing layer - tooling etc.\n return new SupernovaError(message, SupernovaErrorType.processingError);\n }\n}\nexports.SupernovaError = SupernovaError;\n","\"use strict\";\n//\n// SDKAssetGroupResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssetGroupResolver = void 0;\nconst SDKAssetGroup_1 = require(\"../../model/groups/SDKAssetGroup\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass AssetGroupResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(assets) {\n this.assets = assets;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveGroupData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n var hashedGroups = new Map();\n var resolvedGroups = new Map();\n var allowedAssetIds = this.assets.map(a => a.id);\n // Convert raw groups to resolved groups, not caring about the references just yet\n for (let rawGroup of data) {\n let group = new SDKAssetGroup_1.AssetGroup(rawGroup);\n hashedGroups.set(rawGroup.persistentId, rawGroup);\n resolvedGroups.set(rawGroup.persistentId, group);\n }\n // Build the reference tree and list of assets\n for (let rawGroup of data) {\n let filteredAssetIds = new Array();\n let referencedGroup = resolvedGroups.get(rawGroup.persistentId);\n for (let id of rawGroup.childrenIds) {\n // Find if reference is group - if it is not, it is a asset or designComponent\n let childGroup = resolvedGroups.get(id);\n if (childGroup) {\n referencedGroup.addChild(childGroup);\n }\n else {\n // Only allow assets, and filter out designComponents\n if (allowedAssetIds.includes(id)) {\n filteredAssetIds.push(id);\n }\n }\n }\n referencedGroup.assetIds = filteredAssetIds;\n }\n // Retrieve resolved groups\n let groups = Array.from(resolvedGroups.values());\n this.recomputePaths(groups);\n this.recomputeParents(groups);\n return this.reorderGroupsByRoots(groups);\n });\n }\n recomputePaths(groups) {\n // Find roots, and compute the segments down from the roots\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputePathsFromRoot(group, []);\n }\n }\n // Drop first item because we don't want the core root category to be there\n for (let group of groups) {\n group.path.shift();\n }\n }\n recomputePathsFromRoot(root, segments) {\n // Recursively go down the tree(s) and add segments to each\n let extendedPath = segments.concat(root.name);\n for (let group of root.subgroups) {\n group.path = extendedPath.concat();\n this.recomputePathsFromRoot(group, extendedPath);\n }\n }\n reorderGroupsByRoots(groups) {\n let sortedGroups = new Array();\n // Find the root groups, which will be initial sorting points\n let roots = groups.filter(g => g.isRoot);\n for (const root of roots) {\n // For each group, traverse and add proper order\n sortedGroups = sortedGroups.concat(this.traverseSortGroup(root));\n }\n return sortedGroups;\n }\n traverseSortGroup(group) {\n let output = new Array();\n // Iterated group always first\n output.push(group);\n // Add sorted groups to the array\n let sortedGroups = group.subgroups.sort((g1, g2) => group.childrenIds.indexOf(g1.id) - group.childrenIds.indexOf(g2.id));\n for (let subgroup of sortedGroups) {\n output = output.concat(this.traverseSortGroup(subgroup));\n }\n return output;\n }\n recomputeParents(groups) {\n // Find roots, and compute the references down the chain. Root groups don't have parents\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputeParentsFromRoot(group);\n group.parent = null;\n }\n }\n }\n recomputeParentsFromRoot(rootGroup) {\n for (let group of rootGroup.subgroups) {\n group.setParent(rootGroup);\n this.recomputeParentsFromRoot(group);\n }\n }\n}\nexports.AssetGroupResolver = AssetGroupResolver;\n","\"use strict\";\n//\n// SDKComponentResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ComponentResolver = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKComponent_1 = require(\"../../model/components/SDKComponent\");\nconst SDKElementDataView_1 = require(\"../../model/elements/SDKElementDataView\");\nconst SDKElementProperty_1 = require(\"../../model/elements/SDKElementProperty\");\nconst SDKElementPropertyValue_1 = require(\"../../model/elements/values/SDKElementPropertyValue\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass ComponentResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Configuration\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() { }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveComponentData(components, properties, views, values) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolvedProperties = properties\n .map(p => new SDKElementProperty_1.ElementProperty(p))\n .filter(p => p.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.component);\n let resolvedValues = values.map(v => new SDKElementPropertyValue_1.ElementPropertyValue(v));\n let resolvedViews = views.map(v => new SDKElementDataView_1.ElementDataView(v));\n // Sort properties using views\n let firstView = resolvedViews.filter(v => v.isDefault && v.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.component)[0];\n let indexes = new Map();\n for (let column of firstView.columns) {\n if (column.propertyDefinitionId) {\n indexes.set(column.propertyDefinitionId, firstView.columns.indexOf(column));\n }\n }\n resolvedProperties = resolvedProperties.sort((a, b) => indexes.get(a.persistentId) - indexes.get(b.persistentId));\n // Resolve components\n let resolvedComponents = components.map(c => new SDKComponent_1.Component(c, resolvedProperties, resolvedValues));\n return resolvedComponents;\n });\n }\n}\nexports.ComponentResolver = ComponentResolver;\n","\"use strict\";\n//\n// SDKDesignComponentGroupResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignComponentGroupResolver = void 0;\nconst SDKDesignComponentGroup_1 = require(\"../../model/groups/SDKDesignComponentGroup\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DesignComponentGroupResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(designComponents) {\n this.designComponents = designComponents;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveGroupData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n var hashedGroups = new Map();\n var resolvedGroups = new Map();\n // Convert raw groups to resolved groups, not caring about the references just yet\n for (let rawGroup of data) {\n let group = new SDKDesignComponentGroup_1.DesignComponentGroup(rawGroup);\n hashedGroups.set(rawGroup.persistentId, rawGroup);\n resolvedGroups.set(rawGroup.persistentId, group);\n }\n // Build the reference tree and list of designComponents\n for (let rawGroup of data) {\n let filteredDesignComponentIds = new Array();\n let referencedGroup = resolvedGroups.get(rawGroup.persistentId);\n for (let id of rawGroup.childrenIds) {\n // Find if reference is group - if it is not, it is a designComponent\n let childGroup = resolvedGroups.get(id);\n if (childGroup) {\n referencedGroup.addChild(childGroup);\n }\n else {\n // Note: All designComponents are valid. In case of asset tree however, only some are valid\n // Here, we don't filter out anything\n filteredDesignComponentIds.push(id);\n }\n }\n referencedGroup.componentIds = filteredDesignComponentIds;\n }\n // Retrieve resolved groups\n let groups = Array.from(resolvedGroups.values());\n this.recomputePaths(groups);\n this.recomputeParents(groups);\n return this.reorderGroupsByRoots(groups);\n });\n }\n recomputePaths(groups) {\n // Find roots, and compute the segments down from the roots\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputePathsFromRoot(group, []);\n }\n }\n // Drop first item because we don't want the core root category to be there\n for (let group of groups) {\n group.path.shift();\n }\n }\n recomputePathsFromRoot(root, segments) {\n // Recursively go down the tree(s) and add segments to each\n let extendedPath = segments.concat(root.name);\n for (let group of root.subgroups) {\n group.path = extendedPath.concat();\n this.recomputePathsFromRoot(group, extendedPath);\n }\n }\n reorderGroupsByRoots(groups) {\n let sortedGroups = new Array();\n // Find the root groups, which will be initial sorting points\n let roots = groups.filter(g => g.isRoot);\n for (const root of roots) {\n // For each group, traverse and add proper order\n sortedGroups = sortedGroups.concat(this.traverseSortGroup(root));\n }\n return sortedGroups;\n }\n traverseSortGroup(group) {\n let output = new Array();\n // Iterated group always first\n output.push(group);\n // Add sorted groups to the array\n let sortedGroups = group.subgroups.sort((g1, g2) => group.childrenIds.indexOf(g1.id) - group.childrenIds.indexOf(g2.id));\n for (let subgroup of sortedGroups) {\n output = output.concat(this.traverseSortGroup(subgroup));\n }\n return output;\n }\n recomputeParents(groups) {\n // Find roots, and compute the references down the chain. Root groups don't have parents\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputeParentsFromRoot(group);\n group.parent = null;\n }\n }\n }\n recomputeParentsFromRoot(rootGroup) {\n for (let group of rootGroup.subgroups) {\n group.setParent(rootGroup);\n this.recomputeParentsFromRoot(group);\n }\n }\n}\nexports.DesignComponentGroupResolver = DesignComponentGroupResolver;\n","\"use strict\";\n//\n// SDKDocumentationItemResolver.ts\n// Supernova SDK \n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationItemResolver = void 0;\nconst SDKDocumentationGroup_1 = require(\"../../model/documentation/SDKDocumentationGroup\");\nconst SDKDocumentationPage_1 = require(\"../../model/documentation/SDKDocumentationPage\");\nconst SDKDocumentationItemType_1 = require(\"../../model/enums/SDKDocumentationItemType\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass DocumentationItemResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(customBlocks, configuration, version, workspaceHandle, docsUrl) {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Properties\n this.hashedItems = new Map();\n this.resolvedItems = new Map();\n this.customBlocks = customBlocks;\n this.configuration = configuration;\n this.version = version;\n this.workspaceHandle = workspaceHandle;\n this.designSystem = version.designSystem;\n this.docsUrl = docsUrl;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveItemData(pageDetails, groupDetails) {\n return __awaiter(this, void 0, void 0, function* () {\n // Hash groups for faster lookup + find root group. Also fix the missing type attribute\n let rootGroupModel;\n for (let item of groupDetails) {\n item.type = SDKDocumentationItemType_1.DocumentationItemType.group;\n this.hashedItems.set(item.persistentId, item);\n if (item.isRoot) {\n rootGroupModel = item;\n }\n }\n if (!rootGroupModel) {\n throw new Error(`Incosistent model detected, missing root group`);\n }\n // Hash pages for faster lookup. Also fix the missing type attribute\n for (let page of pageDetails) {\n page.type = SDKDocumentationItemType_1.DocumentationItemType.page;\n this.hashedItems.set(page.persistentId, page);\n }\n // Create structured chain of objects\n let rootGroup = new SDKDocumentationGroup_1.DocumentationGroup(rootGroupModel);\n yield this.resolveItemsForGroup(rootGroup);\n // Retrieve created objects\n let items = Array.from(this.resolvedItems.values());\n // Compute different paths of objects\n for (const item of items) {\n if (item instanceof SDKDocumentationPage_1.DocumentationPage) {\n const deployed = this.deployedUrl(item);\n const editor = this.editorUrl(item);\n item.internalOverridePaths(deployed, editor);\n }\n else if (item instanceof SDKDocumentationGroup_1.DocumentationGroup) {\n const relative = this.pageUrl(item);\n let deployed = null;\n const page = this.firstPageFromTop(item);\n if (page) {\n deployed = this.deployedUrl(page);\n }\n item.internalOverridePaths(relative, deployed);\n }\n }\n return items;\n });\n }\n resolveItemsForGroup(group) {\n return __awaiter(this, void 0, void 0, function* () {\n // Store items\n this.resolvedItems.set(group.id, group);\n // Resolve children of one group\n for (let childId of group.childrenIds) {\n // Find model from the loaded items\n let childModel = this.hashedItems.get(childId);\n if (!childModel) {\n throw new Error(`Inconsistent group / page model detected in one of the documentation items, missing ${childId}`);\n }\n if (childModel.type === SDKDocumentationItemType_1.DocumentationItemType.group) {\n // If it is a group, then create a group\n let subgroup = new SDKDocumentationGroup_1.DocumentationGroup(childModel);\n subgroup.parent = group;\n group.addChild(subgroup);\n yield this.resolveItemsForGroup(subgroup);\n }\n else {\n // Otherwise, create a page using the data we obtained from the content call\n let pageId = childModel.persistentId;\n let pageModel = this.hashedItems.get(pageId);\n let page = new SDKDocumentationPage_1.DocumentationPage(pageModel, this.customBlocks, this.configuration);\n // Resolve block chains\n this.resolveBlockChains(page);\n // Link parents properly\n page.parent = group;\n page.type = SDKDocumentationItemType_1.DocumentationItemType.page;\n group.addChild(page);\n // Store items\n this.resolvedItems.set(page.id, page);\n }\n }\n });\n }\n resolveBlockChains(page) {\n // Resolve initial block group\n this.resolveBlockGroup(page.blocks);\n }\n resolveBlockGroup(blocks) {\n // Ignore empty groups\n if (blocks.length === 0) {\n return;\n }\n if (blocks.length === 1 && blocks[0] === undefined) {\n // Note in some really rare cases, blocks[0] can be undefined. We should not be resolving undefined groups, rather ignoring it. This bug points to issue somewhere else however.\n throw new Error(\"The fuck?\");\n }\n let blockType = null;\n let previousBlock = null;\n for (let block of blocks) {\n // For previous block, check if it ended\n if (previousBlock) {\n previousBlock.endsTypeChain = previousBlock.type !== block.type;\n }\n // If previous block is of different type (or initial), it beings type chain, otherwise it follows previous one\n block.beginsTypeChain = block.type !== blockType;\n blockType = block.type;\n previousBlock = block;\n // Also solve for all subblocks who can form independent chains\n this.resolveBlockGroup(block.children);\n }\n // Final block always ends chain\n previousBlock.endsTypeChain = true;\n }\n /** Create URL pointing to the deployed documentation page hosted on Supernova side. Will be empty if there was nothing deployed, or if not hosted at Supernova */\n deployedUrl(page) {\n if (this.docsUrl) {\n const relativeUrl = page.relativeUrl;\n if (relativeUrl) {\n return this.docsUrl + \"/\" + relativeUrl;\n }\n }\n return null;\n }\n /** Create editor URL pointing to editable page. */\n editorUrl(item) {\n return `https://cloud.supernova.io/ws/${this.workspaceHandle}/ds/${this.designSystem.id}-${this.slugify(this.designSystem.name)}/${this.version.id}/documentation/editor/${item.id}`;\n }\n /** Create page URL or group URL pointing to the first contained page */\n pageUrl(object) {\n var _a;\n let page = null;\n if (object.type === \"Page\") {\n page = object;\n }\n else {\n page = this.firstPageFromTop(object);\n }\n if (!page) {\n return \"\";\n }\n let pageSlug = (_a = page.userSlug) !== null && _a !== void 0 ? _a : page.slug;\n let subpaths = [];\n // Construct group path segments\n let parent = page.parent;\n while (parent) {\n subpaths.push(this.slugify(parent.title));\n parent = parent.parent;\n }\n // Remove last segment added, because we don't care about root group\n subpaths.pop();\n // Retrieve url-safe path constructed as [host][group-slugs][path-slug][.html]\n let path = [...subpaths.reverse(), pageSlug].join(\"/\") + \".html\";\n return path;\n }\n /** Find first showable page from the top of the provided root */\n firstPageFromTop(documentationRoot) {\n for (let child of documentationRoot.children) {\n if (child.type === \"Page\") {\n return child;\n }\n else {\n let possiblePage = this.firstPageFromTop(child);\n if (possiblePage) {\n return possiblePage;\n }\n }\n }\n return null;\n }\n /** Slugify text to be usable as URL */\n slugify(str) {\n if (!str) {\n return \"\";\n }\n // Thanks to https://gist.github.com/codeguy/6684588\n str = str.replace(/^\\s+|\\s+$/g, \"\");\n str = str.toLowerCase();\n // remove accents, swap ñ for n, etc\n var from = \"àáãäâèéëêìíïîòóöôùúüûñç·/_,:;\";\n var to = \"aaaaaeeeeiiiioooouuuunc------\";\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), \"g\"), to.charAt(i));\n }\n str = str\n .replace(/[^a-z0-9 -]/g, \"\") // remove invalid chars\n .replace(/\\s+/g, \"-\") // collapse whitespace and replace by -\n .replace(/-+/g, \"-\"); // collapse dashes\n return str;\n }\n}\nexports.DocumentationItemResolver = DocumentationItemResolver;\n","\"use strict\";\n//\n// SDKTokenGroupResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenGroupResolver = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKTokenGroup_1 = require(\"../../model/groups/SDKTokenGroup\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass TokenGroupResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Configuration\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() { }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveGroupData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n var hashedGroups = new Map();\n var resolvedGroups = new Map();\n // Convert raw groups to resolved groups, not caring about the references just yet\n for (let rawGroup of data) {\n let group = new SDKTokenGroup_1.TokenGroup(rawGroup);\n hashedGroups.set(rawGroup.persistentId, rawGroup);\n resolvedGroups.set(rawGroup.persistentId, group);\n }\n // Build the reference tree and list of tokens\n for (let rawGroup of data) {\n let filteredTokenIds = new Array();\n let referencedGroup = resolvedGroups.get(rawGroup.persistentId);\n for (let id of rawGroup.childrenIds) {\n // Find if reference is group - if it is not, it is a token\n let childGroup = resolvedGroups.get(id);\n if (childGroup) {\n referencedGroup.addChild(childGroup);\n }\n else {\n filteredTokenIds.push(id);\n }\n }\n referencedGroup.tokenIds = filteredTokenIds;\n }\n // Retrieve resolved groups\n let groups = Array.from(resolvedGroups.values());\n this.recomputePaths(groups);\n this.recomputeParents(groups);\n return this.reorderGroupsByRoots(groups);\n });\n }\n recomputePaths(groups) {\n // Find roots, and compute the segments down from the roots\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputePathsFromRoot(group, []);\n }\n }\n // Drop first item because we don't want the core root category to be there\n for (let group of groups) {\n group.path.shift();\n }\n }\n recomputePathsFromRoot(root, segments) {\n // Recursively go down the tree(s) and add segments to each\n let extendedPath = segments.concat(root.name);\n for (let group of root.subgroups) {\n group.path = extendedPath.concat();\n this.recomputePathsFromRoot(group, extendedPath);\n }\n }\n reorderGroupsByRoots(groups) {\n let sortedGroups = new Array();\n // Find the root groups, which will be initial sorting points\n let roots = groups.filter(g => g.isRoot);\n for (const root of roots) {\n // For each group, traverse and add proper order\n sortedGroups = sortedGroups.concat(this.traverseSortGroup(root));\n }\n return sortedGroups;\n }\n traverseSortGroup(group) {\n let output = new Array();\n // Iterated group always first\n output.push(group);\n // Add sorted groups to the array\n let sortedGroups = group.subgroups.sort((g1, g2) => group.childrenIds.indexOf(g1.id) - group.childrenIds.indexOf(g2.id));\n for (let subgroup of sortedGroups) {\n output = output.concat(this.traverseSortGroup(subgroup));\n }\n return output;\n }\n recomputeParents(groups) {\n // Find roots, and compute the references down the chain. Root groups don't have parents\n for (let group of groups) {\n if (group.isRoot) {\n this.recomputeParentsFromRoot(group);\n group.parent = null;\n }\n }\n }\n recomputeParentsFromRoot(rootGroup) {\n for (let group of rootGroup.subgroups) {\n group.setParent(rootGroup);\n this.recomputeParentsFromRoot(group);\n }\n }\n}\nexports.TokenGroupResolver = TokenGroupResolver;\n","\"use strict\";\n//\n// SDKTokenResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenResolver = void 0;\nconst SDKElementDataView_1 = require(\"../../model/elements/SDKElementDataView\");\nconst SDKElementProperty_1 = require(\"../../model/elements/SDKElementProperty\");\nconst SDKElementPropertyValue_1 = require(\"../../model/elements/values/SDKElementPropertyValue\");\nconst SDKTokenType_1 = require(\"../../model/enums/SDKTokenType\");\nconst SDKThemeUtilities_1 = require(\"../../model/themes/SDKThemeUtilities\");\nconst SDKTokenTheme_1 = require(\"../../model/themes/SDKTokenTheme\");\nconst SDKBlurToken_1 = require(\"../../model/tokens/SDKBlurToken\");\nconst SDKBorderToken_1 = require(\"../../model/tokens/SDKBorderToken\");\nconst SDKColorToken_1 = require(\"../../model/tokens/SDKColorToken\");\nconst SDKFontToken_1 = require(\"../../model/tokens/SDKFontToken\");\nconst SDKGenericToken_1 = require(\"../../model/tokens/SDKGenericToken\");\nconst SDKGradientToken_1 = require(\"../../model/tokens/SDKGradientToken\");\nconst SDKMeasureToken_1 = require(\"../../model/tokens/SDKMeasureToken\");\nconst SDKRadiusToken_1 = require(\"../../model/tokens/SDKRadiusToken\");\nconst SDKShadowToken_1 = require(\"../../model/tokens/SDKShadowToken\");\nconst SDKTextToken_1 = require(\"../../model/tokens/SDKTextToken\");\nconst SDKTypographyToken_1 = require(\"../../model/tokens/SDKTypographyToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Function Definition\nclass TokenResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version) {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Configuration\n this.hashedTokens = new Map();\n this.resolvedTokens = new Map();\n this.hashedOverrides = new Map();\n this.hashedReconstructedOverrides = new Map();\n this.resolvedOverrides = new Map();\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Resolution\n resolveTokenData(data, tokenGroups, properties, views, values) {\n let resolvedProperties = properties\n .map(p => new SDKElementProperty_1.ElementProperty(p))\n .filter(p => p.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.token);\n let resolvedValues = values.map(v => new SDKElementPropertyValue_1.ElementPropertyValue(v));\n let resolvedViews = views.map(v => new SDKElementDataView_1.ElementDataView(v));\n // Sort properties using views\n let firstView = resolvedViews.filter(v => v.isDefault && v.targetElementType === SDKElementProperty_1.ElementPropertyTargetElementType.token)[0];\n let indexes = new Map();\n for (let column of firstView.columns) {\n if (column.propertyDefinitionId) {\n indexes.set(column.propertyDefinitionId, firstView.columns.indexOf(column));\n }\n }\n resolvedProperties = resolvedProperties.sort((a, b) => indexes.get(a.persistentId) - indexes.get(b.persistentId));\n for (let rawToken of data) {\n this.hashedTokens.set(rawToken.persistentId, rawToken);\n }\n /*\n * Step 1: Create pure tokens that are not references\n */\n for (let rawToken of data) {\n // Skip creation of all tokens that can have reference\n if (rawToken.data.aliasTo) {\n continue;\n }\n // Construct raw colors, fonts, texts, radii and measures first\n if (this.tokenTypeIsPure(rawToken.type)) {\n let token = this.constructValueToken(rawToken, resolvedProperties, resolvedValues);\n this.resolvedTokens.set(token.id, token);\n }\n }\n /*\n * Step 2: Create pure tokens that are references. This will provide us with all possible tokens resolved for mixins later\n */\n for (let rawToken of data) {\n // This time, skip creation of all raw tokens because we already have them\n if (!rawToken.data.aliasTo) {\n continue;\n }\n // Construct references for pure tokens, if any\n if (this.tokenTypeIsPure(rawToken.type) && !this.resolvedTokens.get(rawToken.persistentId)) {\n let token = this.constructReferencedToken(rawToken, resolvedProperties, resolvedValues);\n this.resolvedTokens.set(token.id, token);\n }\n }\n /*\n * Step 3: Create mixin tokens that can potentially reference pure resolved tokens\n */\n for (let rawToken of data) {\n // Skip creation of all tokens that can have reference\n if (rawToken.data.aliasTo) {\n continue;\n }\n // Construct raw typography, gradient, shadow and border colors\n if (!this.tokenTypeIsPure(rawToken.type)) {\n let token = this.constructValueToken(rawToken, resolvedProperties, resolvedValues);\n this.resolvedTokens.set(token.id, token);\n }\n }\n /*\n * Step 4: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.\n */\n for (let rawToken of data) {\n // Skip creation of all tokens that are not references\n if (!rawToken.data.aliasTo) {\n continue;\n }\n if (!this.resolvedTokens.get(rawToken.persistentId)) {\n // We create the token only when it wasn't created already. In some cases, this can happen when there are multiple reference levels\n let token = this.constructReferencedToken(rawToken, resolvedProperties, resolvedValues);\n this.resolvedTokens.set(token.id, token);\n }\n }\n /*\n * Step 5: Assign parents to the tree\n */\n for (let tokenGroup of tokenGroups) {\n for (let childId of tokenGroup.childrenIds) {\n let possibleToken = this.resolvedTokens.get(childId);\n if (possibleToken) {\n // If object exists, assign parent to it. Not existing means it is a group\n possibleToken.parent = tokenGroup;\n }\n }\n }\n // Retrieve all properly resolved tokens\n let tokens = Array.from(this.resolvedTokens.values());\n // Temporary: Fix shadow, gradient and blur tokens\n this.fixMultilayerShadowTokens(tokens.filter(t => t.tokenType === SDKTokenType_1.TokenType.shadow));\n this.fixMultilayerGradientTokens(tokens.filter(t => t.tokenType === SDKTokenType_1.TokenType.gradient));\n this.fixMultilayerBlurTokens(tokens.filter(t => t.tokenType === SDKTokenType_1.TokenType.blur));\n // Retrieve all properly resolved tokens\n return tokens;\n }\n tokenTypeIsPure(tokenType) {\n return (tokenType === SDKTokenType_1.TokenType.color ||\n tokenType === SDKTokenType_1.TokenType.font ||\n tokenType === SDKTokenType_1.TokenType.measure ||\n tokenType === SDKTokenType_1.TokenType.text ||\n tokenType === SDKTokenType_1.TokenType.generic);\n }\n resolveThemeData(data, tokens, tokenGroups) {\n let themeId = data.id;\n // Build cache for performance\n for (let token of tokens) {\n this.resolvedTokens.set(token.id, token);\n }\n /*\n * Step 0: Clean overrides that don't have any token associated with it\n */\n let overrideData = [];\n for (let override of data.overrides) {\n let token = this.resolvedTokens.get(override.tokenPersistentId);\n if (token) {\n overrideData.push(override);\n }\n }\n for (let override of overrideData) {\n this.hashedOverrides.set(override.tokenPersistentId, override);\n }\n /*\n * Step 1: Construct containers for tokens that have overrides - but don't assign value to them just yet\n */\n for (let override of overrideData) {\n let token = this.resolvedTokens.get(override.tokenPersistentId);\n let origin = override.origin;\n if (!token) {\n throw new Error(`Unable to resolve token ${override.tokenPersistentId} for theme ${data.id} as base token was not found`);\n }\n let replica = this.makeThemedValuelessTokenReplica(token, themeId, origin);\n this.hashedReconstructedOverrides.set(replica.id, replica);\n }\n /*\n * Step 2: Create map with all tokens, using core tokens and the theme itself so we have all tokens prepared\n */\n for (let override of overrideData) {\n // Skip creation of all tokens that can have reference\n if (override.data.aliasTo) {\n continue;\n }\n // Construct raw colors, fonts, texts, radii and measures first\n if (this.tokenTypeIsPure(override.type)) {\n if (!override.data.value) {\n throw new Error(`Override must always have alias or value, but ${override.tokenPersistentId} provided neither (1: raw)`);\n }\n // There is no reference to be solved, so we just assume we can create referenced without issues\n let replica = this.hashedReconstructedOverrides.get(override.tokenPersistentId);\n switch (override.type) {\n case SDKTokenType_1.TokenType.color:\n ;\n replica.value = this.constructColorValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.font:\n ;\n replica.value = this.constructFontValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.measure:\n ;\n replica.value = this.constructMeasureValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.text:\n ;\n replica.value = this.constructTextLikeTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.generic:\n ;\n replica.value = this.constructTextLikeTokenValue(override.data.value);\n break;\n }\n this.resolvedOverrides.set(replica.id, replica);\n }\n }\n /*\n * Step 3: Create values for theme overrides that are raw and pure tokens\n */\n for (let override of overrideData) {\n // This time, skip creation of all raw tokens because we already have them\n if (!override.data.aliasTo) {\n continue;\n }\n // Construct references for pure tokens, if any\n if (this.tokenTypeIsPure(override.type) && !this.resolvedOverrides.get(override.tokenPersistentId)) {\n let resolvedOverride = this.resolvedOverrides.get(override.tokenPersistentId);\n if (!resolvedOverride) {\n // Only construct reference if it wasn't constructed already\n let replica = this.constructReferencedThemedToken(override, themeId);\n this.resolvedOverrides.set(replica.id, replica);\n }\n }\n }\n /*\n * Step 4: Create pure tokens that are references. End of this step will provide us with all possible tokens resolved for mixins later\n */\n for (let override of overrideData) {\n // Skip creation of all tokens that can have reference in this step\n if (override.data.aliasTo) {\n continue;\n }\n // Construct raw typography, gradient, shadow and border colors\n if (!this.tokenTypeIsPure(override.type)) {\n let token = this.constructThemedValueToken(override, themeId);\n this.resolvedOverrides.set(token.id, token);\n }\n }\n /*\n * Step 5:Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.\n */\n for (let override of overrideData) {\n // Skip creation of all tokens that are not references\n if (!override.data.aliasTo) {\n continue;\n }\n if (!this.resolvedOverrides.get(override.tokenPersistentId)) {\n // We create the token only when it wasn't created already. In some cases, this can happen when there are multiple reference levels\n let token = this.constructReferencedThemedToken(override, themeId);\n this.resolvedOverrides.set(token.id, token);\n }\n }\n /*\n * Step 5: Assign parents to the tree\n */\n for (let tokenGroup of tokenGroups) {\n for (let childId of tokenGroup.childrenIds) {\n let possibleToken = this.resolvedOverrides.get(childId);\n if (possibleToken) {\n // If object exists, assign parent to it. Not existing means it is a group\n possibleToken.parent = tokenGroup;\n }\n }\n }\n /*\n * Step 6: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.\n */\n let theme = new SDKTokenTheme_1.TokenTheme(data, this.version);\n const themeOverrides = Array.from(this.resolvedOverrides.values());\n this.fixMultilayerShadowTokens(themeOverrides.filter(t => t.tokenType === SDKTokenType_1.TokenType.shadow));\n this.fixMultilayerGradientTokens(themeOverrides.filter(t => t.tokenType === SDKTokenType_1.TokenType.gradient));\n this.fixMultilayerBlurTokens(themeOverrides.filter(t => t.tokenType === SDKTokenType_1.TokenType.blur));\n theme.overriddenTokens = themeOverrides;\n return theme;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token replication\n makeThemedValuelessTokenReplica(token, themeId, origin) {\n let replica = SDKThemeUtilities_1.ThemeUtilities.replicateTokenAsThemePrefabWithoutValue(token, themeId, origin, this.version);\n replica.themeId = themeId;\n return replica;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Temporary: Data structure manipulation\n fixMultilayerShadowTokens(tokens) {\n for (let token of tokens) {\n token.shadowLayers = this.findAssociatedTokens(token, tokens);\n }\n }\n fixMultilayerGradientTokens(tokens) {\n for (let token of tokens) {\n token.gradientLayers = this.findAssociatedTokens(token, tokens);\n }\n }\n fixMultilayerBlurTokens(tokens) {\n for (let token of tokens) {\n token.blurLayers = this.findAssociatedTokens(token, tokens);\n }\n }\n findAssociatedTokens(token, tokens) {\n var _a;\n if (!((_a = token.origin) === null || _a === void 0 ? void 0 : _a.id) || !token.parent) {\n return [token];\n }\n // Find all tokens with same origin\n let tokenId = this.actualOriginTokenId(token.origin.id);\n let matchingTokens = tokens.filter(t => { var _a; return this.actualOriginTokenId((_a = t.origin) === null || _a === void 0 ? void 0 : _a.id) === tokenId; });\n // Sort by the parent, and set virtual tokens\n let sortedTokens = new Array();\n let index = 0;\n for (let id of token.parent.tokenIds) {\n for (let matchingToken of matchingTokens) {\n if (matchingToken.id === id) {\n sortedTokens.push(matchingToken);\n if (index === 0) {\n ;\n matchingToken.isVirtual = false;\n }\n else {\n ;\n matchingToken.isVirtual = true;\n }\n index++;\n }\n }\n }\n return sortedTokens;\n }\n actualOriginTokenId(id) {\n if (id && id.length > 0) {\n return id.split(',')[0];\n }\n return null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Referencing\n constructReferencedToken(rawData, properties, values) {\n let referenceId = rawData.data.aliasTo;\n let referencedToken;\n if (this.resolvedTokens.get(referenceId)) {\n // If the referenced token already exists, we use it to create this token\n referencedToken = this.resolvedTokens.get(referenceId);\n }\n else if (this.hashedTokens.get(referenceId)) {\n // Otherwise, we request token with the model data of the other token coming from the base set of tokens\n referencedToken = this.constructReferencedToken(this.hashedTokens.get(referenceId), properties, values);\n }\n else {\n // This situation can't happen because we are either resolving base tokens and using constructed references,\n // or resolving theme and this function should not be used at all\n throw new Error(\"Data integrity problem detected, can't start creating reference for themed tokens when resolving base values\");\n }\n let token = this.constructResolvedToken(rawData, referencedToken, properties, values);\n this.resolvedTokens.set(token.id, token);\n return token;\n }\n constructReferencedThemedToken(rawData, themeId) {\n let referenceId = rawData.data.aliasTo;\n let referencedToken;\n if (this.resolvedOverrides.get(referenceId)) {\n // If the reference token exists from the current theme that is being resolved (note, that might not be always), prioritize reference first\n referencedToken = this.resolvedOverrides.get(referenceId);\n }\n else if (this.hashedOverrides.get(referenceId)) {\n // If the reference doesn't exists, there are two possible options:\n // The first one is that we are creating reference token within current theme, if provided. In this case, we construct\n // token from the override that we also construct\n referencedToken = this.constructReferencedThemedToken(this.hashedOverrides.get(referenceId), themeId);\n }\n else if (this.resolvedTokens.get(referenceId)) {\n // If the referenced token already exists, we use it to create this token\n referencedToken = this.resolvedTokens.get(referenceId);\n }\n else {\n // This situation can't happen because we are either resolving theme and using constructed references,\n // or resolving base tokens and this function should not be used at all\n throw new Error(\"Data integrity problem detected, can't start creating reference for base tokens when resolving themes\");\n }\n let token = this.constructResolvedThemedToken(rawData, referencedToken, themeId);\n this.resolvedOverrides.set(token.id, token);\n return token;\n }\n constructResolvedThemedToken(rawData, referencedToken, themeId) {\n if (!rawData.data.aliasTo) {\n throw Error(`Incorrectly creating reference themed token ${rawData.tokenPersistentId} from pure value token`);\n }\n let baseToken = this.resolvedTokens.get(rawData.tokenPersistentId);\n let replica = SDKThemeUtilities_1.ThemeUtilities.replicateTokenAsThemePrefabWithoutValue(baseToken, themeId, rawData.origin, this.version);\n // Each token has some value, let's use it\n let value = referencedToken.value;\n replica.value = value && Object.assign(Object.assign({}, value), { referencedToken });\n return replica;\n }\n constructResolvedToken(rawData, referencedToken, properties, values) {\n if (!rawData.data.aliasTo) {\n throw Error('Incorrectly creating reference token from value token');\n }\n let type = rawData.type;\n // We make a copy of values for each constructed token\n switch (type) {\n case SDKTokenType_1.TokenType.color: {\n let ref = referencedToken;\n return new SDKColorToken_1.ColorToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.border: {\n let ref = referencedToken;\n return new SDKBorderToken_1.BorderToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.font: {\n let ref = referencedToken;\n return new SDKFontToken_1.FontToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.gradient: {\n let ref = referencedToken;\n return new SDKGradientToken_1.GradientToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.measure: {\n let ref = referencedToken;\n return new SDKMeasureToken_1.MeasureToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.radius: {\n let ref = referencedToken;\n return new SDKRadiusToken_1.RadiusToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.shadow: {\n let ref = referencedToken;\n return new SDKShadowToken_1.ShadowToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.text: {\n let ref = referencedToken;\n return new SDKTextToken_1.TextToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.typography: {\n let ref = referencedToken;\n return new SDKTypographyToken_1.TypographyToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.blur: {\n let ref = referencedToken;\n return new SDKBlurToken_1.BlurToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n case SDKTokenType_1.TokenType.generic: {\n let ref = referencedToken;\n return new SDKGenericToken_1.GenericToken(this.version, rawData, Object.assign({}, ref.value), ref, properties, values);\n }\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token construction\n constructValueToken(rawData, properties, values) {\n if (rawData.data.aliasTo) {\n throw Error('Incorrectly creating value token from referenced token');\n }\n let type = rawData.type;\n switch (type) {\n case SDKTokenType_1.TokenType.color:\n return this.constructColorToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.border:\n return this.constructBorderToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.font:\n return this.constructFontToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.gradient:\n return this.constructGradientToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.measure:\n return this.constructMeasureToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.radius:\n return this.constructRadiusToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.shadow:\n return this.constructShadowToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.text:\n return this.constructTextToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.typography:\n return this.constructTypographyToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.blur:\n return this.constructBlurToken(rawData, properties, values);\n case SDKTokenType_1.TokenType.generic:\n return this.constructGenericToken(rawData, properties, values);\n }\n }\n constructThemedValueToken(override, themeId) {\n if (override.data.aliasTo) {\n throw Error('Incorrectly creating themed value token from referenced token');\n }\n let baseToken = this.resolvedTokens.get(override.tokenPersistentId);\n let replica = SDKThemeUtilities_1.ThemeUtilities.replicateTokenAsThemePrefabWithoutValue(baseToken, themeId, override.origin, this.version);\n let type = override.type;\n let value;\n switch (type) {\n case SDKTokenType_1.TokenType.color:\n ;\n replica.value = this.constructColorValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.font:\n ;\n replica.value = this.constructFontValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.measure:\n ;\n replica.value = this.constructMeasureValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.text:\n ;\n replica.value = this.constructTextLikeTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.generic:\n ;\n replica.value = this.constructTextLikeTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.blur:\n ;\n replica.value = this.constructBlurTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.border:\n ;\n replica.value = this.constructBorderTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.gradient:\n ;\n replica.value = this.constructGradientTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.radius:\n ;\n replica.value = this.constructRadiusTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.shadow:\n ;\n replica.value = this.constructShadowTokenValue(override.data.value);\n break;\n case SDKTokenType_1.TokenType.typography:\n ;\n replica.value = this.constructTypographyTokenValue(override.data.value);\n break;\n }\n return replica;\n }\n constructColorToken(rawData, properties, values) {\n let value = this.constructColorValue(rawData.data.value);\n return new SDKColorToken_1.ColorToken(this.version, rawData, value, null, properties, values);\n }\n constructColorValue(rawValue) {\n let hex = rawValue.substr(1); // RRGGBBAA\n let r = parseInt(hex.slice(0, 2), 16);\n let g = parseInt(hex.slice(2, 4), 16);\n let b = parseInt(hex.slice(4, 6), 16);\n let a = parseInt(hex.slice(6, 8), 16);\n return {\n hex: hex,\n r: r,\n g: g,\n b: b,\n a: a,\n referencedToken: null\n };\n }\n constructTextToken(rawData, properties, values) {\n let value = this.constructTextLikeTokenValue(rawData.data.value);\n return new SDKTextToken_1.TextToken(this.version, rawData, value, null, properties, values);\n }\n constructGenericToken(rawData, properties, values) {\n let value = this.constructTextLikeTokenValue(rawData.data.value);\n return new SDKGenericToken_1.GenericToken(this.version, rawData, value, null, properties, values);\n }\n constructTextLikeTokenValue(rawData) {\n let value = {\n text: rawData,\n referencedToken: null\n };\n return value;\n }\n constructMeasureToken(rawData, properties, values) {\n let value = this.constructMeasureValue(rawData.data.value);\n return new SDKMeasureToken_1.MeasureToken(this.version, rawData, value, null, properties, values);\n }\n constructMeasureValue(rawData) {\n return {\n unit: rawData.unit,\n measure: rawData.measure,\n referencedToken: null\n };\n }\n constructFontToken(rawData, properties, values) {\n let value = this.constructFontValue(rawData.data.value);\n return new SDKFontToken_1.FontToken(this.version, rawData, value, null, properties, values);\n }\n constructFontValue(rawData) {\n return {\n family: rawData.family,\n subfamily: rawData.subfamily,\n referencedToken: null\n };\n }\n constructGradientToken(rawData, properties, values) {\n let value = this.constructGradientTokenValue(rawData.data.value);\n return new SDKGradientToken_1.GradientToken(this.version, rawData, value, null, properties, values);\n }\n constructGradientTokenValue(rawData) {\n let value = {\n to: rawData.to,\n from: rawData.from,\n type: rawData.type,\n aspectRatio: rawData.aspectRatio,\n stops: this.constructGradientStops(rawData.stops),\n referencedToken: null\n };\n return value;\n }\n constructGradientStops(rawData) {\n return rawData.map(stop => {\n return {\n position: stop.position,\n color: this.resolveReferencedColorTokenValue(stop.color),\n referencedToken: null\n };\n });\n }\n constructRadiusToken(rawData, properties, values) {\n let value = this.constructRadiusTokenValue(rawData.data.value);\n return new SDKRadiusToken_1.RadiusToken(this.version, rawData, value, null, properties, values);\n }\n constructRadiusTokenValue(rawData) {\n let value = {\n radius: this.resolveReferencedMeasureTokenValue(rawData.radius),\n topLeft: rawData.topLeft ? this.resolveReferencedMeasureTokenValue(rawData.topLeft) : null,\n topRight: rawData.topRight ? this.resolveReferencedMeasureTokenValue(rawData.topRight) : null,\n bottomLeft: rawData.bottomLeft ? this.resolveReferencedMeasureTokenValue(rawData.bottomLeft) : null,\n bottomRight: rawData.bottomRight ? this.resolveReferencedMeasureTokenValue(rawData.bottomRight) : null,\n referencedToken: null\n };\n return value;\n }\n constructShadowToken(rawData, properties, values) {\n let value = this.constructShadowTokenValue(rawData.data.value);\n return new SDKShadowToken_1.ShadowToken(this.version, rawData, value, null, properties, values);\n }\n constructShadowTokenValue(rawData) {\n let value = {\n color: this.resolveReferencedColorTokenValue(rawData.color),\n x: this.resolveReferencedMeasureTokenValue(rawData.x),\n y: this.resolveReferencedMeasureTokenValue(rawData.y),\n radius: this.resolveReferencedMeasureTokenValue(rawData.radius),\n spread: this.resolveReferencedMeasureTokenValue(rawData.spread),\n opacity: rawData.opacity,\n type: rawData.type,\n referencedToken: null\n };\n return value;\n }\n constructBorderToken(rawData, properties, values) {\n let value = this.constructBorderTokenValue(rawData.data.value);\n return new SDKBorderToken_1.BorderToken(this.version, rawData, value, null, properties, values);\n }\n constructBorderTokenValue(rawData) {\n let value = {\n color: this.resolveReferencedColorTokenValue(rawData.color),\n width: this.resolveReferencedMeasureTokenValue(rawData.width),\n position: rawData.position,\n referencedToken: null\n };\n return value;\n }\n constructTypographyToken(rawData, properties, values) {\n let value = this.constructTypographyTokenValue(rawData.data.value);\n return new SDKTypographyToken_1.TypographyToken(this.version, rawData, value, null, properties, values);\n }\n constructTypographyTokenValue(rawData) {\n let value = {\n font: this.resolveReferencedFontTokenValue(rawData.font),\n fontSize: this.resolveReferencedMeasureTokenValue(rawData.fontSize),\n textDecoration: rawData.textDecoration,\n textCase: rawData.textCase,\n letterSpacing: this.resolveReferencedMeasureTokenValue(rawData.letterSpacing),\n lineHeight: rawData.lineHeight ? this.resolveReferencedMeasureTokenValue(rawData.lineHeight) : null,\n paragraphIndent: this.resolveReferencedMeasureTokenValue(rawData.paragraphIndent),\n paragraphSpacing: this.resolveReferencedMeasureTokenValue(rawData.paragraphSpacing),\n referencedToken: null\n };\n return value;\n }\n constructBlurToken(rawData, properties, values) {\n let value = this.constructBlurTokenValue(rawData.data.value);\n return new SDKBlurToken_1.BlurToken(this.version, rawData, value, null, properties, values);\n }\n constructBlurTokenValue(rawData) {\n let value = {\n type: rawData.type,\n radius: this.resolveReferencedMeasureTokenValue(rawData.radius),\n referencedToken: null\n };\n return value;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token value resolution\n /** Resolve token color value - meaning we are not creating new tokens, and require raw tokens to be already present */\n resolveReferencedColorTokenValue(token) {\n var _a;\n if (token.aliasTo) {\n const resolved = ((_a = this.resolvedOverrides.get(token.aliasTo)) !== null && _a !== void 0 ? _a : this.resolvedTokens.get(token.aliasTo));\n return Object.assign(Object.assign({}, resolved.value), { referencedToken: resolved });\n }\n else {\n return this.constructColorValue(token.value);\n }\n }\n /** Resolve token measure value - meaning we are not creating new tokens, and require raw tokens to be already present */\n resolveReferencedMeasureTokenValue(token) {\n var _a;\n if (token.aliasTo) {\n const resolved = ((_a = this.resolvedOverrides.get(token.aliasTo)) !== null && _a !== void 0 ? _a : this.resolvedTokens.get(token.aliasTo));\n return Object.assign(Object.assign({}, resolved.value), { referencedToken: resolved });\n }\n else {\n return this.constructMeasureValue(token.value);\n }\n }\n /** Resolve token font value - meaning we are not creating new tokens, and require raw tokens to be already present */\n resolveReferencedFontTokenValue(token) {\n var _a;\n if (token.aliasTo) {\n const resolved = ((_a = this.resolvedOverrides.get(token.aliasTo)) !== null && _a !== void 0 ? _a : this.resolvedTokens.get(token.aliasTo));\n return Object.assign(Object.assign({}, resolved.value), { referencedToken: resolved });\n }\n else {\n return this.constructFontValue(token.value);\n }\n }\n}\nexports.TokenResolver = TokenResolver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockShortcuts = exports.DocumentationPageBlockShortcutType = exports.DocumentationPageBlockShortcut = exports.DocumentationPageBlockRenderCode = exports.DocumentationPageBlockQuote = exports.DocumentationPageOrderedList = exports.DocumentationPageBlockImage = exports.DocumentationPageBlockHeading = exports.DocumentationPageBlockFrames = exports.DocumentationPageBlockFrame = exports.DocumentationPageBlockEmbedYoutube = exports.DocumentationPageBlockEmbedStorybook = exports.DocumentationPageBlockEmbedLink = exports.DocumentationPageBlockEmbedGeneric = exports.DocumentationPageBlockEmbedFigma = exports.DocumentationPageBlockDivider = exports.DocumentationPageBlockCustom = exports.DocumentationPageBlockCode = exports.DocumentationPageBlockCallout = exports.DocumentationPageBlockAssets = exports.DocumentationPageBlockAsset = exports.Documentation = exports.DesignComponent = exports.ElementDataViewColumnBasePropertyType = exports.ElementDataViewColumn = exports.ElementDataView = exports.ElementPropertyOption = exports.ElementPropertyType = exports.ElementPropertyTargetElementType = exports.ElementPropertyLinkElementType = exports.ElementProperty = exports.Component = exports.RenderedAsset = exports.Asset = exports.ExporterConfigurationPropertyType = exports.ExporterConfigurationPropertyInputType = exports.ExporterConfigurationProperty = exports.ExporterCustomBlockVariant = exports.ExporterCustomBlockPropertyInputType = exports.ExporterCustomBlockPropertyType = exports.ExporterCustomBlockProperty = exports.ExporterCustomBlockMode = exports.ExporterCustomBlock = exports.Exporter = exports.User = exports.Workspace = exports.DesignSystemVersion = exports.DesignSystem = exports.Brand = exports.Supernova = void 0;\nexports.DesignComponentOrigin = exports.Unit = exports.TokenType = exports.TextDecoration = exports.TextCase = exports.ShadowType = exports.RichTextSpanAttributeType = exports.GradientType = exports.FrameLayout = exports.FrameAlignment = exports.DocumentationPageBlockThemeType = exports.DocumentationPageBlockType = exports.DocumentationPageAssetType = exports.DocumentationItemType = exports.DocumentationHeadingType = exports.DocumentationGroupBehavior = exports.DocumentationCalloutType = exports.BorderPosition = exports.BlurType = exports.AssetScaleType = exports.AssetScale = exports.AssetFormat = exports.Alignment = exports.TokenGroup = exports.DesignComponentGroup = exports.AssetGroup = exports.RichTextSpanAttribute = exports.RichTextSpan = exports.DocumentationRichText = exports.DocumentationPageAsset = exports.DocumentationPageBlock = exports.DocumentationPage = exports.DocumentationItem = exports.DocumentationGroup = exports.DocumentationConfiguration = exports.DocumentationItemConfiguration = exports.DocumentationItemHeader = exports.DocumentationPageBlockTableColumn = exports.DocumentationPageBlockTableRow = exports.DocumentationPageBlockTableCell = exports.DocumentationPageBlockTable = exports.DocumentationPageBlockTabItem = exports.DocumentationPageBlockTab = exports.DocumentationPageBlockColumnItem = exports.DocumentationPageBlockColumn = exports.DocumentationPageUnorderedList = exports.DocumentationPageBlockTokenList = exports.DocumentationPageBlockTokenGroup = exports.DocumentationPageBlockToken = exports.DocumentationPageBlockText = void 0;\nexports.TokenTransform = exports.MarkdownTransformType = exports.MarkdownTransform = exports.DocSearchResultDataType = exports.DocSearch = exports.SupernovaToolsDesignTokensPlugin = exports.DTPluginToSupernovaMapType = exports.JSONBuilderNamingOption = exports.TokenJSONBuilder = exports.TokenThemeOverride = exports.TokenTheme = exports.Token = exports.TextToken = exports.TypographyToken = exports.ShadowToken = exports.RadiusToken = exports.MeasureToken = exports.GradientToken = exports.GenericToken = exports.FontToken = exports.ColorToken = exports.BorderToken = exports.BlurToken = exports.WorkspaceNPMRegistry = exports.TokenOrigin = exports.Size = exports.Source = void 0;\n// Export main Supernova object\nvar SDKSupernova_1 = require(\"../src/core/SDKSupernova\");\nObject.defineProperty(exports, \"Supernova\", { enumerable: true, get: function () { return SDKSupernova_1.Supernova; } });\n// Export auxiliary objects\nvar SDKBrand_1 = require(\"../src/core/SDKBrand\");\nObject.defineProperty(exports, \"Brand\", { enumerable: true, get: function () { return SDKBrand_1.Brand; } });\nvar SDKDesignSystem_1 = require(\"../src/core/SDKDesignSystem\");\nObject.defineProperty(exports, \"DesignSystem\", { enumerable: true, get: function () { return SDKDesignSystem_1.DesignSystem; } });\nvar SDKDesignSystemVersion_1 = require(\"../src/core/SDKDesignSystemVersion\");\nObject.defineProperty(exports, \"DesignSystemVersion\", { enumerable: true, get: function () { return SDKDesignSystemVersion_1.DesignSystemVersion; } });\nvar SDKWorkspace_1 = require(\"../src/core/SDKWorkspace\");\nObject.defineProperty(exports, \"Workspace\", { enumerable: true, get: function () { return SDKWorkspace_1.Workspace; } });\nvar SDKUser_1 = require(\"../src/model/users/SDKUser\");\nObject.defineProperty(exports, \"User\", { enumerable: true, get: function () { return SDKUser_1.User; } });\n// Exporters\nvar SDKExporter_1 = require(\"../src/model/exporters/SDKExporter\");\nObject.defineProperty(exports, \"Exporter\", { enumerable: true, get: function () { return SDKExporter_1.Exporter; } });\n// Exporter / Documentation behavior customization\nvar SDKExporterCustomBlock_1 = require(\"./model/exporters/custom_blocks/SDKExporterCustomBlock\");\nObject.defineProperty(exports, \"ExporterCustomBlock\", { enumerable: true, get: function () { return SDKExporterCustomBlock_1.ExporterCustomBlock; } });\nObject.defineProperty(exports, \"ExporterCustomBlockMode\", { enumerable: true, get: function () { return SDKExporterCustomBlock_1.ExporterCustomBlockMode; } });\nvar SDKExporterCustomBlockProperty_1 = require(\"./model/exporters/custom_blocks/SDKExporterCustomBlockProperty\");\nObject.defineProperty(exports, \"ExporterCustomBlockProperty\", { enumerable: true, get: function () { return SDKExporterCustomBlockProperty_1.ExporterCustomBlockProperty; } });\nObject.defineProperty(exports, \"ExporterCustomBlockPropertyType\", { enumerable: true, get: function () { return SDKExporterCustomBlockProperty_1.ExporterCustomBlockPropertyType; } });\nObject.defineProperty(exports, \"ExporterCustomBlockPropertyInputType\", { enumerable: true, get: function () { return SDKExporterCustomBlockProperty_1.ExporterCustomBlockPropertyInputType; } });\nvar SDKExporterCustomBlockVariant_1 = require(\"../src/model/exporters/custom_blocks/SDKExporterCustomBlockVariant\");\nObject.defineProperty(exports, \"ExporterCustomBlockVariant\", { enumerable: true, get: function () { return SDKExporterCustomBlockVariant_1.ExporterCustomBlockVariant; } });\nvar SDKExporterConfigurationProperty_1 = require(\"../src/model/exporters/custom_properties/SDKExporterConfigurationProperty\");\nObject.defineProperty(exports, \"ExporterConfigurationProperty\", { enumerable: true, get: function () { return SDKExporterConfigurationProperty_1.ExporterConfigurationProperty; } });\nObject.defineProperty(exports, \"ExporterConfigurationPropertyInputType\", { enumerable: true, get: function () { return SDKExporterConfigurationProperty_1.ExporterConfigurationPropertyInputType; } });\nObject.defineProperty(exports, \"ExporterConfigurationPropertyType\", { enumerable: true, get: function () { return SDKExporterConfigurationProperty_1.ExporterConfigurationPropertyType; } });\n// Assets\nvar SDKAsset_1 = require(\"../src/model/assets/SDKAsset\");\nObject.defineProperty(exports, \"Asset\", { enumerable: true, get: function () { return SDKAsset_1.Asset; } });\nvar SDKRenderedAsset_1 = require(\"../src/model/assets/SDKRenderedAsset\");\nObject.defineProperty(exports, \"RenderedAsset\", { enumerable: true, get: function () { return SDKRenderedAsset_1.RenderedAsset; } });\n// Components\nvar SDKComponent_1 = require(\"../src/model/components/SDKComponent\");\nObject.defineProperty(exports, \"Component\", { enumerable: true, get: function () { return SDKComponent_1.Component; } });\nvar SDKElementProperty_1 = require(\"./model/elements/SDKElementProperty\");\nObject.defineProperty(exports, \"ElementProperty\", { enumerable: true, get: function () { return SDKElementProperty_1.ElementProperty; } });\nObject.defineProperty(exports, \"ElementPropertyLinkElementType\", { enumerable: true, get: function () { return SDKElementProperty_1.ElementPropertyLinkElementType; } });\nObject.defineProperty(exports, \"ElementPropertyTargetElementType\", { enumerable: true, get: function () { return SDKElementProperty_1.ElementPropertyTargetElementType; } });\nObject.defineProperty(exports, \"ElementPropertyType\", { enumerable: true, get: function () { return SDKElementProperty_1.ElementPropertyType; } });\nvar SDKElementPropertyOption_1 = require(\"../src/model/elements/SDKElementPropertyOption\");\nObject.defineProperty(exports, \"ElementPropertyOption\", { enumerable: true, get: function () { return SDKElementPropertyOption_1.ElementPropertyOption; } });\nvar SDKElementDataView_1 = require(\"../src/model/elements/SDKElementDataView\");\nObject.defineProperty(exports, \"ElementDataView\", { enumerable: true, get: function () { return SDKElementDataView_1.ElementDataView; } });\nvar SDKElementDataViewColumn_1 = require(\"../src/model/elements/SDKElementDataViewColumn\");\nObject.defineProperty(exports, \"ElementDataViewColumn\", { enumerable: true, get: function () { return SDKElementDataViewColumn_1.ElementDataViewColumn; } });\nObject.defineProperty(exports, \"ElementDataViewColumnBasePropertyType\", { enumerable: true, get: function () { return SDKElementDataViewColumn_1.ElementDataViewColumnBasePropertyType; } });\n// Design Components\nvar SDKDesignComponent_1 = require(\"../src/model/components/SDKDesignComponent\");\nObject.defineProperty(exports, \"DesignComponent\", { enumerable: true, get: function () { return SDKDesignComponent_1.DesignComponent; } });\n// Documentation / Core\nvar SDKDocumentation_1 = require(\"../src/core/SDKDocumentation\");\nObject.defineProperty(exports, \"Documentation\", { enumerable: true, get: function () { return SDKDocumentation_1.Documentation; } });\n// Documentation / Blocks\nvar SDKDocumentationPageBlockAsset_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockAsset\");\nObject.defineProperty(exports, \"DocumentationPageBlockAsset\", { enumerable: true, get: function () { return SDKDocumentationPageBlockAsset_1.DocumentationPageBlockAsset; } });\nvar SDKDocumentationPageBlockAssets_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockAssets\");\nObject.defineProperty(exports, \"DocumentationPageBlockAssets\", { enumerable: true, get: function () { return SDKDocumentationPageBlockAssets_1.DocumentationPageBlockAssets; } });\nvar SDKDocumentationPageBlockCallout_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockCallout\");\nObject.defineProperty(exports, \"DocumentationPageBlockCallout\", { enumerable: true, get: function () { return SDKDocumentationPageBlockCallout_1.DocumentationPageBlockCallout; } });\nvar SDKDocumentationPageBlockCode_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockCode\");\nObject.defineProperty(exports, \"DocumentationPageBlockCode\", { enumerable: true, get: function () { return SDKDocumentationPageBlockCode_1.DocumentationPageBlockCode; } });\nvar SDKDocumentationPageBlockCustom_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockCustom\");\nObject.defineProperty(exports, \"DocumentationPageBlockCustom\", { enumerable: true, get: function () { return SDKDocumentationPageBlockCustom_1.DocumentationPageBlockCustom; } });\nvar SDKDocumentationPageBlockDivider_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockDivider\");\nObject.defineProperty(exports, \"DocumentationPageBlockDivider\", { enumerable: true, get: function () { return SDKDocumentationPageBlockDivider_1.DocumentationPageBlockDivider; } });\nvar SDKDocumentationPageBlockEmbedFigma_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockEmbedFigma\");\nObject.defineProperty(exports, \"DocumentationPageBlockEmbedFigma\", { enumerable: true, get: function () { return SDKDocumentationPageBlockEmbedFigma_1.DocumentationPageBlockEmbedFigma; } });\nvar SDKDocumentationPageBlockEmbedGeneric_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockEmbedGeneric\");\nObject.defineProperty(exports, \"DocumentationPageBlockEmbedGeneric\", { enumerable: true, get: function () { return SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric; } });\nvar SDKDocumentationPageBlockEmbedLink_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockEmbedLink\");\nObject.defineProperty(exports, \"DocumentationPageBlockEmbedLink\", { enumerable: true, get: function () { return SDKDocumentationPageBlockEmbedLink_1.DocumentationPageBlockEmbedLink; } });\nvar SDKDocumentationPageBlockEmbedStorybook_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockEmbedStorybook\");\nObject.defineProperty(exports, \"DocumentationPageBlockEmbedStorybook\", { enumerable: true, get: function () { return SDKDocumentationPageBlockEmbedStorybook_1.DocumentationPageBlockEmbedStorybook; } });\nvar SDKDocumentationPageBlockEmbedYoutube_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockEmbedYoutube\");\nObject.defineProperty(exports, \"DocumentationPageBlockEmbedYoutube\", { enumerable: true, get: function () { return SDKDocumentationPageBlockEmbedYoutube_1.DocumentationPageBlockEmbedYoutube; } });\nvar SDKDocumentationPageBlockFrame_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockFrame\");\nObject.defineProperty(exports, \"DocumentationPageBlockFrame\", { enumerable: true, get: function () { return SDKDocumentationPageBlockFrame_1.DocumentationPageBlockFrame; } });\nvar SDKDocumentationPageBlockFrames_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockFrames\");\nObject.defineProperty(exports, \"DocumentationPageBlockFrames\", { enumerable: true, get: function () { return SDKDocumentationPageBlockFrames_1.DocumentationPageBlockFrames; } });\nvar SDKDocumentationPageBlockHeading_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockHeading\");\nObject.defineProperty(exports, \"DocumentationPageBlockHeading\", { enumerable: true, get: function () { return SDKDocumentationPageBlockHeading_1.DocumentationPageBlockHeading; } });\nvar SDKDocumentationPageBlockImage_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockImage\");\nObject.defineProperty(exports, \"DocumentationPageBlockImage\", { enumerable: true, get: function () { return SDKDocumentationPageBlockImage_1.DocumentationPageBlockImage; } });\nvar SDKDocumentationPageBlockOrderedList_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockOrderedList\");\nObject.defineProperty(exports, \"DocumentationPageOrderedList\", { enumerable: true, get: function () { return SDKDocumentationPageBlockOrderedList_1.DocumentationPageOrderedList; } });\nvar SDKDocumentationPageBlockQuote_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockQuote\");\nObject.defineProperty(exports, \"DocumentationPageBlockQuote\", { enumerable: true, get: function () { return SDKDocumentationPageBlockQuote_1.DocumentationPageBlockQuote; } });\nvar SDKDocumentationPageBlockRenderCode_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockRenderCode\");\nObject.defineProperty(exports, \"DocumentationPageBlockRenderCode\", { enumerable: true, get: function () { return SDKDocumentationPageBlockRenderCode_1.DocumentationPageBlockRenderCode; } });\nvar SDKDocumentationPageBlockShortcut_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockShortcut\");\nObject.defineProperty(exports, \"DocumentationPageBlockShortcut\", { enumerable: true, get: function () { return SDKDocumentationPageBlockShortcut_1.DocumentationPageBlockShortcut; } });\nObject.defineProperty(exports, \"DocumentationPageBlockShortcutType\", { enumerable: true, get: function () { return SDKDocumentationPageBlockShortcut_1.DocumentationPageBlockShortcutType; } });\nvar SDKDocumentationPageBlockShortcuts_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockShortcuts\");\nObject.defineProperty(exports, \"DocumentationPageBlockShortcuts\", { enumerable: true, get: function () { return SDKDocumentationPageBlockShortcuts_1.DocumentationPageBlockShortcuts; } });\nvar SDKDocumentationPageBlockText_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockText\");\nObject.defineProperty(exports, \"DocumentationPageBlockText\", { enumerable: true, get: function () { return SDKDocumentationPageBlockText_1.DocumentationPageBlockText; } });\nvar SDKDocumentationPageBlockToken_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockToken\");\nObject.defineProperty(exports, \"DocumentationPageBlockToken\", { enumerable: true, get: function () { return SDKDocumentationPageBlockToken_1.DocumentationPageBlockToken; } });\nvar SDKDocumentationPageBlockTokenGroup_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTokenGroup\");\nObject.defineProperty(exports, \"DocumentationPageBlockTokenGroup\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTokenGroup_1.DocumentationPageBlockTokenGroup; } });\nvar SDKDocumentationPageBlockTokenList_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTokenList\");\nObject.defineProperty(exports, \"DocumentationPageBlockTokenList\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTokenList_1.DocumentationPageBlockTokenList; } });\nvar SDKDocumentationPageBlockUnorderedList_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockUnorderedList\");\nObject.defineProperty(exports, \"DocumentationPageUnorderedList\", { enumerable: true, get: function () { return SDKDocumentationPageBlockUnorderedList_1.DocumentationPageUnorderedList; } });\nvar SDKDocumentationPageBlockColumn_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockColumn\");\nObject.defineProperty(exports, \"DocumentationPageBlockColumn\", { enumerable: true, get: function () { return SDKDocumentationPageBlockColumn_1.DocumentationPageBlockColumn; } });\nvar SDKDocumentationPageBlockColumnItem_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockColumnItem\");\nObject.defineProperty(exports, \"DocumentationPageBlockColumnItem\", { enumerable: true, get: function () { return SDKDocumentationPageBlockColumnItem_1.DocumentationPageBlockColumnItem; } });\nvar SDKDocumentationPageBlockTab_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTab\");\nObject.defineProperty(exports, \"DocumentationPageBlockTab\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTab_1.DocumentationPageBlockTab; } });\nvar SDKDocumentationPageBlockTabItem_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTabItem\");\nObject.defineProperty(exports, \"DocumentationPageBlockTabItem\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTabItem_1.DocumentationPageBlockTabItem; } });\nvar SDKDocumentationPageBlockTable_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTable\");\nObject.defineProperty(exports, \"DocumentationPageBlockTable\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTable_1.DocumentationPageBlockTable; } });\nvar SDKDocumentationPageBlockTableCell_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTableCell\");\nObject.defineProperty(exports, \"DocumentationPageBlockTableCell\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTableCell_1.DocumentationPageBlockTableCell; } });\nvar SDKDocumentationPageBlockTableRow_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTableRow\");\nObject.defineProperty(exports, \"DocumentationPageBlockTableRow\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTableRow_1.DocumentationPageBlockTableRow; } });\nvar SDKDocumentationPageBlockTableColumn_1 = require(\"../src/model/documentation/blocks/SDKDocumentationPageBlockTableColumn\");\nObject.defineProperty(exports, \"DocumentationPageBlockTableColumn\", { enumerable: true, get: function () { return SDKDocumentationPageBlockTableColumn_1.DocumentationPageBlockTableColumn; } });\n// Documentation / Item Partials\nvar SDKDocumentationItemHeader_1 = require(\"../src/model/documentation/configuration/SDKDocumentationItemHeader\");\nObject.defineProperty(exports, \"DocumentationItemHeader\", { enumerable: true, get: function () { return SDKDocumentationItemHeader_1.DocumentationItemHeader; } });\nvar SDKDocumentationItemConfiguration_1 = require(\"../src/model/documentation/configuration/SDKDocumentationItemConfiguration\");\nObject.defineProperty(exports, \"DocumentationItemConfiguration\", { enumerable: true, get: function () { return SDKDocumentationItemConfiguration_1.DocumentationItemConfiguration; } });\n// Documentation / Main\nvar SDKDocumentationConfiguration_1 = require(\"../src/model/documentation/SDKDocumentationConfiguration\");\nObject.defineProperty(exports, \"DocumentationConfiguration\", { enumerable: true, get: function () { return SDKDocumentationConfiguration_1.DocumentationConfiguration; } });\nvar SDKDocumentationGroup_1 = require(\"../src/model/documentation/SDKDocumentationGroup\");\nObject.defineProperty(exports, \"DocumentationGroup\", { enumerable: true, get: function () { return SDKDocumentationGroup_1.DocumentationGroup; } });\nvar SDKDocumentationItem_1 = require(\"../src/model/documentation/SDKDocumentationItem\");\nObject.defineProperty(exports, \"DocumentationItem\", { enumerable: true, get: function () { return SDKDocumentationItem_1.DocumentationItem; } });\nvar SDKDocumentationPage_1 = require(\"../src/model/documentation/SDKDocumentationPage\");\nObject.defineProperty(exports, \"DocumentationPage\", { enumerable: true, get: function () { return SDKDocumentationPage_1.DocumentationPage; } });\nvar SDKDocumentationPageBlock_1 = require(\"../src/model/documentation/SDKDocumentationPageBlock\");\nObject.defineProperty(exports, \"DocumentationPageBlock\", { enumerable: true, get: function () { return SDKDocumentationPageBlock_1.DocumentationPageBlock; } });\nvar SDKDocumentationPageAsset_1 = require(\"../src/model/documentation/SDKDocumentationPageAsset\");\nObject.defineProperty(exports, \"DocumentationPageAsset\", { enumerable: true, get: function () { return SDKDocumentationPageAsset_1.DocumentationPageAsset; } });\nvar SDKDocumentationRichText_1 = require(\"../src/model/documentation/SDKDocumentationRichText\");\nObject.defineProperty(exports, \"DocumentationRichText\", { enumerable: true, get: function () { return SDKDocumentationRichText_1.DocumentationRichText; } });\nvar SDKDocumentationRichTextSpan_1 = require(\"../src/model/documentation/SDKDocumentationRichTextSpan\");\nObject.defineProperty(exports, \"RichTextSpan\", { enumerable: true, get: function () { return SDKDocumentationRichTextSpan_1.RichTextSpan; } });\nvar SDKDocumentationRichTextSpanAttribute_1 = require(\"../src/model/documentation/SDKDocumentationRichTextSpanAttribute\");\nObject.defineProperty(exports, \"RichTextSpanAttribute\", { enumerable: true, get: function () { return SDKDocumentationRichTextSpanAttribute_1.RichTextSpanAttribute; } });\n// Groups\nvar SDKAssetGroup_1 = require(\"../src/model/groups/SDKAssetGroup\");\nObject.defineProperty(exports, \"AssetGroup\", { enumerable: true, get: function () { return SDKAssetGroup_1.AssetGroup; } });\nvar SDKDesignComponentGroup_1 = require(\"../src/model/groups/SDKDesignComponentGroup\");\nObject.defineProperty(exports, \"DesignComponentGroup\", { enumerable: true, get: function () { return SDKDesignComponentGroup_1.DesignComponentGroup; } });\nvar SDKTokenGroup_1 = require(\"../src/model/groups/SDKTokenGroup\");\nObject.defineProperty(exports, \"TokenGroup\", { enumerable: true, get: function () { return SDKTokenGroup_1.TokenGroup; } });\n// Enums\nvar SDKAlignment_1 = require(\"../src/model/enums/SDKAlignment\");\nObject.defineProperty(exports, \"Alignment\", { enumerable: true, get: function () { return SDKAlignment_1.Alignment; } });\nvar SDKAssetFormat_1 = require(\"../src/model/enums/SDKAssetFormat\");\nObject.defineProperty(exports, \"AssetFormat\", { enumerable: true, get: function () { return SDKAssetFormat_1.AssetFormat; } });\nvar SDKAssetScale_1 = require(\"../src/model/enums/SDKAssetScale\");\nObject.defineProperty(exports, \"AssetScale\", { enumerable: true, get: function () { return SDKAssetScale_1.AssetScale; } });\nvar SDKAssetScaleType_1 = require(\"../src/model/enums/SDKAssetScaleType\");\nObject.defineProperty(exports, \"AssetScaleType\", { enumerable: true, get: function () { return SDKAssetScaleType_1.AssetScaleType; } });\nvar SDKBlurType_1 = require(\"../src/model/enums/SDKBlurType\");\nObject.defineProperty(exports, \"BlurType\", { enumerable: true, get: function () { return SDKBlurType_1.BlurType; } });\nvar SDKBorderPosition_1 = require(\"../src/model/enums/SDKBorderPosition\");\nObject.defineProperty(exports, \"BorderPosition\", { enumerable: true, get: function () { return SDKBorderPosition_1.BorderPosition; } });\nvar SDKDocumentationCalloutType_1 = require(\"../src/model/enums/SDKDocumentationCalloutType\");\nObject.defineProperty(exports, \"DocumentationCalloutType\", { enumerable: true, get: function () { return SDKDocumentationCalloutType_1.DocumentationCalloutType; } });\nvar SDKDocumentationGroupBehavior_1 = require(\"../src/model/enums/SDKDocumentationGroupBehavior\");\nObject.defineProperty(exports, \"DocumentationGroupBehavior\", { enumerable: true, get: function () { return SDKDocumentationGroupBehavior_1.DocumentationGroupBehavior; } });\nvar SDKDocumentationHeadingType_1 = require(\"../src/model/enums/SDKDocumentationHeadingType\");\nObject.defineProperty(exports, \"DocumentationHeadingType\", { enumerable: true, get: function () { return SDKDocumentationHeadingType_1.DocumentationHeadingType; } });\nvar SDKDocumentationItemType_1 = require(\"../src/model/enums/SDKDocumentationItemType\");\nObject.defineProperty(exports, \"DocumentationItemType\", { enumerable: true, get: function () { return SDKDocumentationItemType_1.DocumentationItemType; } });\nvar SDKDocumentationPageAssetType_1 = require(\"../src/model/enums/SDKDocumentationPageAssetType\");\nObject.defineProperty(exports, \"DocumentationPageAssetType\", { enumerable: true, get: function () { return SDKDocumentationPageAssetType_1.DocumentationPageAssetType; } });\nvar SDKDocumentationPageBlockType_1 = require(\"../src/model/enums/SDKDocumentationPageBlockType\");\nObject.defineProperty(exports, \"DocumentationPageBlockType\", { enumerable: true, get: function () { return SDKDocumentationPageBlockType_1.DocumentationPageBlockType; } });\nvar SDKDocumentationPageBlockThemeType_1 = require(\"./model/enums/SDKDocumentationPageBlockThemeType\");\nObject.defineProperty(exports, \"DocumentationPageBlockThemeType\", { enumerable: true, get: function () { return SDKDocumentationPageBlockThemeType_1.DocumentationPageBlockThemeType; } });\nvar SDKFrameAlignment_1 = require(\"../src/model/enums/SDKFrameAlignment\");\nObject.defineProperty(exports, \"FrameAlignment\", { enumerable: true, get: function () { return SDKFrameAlignment_1.FrameAlignment; } });\nvar SDKFrameLayout_1 = require(\"../src/model/enums/SDKFrameLayout\");\nObject.defineProperty(exports, \"FrameLayout\", { enumerable: true, get: function () { return SDKFrameLayout_1.FrameLayout; } });\nvar SDKGradientType_1 = require(\"../src/model/enums/SDKGradientType\");\nObject.defineProperty(exports, \"GradientType\", { enumerable: true, get: function () { return SDKGradientType_1.GradientType; } });\nvar SDKRichTextSpanAttributeType_1 = require(\"../src/model/enums/SDKRichTextSpanAttributeType\");\nObject.defineProperty(exports, \"RichTextSpanAttributeType\", { enumerable: true, get: function () { return SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType; } });\nvar SDKShadowType_1 = require(\"../src/model/enums/SDKShadowType\");\nObject.defineProperty(exports, \"ShadowType\", { enumerable: true, get: function () { return SDKShadowType_1.ShadowType; } });\nvar SDKTextCase_1 = require(\"../src/model/enums/SDKTextCase\");\nObject.defineProperty(exports, \"TextCase\", { enumerable: true, get: function () { return SDKTextCase_1.TextCase; } });\nvar SDKTextDecoration_1 = require(\"../src/model/enums/SDKTextDecoration\");\nObject.defineProperty(exports, \"TextDecoration\", { enumerable: true, get: function () { return SDKTextDecoration_1.TextDecoration; } });\nvar SDKTokenType_1 = require(\"../src/model/enums/SDKTokenType\");\nObject.defineProperty(exports, \"TokenType\", { enumerable: true, get: function () { return SDKTokenType_1.TokenType; } });\nvar SDKUnit_1 = require(\"../src/model/enums/SDKUnit\");\nObject.defineProperty(exports, \"Unit\", { enumerable: true, get: function () { return SDKUnit_1.Unit; } });\n// Supporting objects\nvar SDKDesignComponentOrigin_1 = require(\"../src/model/support/SDKDesignComponentOrigin\");\nObject.defineProperty(exports, \"DesignComponentOrigin\", { enumerable: true, get: function () { return SDKDesignComponentOrigin_1.DesignComponentOrigin; } });\nvar SDKSource_1 = require(\"../src/model/support/SDKSource\");\nObject.defineProperty(exports, \"Source\", { enumerable: true, get: function () { return SDKSource_1.Source; } });\nvar SDKSize_1 = require(\"../src/model/support/SDKSize\");\nObject.defineProperty(exports, \"Size\", { enumerable: true, get: function () { return SDKSize_1.Size; } });\nvar SDKTokenOrigin_1 = require(\"../src/model/support/SDKTokenOrigin\");\nObject.defineProperty(exports, \"TokenOrigin\", { enumerable: true, get: function () { return SDKTokenOrigin_1.TokenOrigin; } });\nvar SDKWorkspaceNPMRegistry_1 = require(\"../src/model/support/SDKWorkspaceNPMRegistry\");\nObject.defineProperty(exports, \"WorkspaceNPMRegistry\", { enumerable: true, get: function () { return SDKWorkspaceNPMRegistry_1.WorkspaceNPMRegistry; } });\n// Tokens\nvar SDKBlurToken_1 = require(\"../src/model/tokens/SDKBlurToken\");\nObject.defineProperty(exports, \"BlurToken\", { enumerable: true, get: function () { return SDKBlurToken_1.BlurToken; } });\nvar SDKBorderToken_1 = require(\"../src/model/tokens/SDKBorderToken\");\nObject.defineProperty(exports, \"BorderToken\", { enumerable: true, get: function () { return SDKBorderToken_1.BorderToken; } });\nvar SDKColorToken_1 = require(\"../src/model/tokens/SDKColorToken\");\nObject.defineProperty(exports, \"ColorToken\", { enumerable: true, get: function () { return SDKColorToken_1.ColorToken; } });\nvar SDKFontToken_1 = require(\"../src/model/tokens/SDKFontToken\");\nObject.defineProperty(exports, \"FontToken\", { enumerable: true, get: function () { return SDKFontToken_1.FontToken; } });\nvar SDKGenericToken_1 = require(\"../src/model/tokens/SDKGenericToken\");\nObject.defineProperty(exports, \"GenericToken\", { enumerable: true, get: function () { return SDKGenericToken_1.GenericToken; } });\nvar SDKGradientToken_1 = require(\"../src/model/tokens/SDKGradientToken\");\nObject.defineProperty(exports, \"GradientToken\", { enumerable: true, get: function () { return SDKGradientToken_1.GradientToken; } });\nvar SDKMeasureToken_1 = require(\"../src/model/tokens/SDKMeasureToken\");\nObject.defineProperty(exports, \"MeasureToken\", { enumerable: true, get: function () { return SDKMeasureToken_1.MeasureToken; } });\nvar SDKRadiusToken_1 = require(\"../src/model/tokens/SDKRadiusToken\");\nObject.defineProperty(exports, \"RadiusToken\", { enumerable: true, get: function () { return SDKRadiusToken_1.RadiusToken; } });\nvar SDKShadowToken_1 = require(\"../src/model/tokens/SDKShadowToken\");\nObject.defineProperty(exports, \"ShadowToken\", { enumerable: true, get: function () { return SDKShadowToken_1.ShadowToken; } });\nvar SDKTypographyToken_1 = require(\"../src/model/tokens/SDKTypographyToken\");\nObject.defineProperty(exports, \"TypographyToken\", { enumerable: true, get: function () { return SDKTypographyToken_1.TypographyToken; } });\nvar SDKTextToken_1 = require(\"../src/model/tokens/SDKTextToken\");\nObject.defineProperty(exports, \"TextToken\", { enumerable: true, get: function () { return SDKTextToken_1.TextToken; } });\nvar SDKToken_1 = require(\"../src/model/tokens/SDKToken\");\nObject.defineProperty(exports, \"Token\", { enumerable: true, get: function () { return SDKToken_1.Token; } });\n// Themes\nvar SDKTokenTheme_1 = require(\"./model/themes/SDKTokenTheme\");\nObject.defineProperty(exports, \"TokenTheme\", { enumerable: true, get: function () { return SDKTokenTheme_1.TokenTheme; } });\nvar SDKTokenThemeOverride_1 = require(\"./model/themes/SDKTokenThemeOverride\");\nObject.defineProperty(exports, \"TokenThemeOverride\", { enumerable: true, get: function () { return SDKTokenThemeOverride_1.TokenThemeOverride; } });\n// Tooling\nvar SDKToolsJSONBuilder_1 = require(\"./tools/json-builder/SDKToolsJSONBuilder\");\nObject.defineProperty(exports, \"TokenJSONBuilder\", { enumerable: true, get: function () { return SDKToolsJSONBuilder_1.TokenJSONBuilder; } });\nObject.defineProperty(exports, \"JSONBuilderNamingOption\", { enumerable: true, get: function () { return SDKToolsJSONBuilder_1.JSONBuilderNamingOption; } });\nvar SDKDTMapLoader_1 = require(\"../src/tools/design-tokens/utilities/SDKDTMapLoader\");\nObject.defineProperty(exports, \"DTPluginToSupernovaMapType\", { enumerable: true, get: function () { return SDKDTMapLoader_1.DTPluginToSupernovaMapType; } });\nvar SDKToolsDesignTokensPlugin_1 = require(\"../src/tools/design-tokens/SDKToolsDesignTokensPlugin\");\nObject.defineProperty(exports, \"SupernovaToolsDesignTokensPlugin\", { enumerable: true, get: function () { return SDKToolsDesignTokensPlugin_1.SupernovaToolsDesignTokensPlugin; } });\nvar SDKToolsDocSearch_1 = require(\"../src/tools/search-index/SDKToolsDocSearch\");\nObject.defineProperty(exports, \"DocSearch\", { enumerable: true, get: function () { return SDKToolsDocSearch_1.DocSearch; } });\nObject.defineProperty(exports, \"DocSearchResultDataType\", { enumerable: true, get: function () { return SDKToolsDocSearch_1.DocSearchResultDataType; } });\nvar SDKToolsMarkdownTransform_1 = require(\"../src/tools/markdown-transform/SDKToolsMarkdownTransform\");\nObject.defineProperty(exports, \"MarkdownTransform\", { enumerable: true, get: function () { return SDKToolsMarkdownTransform_1.MarkdownTransform; } });\nObject.defineProperty(exports, \"MarkdownTransformType\", { enumerable: true, get: function () { return SDKToolsMarkdownTransform_1.MarkdownTransformType; } });\nvar SDKToolsTokenTransform_1 = require(\"../src/tools/token-transform/SDKToolsTokenTransform\");\nObject.defineProperty(exports, \"TokenTransform\", { enumerable: true, get: function () { return SDKToolsTokenTransform_1.TokenTransform; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./exports\"), exports);\n","\"use strict\";\n//\n// Supernova SDK\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Asset = void 0;\nconst SDKDesignComponentOrigin_1 = require(\"../support/SDKDesignComponentOrigin\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Asset {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, duplicates, sources) {\n var _a, _b;\n this.id = model.persistentId;\n this.brandId = model.brandId;\n this.thumbnailUrl = (_a = model.thumbnailUrl) !== null && _a !== void 0 ? _a : null;\n this.svgUrl = (_b = model.svgUrl) !== null && _b !== void 0 ? _b : null;\n this.previouslyDuplicatedNames = duplicates;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.componentId = model.id;\n this.origin = new SDKDesignComponentOrigin_1.DesignComponentOrigin(model.originComponent, sources);\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n}\nexports.Asset = Asset;\n","\"use strict\";\n//\n// Supernova SDK\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RenderedAsset = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass RenderedAsset {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, asset, group, duplicates) {\n this.assetId = model.assetId;\n this.fileName = model.fileName;\n this.sourceUrl = model.sourceUrl;\n this.originalName = model.originalName;\n this.asset = asset;\n this.group = group;\n this.scale = model.settings.scale;\n this.format = model.settings.format;\n this.previouslyDuplicatedNames = duplicates;\n }\n}\nexports.RenderedAsset = RenderedAsset;\n","\"use strict\";\n//\n// SDKComponent.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Component = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Component {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, properties, propertyValues) {\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.designSystemVersionId = model.designSystemVersionId;\n this.brandId = model.brandId;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.properties = properties;\n this.propertyValues = {};\n for (let value of propertyValues) {\n if (value.targetElementId === this.persistentId) {\n // Property value refers to this element\n for (let property of properties) {\n if (property.persistentId === value.definitionId) {\n // Property value refers to the correct property, we get codeName from it and add it to quick-access\n this.propertyValues[property.codeName] = value.value;\n }\n }\n }\n }\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n}\nexports.Component = Component;\n","\"use strict\";\n//\n// SDKDesignComponent.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignComponent = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDesignComponentOrigin_1 = require(\"../support/SDKDesignComponentOrigin\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DesignComponent {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, sources) {\n var _a, _b;\n this.id = model.persistentId;\n this.brandId = model.brandId;\n this.thumbnailUrl = (_a = model.thumbnailUrl) !== null && _a !== void 0 ? _a : null;\n this.svgUrl = (_b = model.svgUrl) !== null && _b !== void 0 ? _b : null;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.origin = new SDKDesignComponentOrigin_1.DesignComponentOrigin(model.originComponent, sources);\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n}\nexports.DesignComponent = DesignComponent;\n","\"use strict\";\n//\n// SDKDocumentationConfiguration.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationConfiguration = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationConfiguration {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, registry) {\n var _a, _b;\n this.tabbedNavigation = model.tabbed;\n this.storybookError = (_a = model.storybookEmbedErrorMessage) !== null && _a !== void 0 ? _a : null;\n this.packageJson = (_b = model.renderCodePackageJson) !== null && _b !== void 0 ? _b : null;\n this.npmRegistry = registry !== null && registry !== void 0 ? registry : null;\n }\n}\nexports.DocumentationConfiguration = DocumentationConfiguration;\n","\"use strict\";\n//\n// SDKDocumentationGroup.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationGroup = void 0;\nconst SDKDocumentationItemType_1 = require(\"../enums/SDKDocumentationItemType\");\nconst SDKDocumentationItem_1 = require(\"./SDKDocumentationItem\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationGroup extends SDKDocumentationItem_1.DocumentationItem {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n super(model);\n this.isRoot = model.isRoot;\n this.childrenIds = model.childrenIds;\n this.children = new Array();\n this.groupBehavior = model.groupBehavior;\n this.relativeFirstPageUrl = null;\n this.deployedFirstPageUrl = null;\n }\n /** Children filtered to be only groups */\n get subgroups() {\n return this.children.filter(c => c.type === SDKDocumentationItemType_1.DocumentationItemType.group);\n }\n /** Children filtered to be only pages */\n get pages() {\n return this.children.filter(c => c.type === SDKDocumentationItemType_1.DocumentationItemType.page);\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n addChild(item) {\n this.children.push(item);\n }\n addChildren(groups) {\n this.children = this.children.concat(groups);\n }\n setParent(parent) {\n this.parent = parent !== null && parent !== void 0 ? parent : null;\n }\n /** Internal: Modifies object with new paths. Don't use outside SDK environment as it doesn't propagate the data back to source */\n internalOverridePaths(relative, deployed) {\n this.relativeFirstPageUrl = relative;\n this.deployedFirstPageUrl = deployed;\n }\n /** Retrieve relative page path without the associated domain for the first page in the group. Will work even when documentation was not yet deployed */\n relativeDocsPageUrl() {\n return this.relativeFirstPageUrl;\n }\n /** Retrieve page url for the first page in the group, if the documentation was already deployed (either default or custom domain) */\n deployedDocsPageUrl() {\n return this.deployedFirstPageUrl;\n }\n}\nexports.DocumentationGroup = DocumentationGroup;\n","\"use strict\";\n//\n// DocumentationItem.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationItem = void 0;\nconst SDKDocumentationItemConfiguration_1 = require(\"./configuration/SDKDocumentationItemConfiguration\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationItem {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a;\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.shortPersistentId = model.shortPersistentId;\n this.type = model.type;\n this.configuration = new SDKDocumentationItemConfiguration_1.DocumentationItemConfiguration(model.configuration);\n this.slug = model.slug;\n this.userSlug = (_a = model.userSlug) !== null && _a !== void 0 ? _a : null;\n this.title = model.title;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n}\nexports.DocumentationItem = DocumentationItem;\n","\"use strict\";\n//\n// DocumentationPage.ts\n// SDKSupernova\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPage = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDocumentationBlockBuilder_1 = require(\"./builder/SDKDocumentationBlockBuilder\");\nconst SDKDocumentationItem_1 = require(\"./SDKDocumentationItem\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPage extends SDKDocumentationItem_1.DocumentationItem {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model);\n if (model.blocks) {\n this.blocks = model.blocks.map(b => SDKDocumentationBlockBuilder_1.DocumentationBlockBuilder.fromGenericModel(b, customBlocks, configuration));\n }\n this.deployedUrl = null;\n this.relativeUrl = model.path;\n this.editorUrl = null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n /** Internal: Modifies object with new paths. Don't use outside SDK environment as it doesn't propagate the data back to source */\n internalOverridePaths(deployed, editor) {\n this.editorUrl = editor;\n this.deployedUrl = deployed;\n }\n /** Internal: Sets new parent. Used when manipulating with object internally. Don't use outside SDK environment */\n setParent(parent) {\n this.parent = parent;\n }\n /** Retrieve editor page URL that can be opened */\n editorPageUrl() {\n return this.editorUrl;\n }\n /** Retrieve documentation page URL, if the documentation was already deployed (either default or custom domain) */\n deployedPageUrl() {\n return this.deployedUrl;\n }\n /** Retrieve relative page path without the associated domain. Will work even when documentation was not yet deployed */\n relativePageUrl() {\n return this.relativeUrl;\n }\n}\nexports.DocumentationPage = DocumentationPage;\n","\"use strict\";\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageAsset = void 0;\nconst SDKDocumentationPageBlockFrame_1 = require(\"./blocks/SDKDocumentationPageBlockFrame\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageAsset {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a;\n this.id = model.id;\n this.url = (_a = model.url) !== null && _a !== void 0 ? _a : null;\n this.type = model.type;\n this.frame = model.figmaFrame ? new SDKDocumentationPageBlockFrame_1.DocumentationPageBlockFrame(model.figmaFrame, null) : null;\n }\n}\nexports.DocumentationPageAsset = DocumentationPageAsset;\n","\"use strict\";\n//\n// SDKDocumentationPageBlock.ts\n// Supernova \n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlock = void 0;\nconst SDKDocumentationBlockBuilder_1 = require(\"./builder/SDKDocumentationBlockBuilder\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c;\n this.id = model.persistentId;\n // Map children. Children that are not supported by the data model natively should be ignored\n this.children = ((_a = model.children) !== null && _a !== void 0 ? _a : []).map(c => SDKDocumentationBlockBuilder_1.DocumentationBlockBuilder.fromGenericModel(c, customBlocks, configuration)).filter(c => c !== undefined);\n this.type = model.type;\n this.beginsTypeChain = true; // Will be computed by resolver\n this.endsTypeChain = true; // Will be computed by resolver\n this.theme = model.theme ? model.theme : null;\n this.variantKey = (_b = model.variantKey) !== null && _b !== void 0 ? _b : null;\n this.blacklistedElementProperties = (_c = model.blacklistedElementProperties) !== null && _c !== void 0 ? _c : null;\n if (model.userMetadata) {\n this.userMetadata = JSON.parse(model.userMetadata);\n }\n else {\n this.userMetadata = null;\n }\n }\n}\nexports.DocumentationPageBlock = DocumentationPageBlock;\n","\"use strict\";\n//\n// DocumentationRichText.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationRichText = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDocumentationRichTextSpan_1 = require(\"./SDKDocumentationRichTextSpan\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationRichText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.spans = model.spans.map(s => new SDKDocumentationRichTextSpan_1.RichTextSpan(s));\n }\n /** Convert rich text into plain text, omitting any formatting */\n asPlainText() {\n return this.spans.map(s => s.text).join(\"\");\n }\n}\nexports.DocumentationRichText = DocumentationRichText;\n","\"use strict\";\n//\n// SDKRichTextSpan.ts\n// Supernova \n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RichTextSpan = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDocumentationRichTextSpanAttribute_1 = require(\"./SDKDocumentationRichTextSpanAttribute\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass RichTextSpan {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.text = model.text;\n this.attributes = model.attributes.map(a => new SDKDocumentationRichTextSpanAttribute_1.RichTextSpanAttribute(a));\n }\n}\nexports.RichTextSpan = RichTextSpan;\n","\"use strict\";\n//\n// SDKRichTextSpanAttribute.ts\n// Supernova \n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RichTextSpanAttribute = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass RichTextSpanAttribute {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b;\n this.type = model.type;\n this.link = (_a = model.link) !== null && _a !== void 0 ? _a : null;\n if (model.hasOwnProperty(\"openInNewWindow\")) {\n this.openInNewWindow = model.openInNewWindow;\n }\n else {\n this.openInNewWindow = false;\n }\n this.documentationItemId = (_b = model.documentationItemId) !== null && _b !== void 0 ? _b : null;\n }\n}\nexports.RichTextSpanAttribute = RichTextSpanAttribute;\n","\"use strict\";\n//\n// SDKDocumentationPageBlockAsset.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockAsset = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockAsset {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, blockBackgroundColor) {\n var _a, _b, _c, _d;\n this.assetId = model.componentAssetId;\n this.title = ((_a = model.title) === null || _a === void 0 ? void 0 : _a.length) > 0 ? model.title : null;\n this.description = ((_b = model.description) === null || _b === void 0 ? void 0 : _b.length) > 0 ? model.description : null;\n this.backgroundColor = (_d = (_c = model.backgroundColor) !== null && _c !== void 0 ? _c : blockBackgroundColor) !== null && _d !== void 0 ? _d : null;\n }\n}\nexports.DocumentationPageBlockAsset = DocumentationPageBlockAsset;\n","\"use strict\";\n//\n// SDKDocumentationPageBlockAssets.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockAssets = void 0;\nconst SDKFrameAlignment_1 = require(\"../../enums/SDKFrameAlignment\");\nconst SDKFrameLayout_1 = require(\"../../enums/SDKFrameLayout\");\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationPageBlockAsset_1 = require(\"./SDKDocumentationPageBlockAsset\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockAssets extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d, _e, _f;\n super(model, customBlocks, configuration);\n let color = (_b = (_a = model.figmaFrameProperties) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : null;\n this.properties = {\n backgroundColor: color,\n alignment: (_d = (_c = model.figmaFrameProperties) === null || _c === void 0 ? void 0 : _c.alignment) !== null && _d !== void 0 ? _d : SDKFrameAlignment_1.FrameAlignment.center,\n layout: (_f = (_e = model.figmaFrameProperties) === null || _e === void 0 ? void 0 : _e.layout) !== null && _f !== void 0 ? _f : SDKFrameLayout_1.FrameLayout.c4\n };\n this.assets = model.componentAssets.map(f => new SDKDocumentationPageBlockAsset_1.DocumentationPageBlockAsset(f, color));\n }\n}\nexports.DocumentationPageBlockAssets = DocumentationPageBlockAssets;\n","\"use strict\";\n//\n// DocumentationPageBlockCallout.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockCallout = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockCallout extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.calloutType = model.calloutType;\n }\n}\nexports.DocumentationPageBlockCallout = DocumentationPageBlockCallout;\n","\"use strict\";\n//\n// DocumentationPageBlockCode.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockCode = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockCode extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b;\n super(model, customBlocks, configuration);\n this.codeLanguage = (_a = model.codeLanguage) !== null && _a !== void 0 ? _a : null;\n this.caption = (_b = model.caption) !== null && _b !== void 0 ? _b : null;\n }\n}\nexports.DocumentationPageBlockCode = DocumentationPageBlockCode;\n","\"use strict\";\n//\n// DocumentationPageBlockColumn.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockColumn = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockColumn extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockColumn = DocumentationPageBlockColumn;\n","\"use strict\";\n//\n// DocumentationPageBlockColumnItem.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockColumnItem = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockColumnItem extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.width = model.width;\n }\n}\nexports.DocumentationPageBlockColumnItem = DocumentationPageBlockColumnItem;\n","\"use strict\";\n//\n// DocumentationPageBlockCustom.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockCustom = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockCustom extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d, _e, _f;\n super(model, customBlocks, configuration);\n this.key = model.customBlockKey;\n // Attach custom block\n this.block = null;\n for (let customBlock of customBlocks) {\n if (customBlock.key === model.customBlockKey) {\n this.block = customBlock;\n }\n }\n // If there is no block attached, it means the block was removed - ignore the payload resolution\n if (!this.block) {\n this.properties = {};\n return;\n }\n // With proper custom block found, add default values for properties first\n let properties = {};\n for (let property of this.block.properties) {\n properties[property.key] = property.default;\n }\n // Add overrides\n for (let property of model.customBlockProperties) {\n properties[property.key] = property.value;\n // Deprecated. Old image asset type for backward compatibility\n if (((_a = property.value) === null || _a === void 0 ? void 0 : _a.asset) || ((_b = property.value) === null || _b === void 0 ? void 0 : _b.asset) === null) {\n property.value.assetId = (_d = (_c = property.value.asset) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : null;\n property.value.assetUrl = (_f = (_e = property.value.asset) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : null;\n }\n }\n this.properties = properties;\n }\n}\nexports.DocumentationPageBlockCustom = DocumentationPageBlockCustom;\n","\"use strict\";\n//\n// DocumentationPageBlockDivider.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockDivider = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockDivider extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockDivider = DocumentationPageBlockDivider;\n","\"use strict\";\n//\n// DocumentationPageBlockEmbedFigma.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockEmbedFigma = void 0;\nconst SDKDocumentationPageBlockEmbedGeneric_1 = require(\"./SDKDocumentationPageBlockEmbedGeneric\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockEmbedFigma extends SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockEmbedFigma = DocumentationPageBlockEmbedFigma;\n","\"use strict\";\n//\n// DocumentationPageBlockEmbedGeneric.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockEmbedGeneric = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKSize_1 = require(\"../../support/SDKSize\");\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockEmbedGeneric extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c;\n super(model, customBlocks, configuration);\n this.url = (_a = model.url) !== null && _a !== void 0 ? _a : null;\n this.size = new SDKSize_1.Size((_b = model.size) !== null && _b !== void 0 ? _b : null);\n this.caption = (_c = model.caption) !== null && _c !== void 0 ? _c : null;\n }\n}\nexports.DocumentationPageBlockEmbedGeneric = DocumentationPageBlockEmbedGeneric;\n","\"use strict\";\n//\n// DocumentationPageBlockEmbedLink.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockEmbedLink = void 0;\nconst SDKDocumentationPageBlockEmbedGeneric_1 = require(\"./SDKDocumentationPageBlockEmbedGeneric\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockEmbedLink extends SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d, _e, _f;\n super(model, customBlocks, configuration);\n this.title = (_b = (_a = model.urlPreview) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : null;\n this.description = (_d = (_c = model.urlPreview) === null || _c === void 0 ? void 0 : _c.description) !== null && _d !== void 0 ? _d : null;\n this.thumbnailUrl = (_f = (_e = model.urlPreview) === null || _e === void 0 ? void 0 : _e.thumbnailUrl) !== null && _f !== void 0 ? _f : null;\n }\n}\nexports.DocumentationPageBlockEmbedLink = DocumentationPageBlockEmbedLink;\n","\"use strict\";\n//\n// DocumentationPageBlockEmbedStorybook.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockEmbedStorybook = void 0;\nconst SDKDocumentationPageBlockEmbedGeneric_1 = require(\"./SDKDocumentationPageBlockEmbedGeneric\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockEmbedStorybook extends SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockEmbedStorybook = DocumentationPageBlockEmbedStorybook;\n","\"use strict\";\n//\n// DocumentationPageBlockEmbedYoutube.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockEmbedYoutube = void 0;\nconst SDKDocumentationPageBlockEmbedGeneric_1 = require(\"./SDKDocumentationPageBlockEmbedGeneric\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockEmbedYoutube extends SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockEmbedYoutube = DocumentationPageBlockEmbedYoutube;\n","\"use strict\";\n//\n// DocumentationPageBlockFrame.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockFrame = void 0;\nconst SDKFrameOrigin_1 = require(\"../../support/SDKFrameOrigin\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockFrame {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, blockBackgroundColor) {\n var _a, _b, _c;\n this.title = model.title.length > 0 ? model.title : (_a = model.origin.title) !== null && _a !== void 0 ? _a : null;\n this.description = model.description.length > 0 ? model.description : null;\n this.previewUrl = model.origin.previewUrl;\n this.backgroundColor = (_c = (_b = model.backgroundColor) !== null && _b !== void 0 ? _b : blockBackgroundColor) !== null && _c !== void 0 ? _c : null;\n this.origin = model.origin ? new SDKFrameOrigin_1.FrameOrigin(model.origin, model.sourceId, model.sourceFrameId) : null;\n }\n}\nexports.DocumentationPageBlockFrame = DocumentationPageBlockFrame;\n","\"use strict\";\n//\n// DocumentationPageBlockFrames.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockFrames = void 0;\nconst SDKFrameAlignment_1 = require(\"../../enums/SDKFrameAlignment\");\nconst SDKFrameLayout_1 = require(\"../../enums/SDKFrameLayout\");\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationPageBlockFrame_1 = require(\"./SDKDocumentationPageBlockFrame\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockFrames extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d, _e, _f;\n super(model, customBlocks, configuration);\n let color = (_b = (_a = model.figmaFrameProperties) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : null;\n this.properties = {\n backgroundColor: color,\n showTitles: model.figmaFrameProperties.showTitles,\n alignment: (_d = (_c = model.figmaFrameProperties) === null || _c === void 0 ? void 0 : _c.alignment) !== null && _d !== void 0 ? _d : SDKFrameAlignment_1.FrameAlignment.center,\n layout: (_f = (_e = model.figmaFrameProperties) === null || _e === void 0 ? void 0 : _e.layout) !== null && _f !== void 0 ? _f : SDKFrameLayout_1.FrameLayout.c4\n };\n this.frames = model.figmaFrames.map(f => new SDKDocumentationPageBlockFrame_1.DocumentationPageBlockFrame(f, color));\n }\n}\nexports.DocumentationPageBlockFrames = DocumentationPageBlockFrames;\n","\"use strict\";\n//\n// DocumentationPageBlockHeading.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockHeading = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockHeading extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.headingType = model.headingType;\n }\n}\nexports.DocumentationPageBlockHeading = DocumentationPageBlockHeading;\n","\"use strict\";\n//\n// DocumentationPageBlockImage.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockImage = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationPageAsset_1 = require(\"../SDKDocumentationPageAsset\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockImage extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d, _e;\n super(model, customBlocks, configuration);\n this.url = (_c = (_a = model.assetUrl) !== null && _a !== void 0 ? _a : (_b = model.asset) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : null;\n this.asset = ((_d = model.asset) === null || _d === void 0 ? void 0 : _d.id) ? new SDKDocumentationPageAsset_1.DocumentationPageAsset(model.asset) : null;\n this.caption = (_e = model.caption) !== null && _e !== void 0 ? _e : null;\n this.alignment = model.alignment;\n }\n}\nexports.DocumentationPageBlockImage = DocumentationPageBlockImage;\n","\"use strict\";\n//\n// DocumentationPageOrderedListModel.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageOrderedList = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageOrderedList extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageOrderedList = DocumentationPageOrderedList;\n","\"use strict\";\n//\n// DocumentationPageBlockQuote.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockQuote = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockQuote extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockQuote = DocumentationPageBlockQuote;\n","\"use strict\";\n//\n// DocumentationPageBlockRenderCode.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockRenderCode = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst abab_1 = require(\"abab\");\nconst SDKAlignment_1 = require(\"../../enums/SDKAlignment\");\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nvar DocumentationPageBlockRenderCodeSandboxAlignment;\n(function (DocumentationPageBlockRenderCodeSandboxAlignment) {\n DocumentationPageBlockRenderCodeSandboxAlignment[\"start\"] = \"start\";\n DocumentationPageBlockRenderCodeSandboxAlignment[\"center\"] = \"center\";\n DocumentationPageBlockRenderCodeSandboxAlignment[\"end\"] = \"end\";\n})(DocumentationPageBlockRenderCodeSandboxAlignment || (DocumentationPageBlockRenderCodeSandboxAlignment = {}));\nvar DocumentationPageBlockRenderCodeEnvironmentType;\n(function (DocumentationPageBlockRenderCodeEnvironmentType) {\n DocumentationPageBlockRenderCodeEnvironmentType[\"react\"] = \"react\";\n})(DocumentationPageBlockRenderCodeEnvironmentType || (DocumentationPageBlockRenderCodeEnvironmentType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockRenderCode extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n var _a, _b, _c, _d;\n super(model, customBlocks, configuration);\n this.alignment = model.alignment;\n this.backgroundColor = (_b = (_a = model.backgroundColor) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;\n this.showCode = model.renderCodeProperties.showCode;\n this.height = (_d = (_c = model.size) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : null;\n this.code = model.text.spans.map(s => s.text).join(\"\");\n this.packageJSON = configuration.packageJson;\n this.sandboxData = this.encodeSandboxData(configuration);\n this.sandboxType = DocumentationPageBlockRenderCodeEnvironmentType.react;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Sandbox data encoding\n encodeSandboxData(configuration) {\n var _a, _b;\n let localAlignment;\n switch (this.alignment) {\n case SDKAlignment_1.Alignment.center:\n localAlignment = DocumentationPageBlockRenderCodeSandboxAlignment.center;\n break;\n default:\n localAlignment = DocumentationPageBlockRenderCodeSandboxAlignment.start;\n break;\n }\n let definition = {\n type: DocumentationPageBlockRenderCodeEnvironmentType.react,\n code: this.code,\n packageJSON: configuration.packageJson,\n visual: {\n forcedHeight: this.height,\n horizontalAlignment: localAlignment,\n verticalAlignment: DocumentationPageBlockRenderCodeSandboxAlignment.center,\n backgroundHex: (_a = this.backgroundColor) !== null && _a !== void 0 ? _a : null\n },\n registry: (_b = configuration.npmRegistry) !== null && _b !== void 0 ? _b : null\n };\n return this.btoaUnicode(JSON.stringify(definition));\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Data decoding unicode support\n // Encoding UTF8 ⇢ base64\n btoaUnicode(str) {\n return abab_1.btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode(parseInt(p1, 16));\n }));\n }\n // Decoding base64 ⇢ UTF8\n atobUnicode(str) {\n return decodeURIComponent(Array.prototype.map.call(atob(str), function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n}\nexports.DocumentationPageBlockRenderCode = DocumentationPageBlockRenderCode;\n","\"use strict\";\n//\n// DocumentationPageBlockShortcut.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockShortcut = exports.DocumentationPageBlockShortcutType = void 0;\nvar DocumentationPageBlockShortcutType;\n(function (DocumentationPageBlockShortcutType) {\n DocumentationPageBlockShortcutType[\"external\"] = \"External\";\n DocumentationPageBlockShortcutType[\"internal\"] = \"Internal\";\n})(DocumentationPageBlockShortcutType = exports.DocumentationPageBlockShortcutType || (exports.DocumentationPageBlockShortcutType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockShortcut {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a;\n // First, configure type of the block properly\n if (model.url) {\n this.type = DocumentationPageBlockShortcutType.external;\n }\n else {\n this.type = DocumentationPageBlockShortcutType.internal;\n }\n // Configure visual block information\n this.title = this.shortcutTitleFromModel(model, this.type);\n this.description = this.shortcutDescriptionFromModel(model, this.type);\n this.previewUrl = this.shortcutPreviewUrlFromModel(model, this.type);\n // Configure linking for pages and group inside documentation\n if (this.type === DocumentationPageBlockShortcutType.internal &&\n ((_a = model.documentationItemPreview) === null || _a === void 0 ? void 0 : _a.valid) &&\n model.documentationItemId) {\n this.internalId = model.documentationItemId;\n }\n else {\n this.internalId = null;\n // Configure for external URLs\n if (this.type === DocumentationPageBlockShortcutType.external && model.url) {\n this.externalUrl = model.url;\n }\n else {\n this.externalUrl = null;\n }\n }\n }\n shortcutTitleFromModel(model, type) {\n var _a, _b, _c, _d, _e;\n let result = null;\n if (model.title && model.title.trim().length > 0) {\n result = model.title;\n }\n else if (type === DocumentationPageBlockShortcutType.internal) {\n result = (_b = (_a = model.documentationItemPreview) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : null;\n }\n else if (type === DocumentationPageBlockShortcutType.external) {\n result = (_e = (_d = (_c = model.urlPreview) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : model.url) !== null && _e !== void 0 ? _e : null;\n }\n if (!result || result.trim().length === 0) {\n return null;\n }\n return result;\n }\n shortcutDescriptionFromModel(model, type) {\n var _a;\n let result = null;\n if (model.description && model.description.trim().length > 0) {\n result = model.description;\n }\n else if (type === DocumentationPageBlockShortcutType.external) {\n result = (_a = model.urlPreview) === null || _a === void 0 ? void 0 : _a.description;\n }\n if (!result || result.trim().length === 0) {\n return null;\n }\n return result;\n }\n shortcutPreviewUrlFromModel(model, type) {\n var _a, _b, _c, _d, _e;\n return (_e = (_c = (_a = model.assetUrl) !== null && _a !== void 0 ? _a : (_b = model.asset) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : (_d = model.urlPreview) === null || _d === void 0 ? void 0 : _d.thumbnailUrl) !== null && _e !== void 0 ? _e : null;\n }\n}\nexports.DocumentationPageBlockShortcut = DocumentationPageBlockShortcut;\n","\"use strict\";\n//\n// DocumentationPageBlockShortcuts.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockShortcuts = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationPageBlockShortcut_1 = require(\"./SDKDocumentationPageBlockShortcut\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockShortcuts extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.shortcuts = model.shortcuts.map(s => new SDKDocumentationPageBlockShortcut_1.DocumentationPageBlockShortcut(s));\n }\n}\nexports.DocumentationPageBlockShortcuts = DocumentationPageBlockShortcuts;\n","\"use strict\";\n//\n// DocumentationPageBlockTab.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTab = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTab extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockTab = DocumentationPageBlockTab;\n","\"use strict\";\n//\n// DocumentationPageBlockTabItem.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTabItem = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTabItem extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.caption = model.caption;\n }\n}\nexports.DocumentationPageBlockTabItem = DocumentationPageBlockTabItem;\n","\"use strict\";\n//\n// DocumentationPageBlockTable.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTable = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationPageBlockTableColumn_1 = require(\"./SDKDocumentationPageBlockTableColumn\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTable extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.tableProperties = {\n showBorders: model.tableProperties.showBorders,\n showHeaderRow: model.tableProperties.showHeaderRow,\n showHeaderColumn: model.tableProperties.showHeaderColumn,\n columns: model.tableProperties.columns.map(c => new SDKDocumentationPageBlockTableColumn_1.DocumentationPageBlockTableColumn(c))\n };\n let order = new Map();\n let index = 0;\n for (let column of this.tableProperties.columns) {\n order.set(column.id, index++);\n }\n for (let block of this.children) {\n let row = block;\n row.children = row.children.sort((a, b) => order.get(a.columnId) - order.get(b.columnId));\n }\n }\n}\nexports.DocumentationPageBlockTable = DocumentationPageBlockTable;\n","\"use strict\";\n//\n// DocumentationPageBlockTableCell.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTableCell = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTableCell extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.columnId = model.columnId;\n this.alignment = model.alignment;\n }\n}\nexports.DocumentationPageBlockTableCell = DocumentationPageBlockTableCell;\n","\"use strict\";\n//\n// DocumentationPageBlockTableColumn.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTableColumn = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTableColumn {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.id = model.id;\n this.width = model.width;\n }\n}\nexports.DocumentationPageBlockTableColumn = DocumentationPageBlockTableColumn;\n","\"use strict\";\n//\n// DocumentationPageBlockTableRow.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTableRow = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTableRow extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageBlockTableRow = DocumentationPageBlockTableRow;\n","\"use strict\";\n//\n// DocumentationPageBlockText.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockText = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\nconst SDKDocumentationRichText_1 = require(\"../SDKDocumentationRichText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockText extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.text = new SDKDocumentationRichText_1.DocumentationRichText(model.text);\n }\n /** Convert block into plain text, omitting any formatting */\n asPlainText() {\n return this.text.asPlainText();\n }\n}\nexports.DocumentationPageBlockText = DocumentationPageBlockText;\n","\"use strict\";\n//\n// DocumentationPageBlockToken.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockToken = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockToken extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.tokenId = model.designObjectId;\n }\n}\nexports.DocumentationPageBlockToken = DocumentationPageBlockToken;\n","\"use strict\";\n//\n// DocumentationPageBlockTokenGroup.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTokenGroup = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTokenGroup extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.groupId = model.designObjectId;\n this.showNestedGroups = model.showNestedGroups;\n }\n}\nexports.DocumentationPageBlockTokenGroup = DocumentationPageBlockTokenGroup;\n","\"use strict\";\n//\n// DocumentationPageBlockTokenList.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockTokenList = void 0;\nconst SDKDocumentationPageBlock_1 = require(\"../SDKDocumentationPageBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageBlockTokenList extends SDKDocumentationPageBlock_1.DocumentationPageBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n this.tokenIds = model.designObjectIds;\n }\n}\nexports.DocumentationPageBlockTokenList = DocumentationPageBlockTokenList;\n","\"use strict\";\n//\n// DocumentationPageUnorderedList.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageUnorderedList = void 0;\nconst SDKDocumentationPageBlockText_1 = require(\"./SDKDocumentationPageBlockText\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationPageUnorderedList extends SDKDocumentationPageBlockText_1.DocumentationPageBlockText {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, customBlocks, configuration) {\n super(model, customBlocks, configuration);\n }\n}\nexports.DocumentationPageUnorderedList = DocumentationPageUnorderedList;\n","\"use strict\";\n//\n// DocumentationPageBlock.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationBlockBuilder = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDocumentationPageBlockType_1 = require(\"../../enums/SDKDocumentationPageBlockType\");\nconst SDKDocumentationPageBlockAssets_1 = require(\"../blocks/SDKDocumentationPageBlockAssets\");\nconst SDKDocumentationPageBlockCallout_1 = require(\"../blocks/SDKDocumentationPageBlockCallout\");\nconst SDKDocumentationPageBlockCode_1 = require(\"../blocks/SDKDocumentationPageBlockCode\");\nconst SDKDocumentationPageBlockColumn_1 = require(\"../blocks/SDKDocumentationPageBlockColumn\");\nconst SDKDocumentationPageBlockColumnItem_1 = require(\"../blocks/SDKDocumentationPageBlockColumnItem\");\nconst SDKDocumentationPageBlockCustom_1 = require(\"../blocks/SDKDocumentationPageBlockCustom\");\nconst SDKDocumentationPageBlockDivider_1 = require(\"../blocks/SDKDocumentationPageBlockDivider\");\nconst SDKDocumentationPageBlockEmbedFigma_1 = require(\"../blocks/SDKDocumentationPageBlockEmbedFigma\");\nconst SDKDocumentationPageBlockEmbedGeneric_1 = require(\"../blocks/SDKDocumentationPageBlockEmbedGeneric\");\nconst SDKDocumentationPageBlockEmbedLink_1 = require(\"../blocks/SDKDocumentationPageBlockEmbedLink\");\nconst SDKDocumentationPageBlockEmbedStorybook_1 = require(\"../blocks/SDKDocumentationPageBlockEmbedStorybook\");\nconst SDKDocumentationPageBlockEmbedYoutube_1 = require(\"../blocks/SDKDocumentationPageBlockEmbedYoutube\");\nconst SDKDocumentationPageBlockFrames_1 = require(\"../blocks/SDKDocumentationPageBlockFrames\");\nconst SDKDocumentationPageBlockHeading_1 = require(\"../blocks/SDKDocumentationPageBlockHeading\");\nconst SDKDocumentationPageBlockImage_1 = require(\"../blocks/SDKDocumentationPageBlockImage\");\nconst SDKDocumentationPageBlockOrderedList_1 = require(\"../blocks/SDKDocumentationPageBlockOrderedList\");\nconst SDKDocumentationPageBlockQuote_1 = require(\"../blocks/SDKDocumentationPageBlockQuote\");\nconst SDKDocumentationPageBlockRenderCode_1 = require(\"../blocks/SDKDocumentationPageBlockRenderCode\");\nconst SDKDocumentationPageBlockShortcuts_1 = require(\"../blocks/SDKDocumentationPageBlockShortcuts\");\nconst SDKDocumentationPageBlockTab_1 = require(\"../blocks/SDKDocumentationPageBlockTab\");\nconst SDKDocumentationPageBlockTabItem_1 = require(\"../blocks/SDKDocumentationPageBlockTabItem\");\nconst SDKDocumentationPageBlockTable_1 = require(\"../blocks/SDKDocumentationPageBlockTable\");\nconst SDKDocumentationPageBlockTableCell_1 = require(\"../blocks/SDKDocumentationPageBlockTableCell\");\nconst SDKDocumentationPageBlockTableRow_1 = require(\"../blocks/SDKDocumentationPageBlockTableRow\");\nconst SDKDocumentationPageBlockText_1 = require(\"../blocks/SDKDocumentationPageBlockText\");\nconst SDKDocumentationPageBlockToken_1 = require(\"../blocks/SDKDocumentationPageBlockToken\");\nconst SDKDocumentationPageBlockTokenGroup_1 = require(\"../blocks/SDKDocumentationPageBlockTokenGroup\");\nconst SDKDocumentationPageBlockTokenList_1 = require(\"../blocks/SDKDocumentationPageBlockTokenList\");\nconst SDKDocumentationPageBlockUnorderedList_1 = require(\"../blocks/SDKDocumentationPageBlockUnorderedList\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationBlockBuilder {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static\n static fromGenericModel(model, customBlocks, configuration) {\n switch (model.type) {\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.text:\n return new SDKDocumentationPageBlockText_1.DocumentationPageBlockText(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.heading:\n return new SDKDocumentationPageBlockHeading_1.DocumentationPageBlockHeading(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.code:\n return new SDKDocumentationPageBlockCode_1.DocumentationPageBlockCode(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.unorderedList:\n return new SDKDocumentationPageBlockUnorderedList_1.DocumentationPageUnorderedList(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.orderedList:\n return new SDKDocumentationPageBlockOrderedList_1.DocumentationPageOrderedList(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.quote:\n return new SDKDocumentationPageBlockQuote_1.DocumentationPageBlockQuote(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.callout:\n return new SDKDocumentationPageBlockCallout_1.DocumentationPageBlockCallout(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.divider:\n return new SDKDocumentationPageBlockDivider_1.DocumentationPageBlockDivider(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.image:\n return new SDKDocumentationPageBlockImage_1.DocumentationPageBlockImage(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.link:\n return new SDKDocumentationPageBlockEmbedLink_1.DocumentationPageBlockEmbedLink(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.token:\n return new SDKDocumentationPageBlockToken_1.DocumentationPageBlockToken(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tokenGroup:\n return new SDKDocumentationPageBlockTokenGroup_1.DocumentationPageBlockTokenGroup(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tokenList:\n return new SDKDocumentationPageBlockTokenList_1.DocumentationPageBlockTokenList(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.shortcuts:\n return new SDKDocumentationPageBlockShortcuts_1.DocumentationPageBlockShortcuts(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.figmaEmbed:\n return new SDKDocumentationPageBlockEmbedFigma_1.DocumentationPageBlockEmbedFigma(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.youtubeEmbed:\n return new SDKDocumentationPageBlockEmbedYoutube_1.DocumentationPageBlockEmbedYoutube(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.storybookEmbed:\n return new SDKDocumentationPageBlockEmbedStorybook_1.DocumentationPageBlockEmbedStorybook(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.genericEmbed:\n return new SDKDocumentationPageBlockEmbedGeneric_1.DocumentationPageBlockEmbedGeneric(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.figmaFrames:\n return new SDKDocumentationPageBlockFrames_1.DocumentationPageBlockFrames(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.componentAssets:\n return new SDKDocumentationPageBlockAssets_1.DocumentationPageBlockAssets(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.custom:\n return new SDKDocumentationPageBlockCustom_1.DocumentationPageBlockCustom(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.renderCode:\n return new SDKDocumentationPageBlockRenderCode_1.DocumentationPageBlockRenderCode(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.column:\n return new SDKDocumentationPageBlockColumn_1.DocumentationPageBlockColumn(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.columnItem:\n return new SDKDocumentationPageBlockColumnItem_1.DocumentationPageBlockColumnItem(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tabs:\n return new SDKDocumentationPageBlockTab_1.DocumentationPageBlockTab(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tabItem:\n return new SDKDocumentationPageBlockTabItem_1.DocumentationPageBlockTabItem(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.table:\n return new SDKDocumentationPageBlockTable_1.DocumentationPageBlockTable(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tableCell:\n return new SDKDocumentationPageBlockTableCell_1.DocumentationPageBlockTableCell(model, customBlocks, configuration);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tableRow:\n return new SDKDocumentationPageBlockTableRow_1.DocumentationPageBlockTableRow(model, customBlocks, configuration);\n default:\n throw new Error(`Unsupported native documentation block type ${model.type}, please add core definition of the block`);\n }\n }\n}\nexports.DocumentationBlockBuilder = DocumentationBlockBuilder;\n","\"use strict\";\n//\n// DocumentationItemConfiguration.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationItemConfiguration = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKDocumentationItemHeader_1 = require(\"./SDKDocumentationItemHeader\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationItemConfiguration {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.header = new SDKDocumentationItemHeader_1.DocumentationItemHeader(model.header);\n this.showSidebar = model.showSidebar;\n }\n}\nexports.DocumentationItemConfiguration = DocumentationItemConfiguration;\n","\"use strict\";\n//\n// SDKDocumentationItemHeader.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationItemHeader = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DocumentationItemHeader {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n this.backgroundImageAssetUrl = (_c = (_a = model.backgroundImageAssetUrl) !== null && _a !== void 0 ? _a : (_b = model.backgroundImageAsset) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : null;\n this.backgroundImageAssetId = (_f = (_d = model.backgroundImageAssetId) !== null && _d !== void 0 ? _d : (_e = model.backgroundImageAsset) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : null;\n this.backgroundImageScaleType = model.backgroundImageScaleType;\n this.description = model.description;\n this.alignment = model.alignment;\n this.foregroundColor = (_g = model.foregroundColor) !== null && _g !== void 0 ? _g : null;\n this.backgroundColor = (_h = model.backgroundColor) !== null && _h !== void 0 ? _h : null;\n this.showBackgroundOverlay = model.showBackgroundOverlay;\n this.showCoverText = model.showCoverText;\n this.minHeight = model.minHeight;\n }\n}\nexports.DocumentationItemHeader = DocumentationItemHeader;\n","\"use strict\";\n//\n// ElementDataView.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2023 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementDataView = void 0;\nconst SDKElementDataViewColumn_1 = require(\"./SDKElementDataViewColumn\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ElementDataView {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a;\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.name = model.meta.name;\n this.description = (_a = model.meta.description) !== null && _a !== void 0 ? _a : null;\n this.targetElementType = model.targetElementType;\n this.isDefault = model.isDefault;\n this.columns = model.columns.map(c => new SDKElementDataViewColumn_1.ElementDataViewColumn(c));\n }\n}\nexports.ElementDataView = ElementDataView;\n","\"use strict\";\n//\n// ElementDataViewColumn.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2023 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementDataViewColumn = exports.ElementDataViewColumnBasePropertyType = exports.ElementDataViewColumnType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\nvar ElementDataViewColumnType;\n(function (ElementDataViewColumnType) {\n ElementDataViewColumnType[\"baseProperty\"] = \"BaseProperty\";\n ElementDataViewColumnType[\"propertyDefinition\"] = \"PropertyDefinition\";\n ElementDataViewColumnType[\"theme\"] = \"Theme\";\n})(ElementDataViewColumnType = exports.ElementDataViewColumnType || (exports.ElementDataViewColumnType = {}));\nvar ElementDataViewColumnBasePropertyType;\n(function (ElementDataViewColumnBasePropertyType) {\n ElementDataViewColumnBasePropertyType[\"name\"] = \"Name\";\n ElementDataViewColumnBasePropertyType[\"description\"] = \"Description\";\n ElementDataViewColumnBasePropertyType[\"value\"] = \"Value\";\n ElementDataViewColumnBasePropertyType[\"updatedAt\"] = \"UpdatedAt\";\n})(ElementDataViewColumnBasePropertyType = exports.ElementDataViewColumnBasePropertyType || (exports.ElementDataViewColumnBasePropertyType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ElementDataViewColumn {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b, _c;\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.type = model.type;\n this.basePropertyType = (_a = model.basePropertyType) !== null && _a !== void 0 ? _a : null;\n this.propertyDefinitionId = (_b = model.propertyDefinitionId) !== null && _b !== void 0 ? _b : null;\n this.themeId = (_c = model.themeId) !== null && _c !== void 0 ? _c : null;\n this.width = model.width;\n }\n}\nexports.ElementDataViewColumn = ElementDataViewColumn;\n","\"use strict\";\n//\n// ElementProperty.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementProperty = exports.ElementPropertyLinkElementType = exports.ElementPropertyTargetElementType = exports.ElementPropertyType = void 0;\nconst SDKElementPropertyOption_1 = require(\"./SDKElementPropertyOption\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\nvar ElementPropertyType;\n(function (ElementPropertyType) {\n ElementPropertyType[\"text\"] = \"Text\";\n ElementPropertyType[\"number\"] = \"Number\";\n ElementPropertyType[\"boolean\"] = \"Boolean\";\n ElementPropertyType[\"select\"] = \"Select\";\n ElementPropertyType[\"generic\"] = \"Generic\";\n ElementPropertyType[\"link\"] = \"Link\";\n ElementPropertyType[\"url\"] = \"URL\";\n})(ElementPropertyType = exports.ElementPropertyType || (exports.ElementPropertyType = {}));\nvar ElementPropertyTargetElementType;\n(function (ElementPropertyTargetElementType) {\n ElementPropertyTargetElementType[\"token\"] = \"Token\";\n ElementPropertyTargetElementType[\"component\"] = \"Component\";\n ElementPropertyTargetElementType[\"documentationPage\"] = \"DocumentationPage\";\n})(ElementPropertyTargetElementType = exports.ElementPropertyTargetElementType || (exports.ElementPropertyTargetElementType = {}));\nvar ElementPropertyLinkElementType;\n(function (ElementPropertyLinkElementType) {\n ElementPropertyLinkElementType[\"documentationPage\"] = \"DocumentationPage\";\n ElementPropertyLinkElementType[\"figmaComponent\"] = \"FigmaComponent\";\n})(ElementPropertyLinkElementType = exports.ElementPropertyLinkElementType || (exports.ElementPropertyLinkElementType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ElementProperty {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b;\n this.id = model.id;\n this.persistentId = model.persistentId;\n this.designSystemVersionId = model.designSystemVersionId;\n this.name = model.meta.name;\n this.codeName = model.codeName;\n this.description = (_a = model.meta.description) !== null && _a !== void 0 ? _a : null;\n this.propertyType = model.type;\n this.targetElementType = model.targetElementType;\n this.linkElementType = (_b = model.linkElementType) !== null && _b !== void 0 ? _b : null;\n this.options = model.options ? model.options.map(o => new SDKElementPropertyOption_1.ElementPropertyOption(o)) : null;\n }\n}\nexports.ElementProperty = ElementProperty;\n","\"use strict\";\n//\n// ElementPropertyOption.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementPropertyOption = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ElementPropertyOption {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b;\n this.id = model.id;\n this.name = model.name;\n this.backgroundColor = (_b = (_a = model.backgroundColor) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;\n }\n}\nexports.ElementPropertyOption = ElementPropertyOption;\n","\"use strict\";\n//\n// ElementPropertyValue.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementPropertyValue = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ElementPropertyValue {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.id = model.id;\n this.designSystemVersionId = model.designSystemVersionId;\n if (model.hasOwnProperty(\"value\")) {\n this.value = model.value;\n }\n else {\n this.value = null;\n }\n this.definitionId = model.definitionId;\n this.targetElementId = model.targetElementId;\n }\n}\nexports.ElementPropertyValue = ElementPropertyValue;\n","\"use strict\";\n//\n// SDKAlignment.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Alignment = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar Alignment;\n(function (Alignment) {\n Alignment[\"left\"] = \"Left\";\n Alignment[\"center\"] = \"Center\";\n Alignment[\"stretch\"] = \"Stretch\";\n})(Alignment = exports.Alignment || (exports.Alignment = {}));\n","\"use strict\";\n//\n// SDKAssetFormat.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssetFormat = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar AssetFormat;\n(function (AssetFormat) {\n AssetFormat[\"png\"] = \"png\";\n AssetFormat[\"pdf\"] = \"pdf\";\n AssetFormat[\"svg\"] = \"svg\";\n})(AssetFormat = exports.AssetFormat || (exports.AssetFormat = {}));\n","\"use strict\";\n//\n// SDKAssetScale.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssetScale = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar AssetScale;\n(function (AssetScale) {\n AssetScale[\"x1\"] = \"x1\";\n AssetScale[\"x2\"] = \"x2\";\n AssetScale[\"x3\"] = \"x3\";\n AssetScale[\"x4\"] = \"x4\";\n})(AssetScale = exports.AssetScale || (exports.AssetScale = {}));\n","\"use strict\";\n//\n// SDKAssetScaleType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssetScaleType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar AssetScaleType;\n(function (AssetScaleType) {\n AssetScaleType[\"aspectFill\"] = \"AspectFill\";\n AssetScaleType[\"aspectFit\"] = \"AspectFit\";\n})(AssetScaleType = exports.AssetScaleType || (exports.AssetScaleType = {}));\n","\"use strict\";\n//\n// SDKBlurType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlurType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar BlurType;\n(function (BlurType) {\n BlurType[\"layer\"] = \"Layer\";\n BlurType[\"background\"] = \"Background\";\n})(BlurType = exports.BlurType || (exports.BlurType = {}));\n","\"use strict\";\n//\n// SDKBorderPosition.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BorderPosition = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar BorderPosition;\n(function (BorderPosition) {\n BorderPosition[\"inside\"] = \"Inside\";\n BorderPosition[\"center\"] = \"Center\";\n BorderPosition[\"outside\"] = \"Outside\";\n})(BorderPosition = exports.BorderPosition || (exports.BorderPosition = {}));\n","\"use strict\";\n//\n// SDKDocumentationCalloutType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationCalloutType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationCalloutType;\n(function (DocumentationCalloutType) {\n DocumentationCalloutType[\"info\"] = \"Info\";\n DocumentationCalloutType[\"success\"] = \"Success\";\n DocumentationCalloutType[\"warning\"] = \"Warning\";\n DocumentationCalloutType[\"error\"] = \"Error\";\n})(DocumentationCalloutType = exports.DocumentationCalloutType || (exports.DocumentationCalloutType = {}));\n","\"use strict\";\n//\n// SDKDocumentationGroupBehavior.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationGroupBehavior = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationGroupBehavior;\n(function (DocumentationGroupBehavior) {\n DocumentationGroupBehavior[\"group\"] = \"Group\";\n DocumentationGroupBehavior[\"tabs\"] = \"Tabs\";\n})(DocumentationGroupBehavior = exports.DocumentationGroupBehavior || (exports.DocumentationGroupBehavior = {}));\n","\"use strict\";\n//\n// SDKDocumentationHeadingType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationHeadingType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationHeadingType;\n(function (DocumentationHeadingType) {\n DocumentationHeadingType[DocumentationHeadingType[\"h1\"] = 1] = \"h1\";\n DocumentationHeadingType[DocumentationHeadingType[\"h2\"] = 2] = \"h2\";\n DocumentationHeadingType[DocumentationHeadingType[\"h3\"] = 3] = \"h3\";\n})(DocumentationHeadingType = exports.DocumentationHeadingType || (exports.DocumentationHeadingType = {}));\n","\"use strict\";\n//\n// SDKDocumentationItemType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationItemType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationItemType;\n(function (DocumentationItemType) {\n DocumentationItemType[\"group\"] = \"Group\";\n DocumentationItemType[\"page\"] = \"Page\";\n})(DocumentationItemType = exports.DocumentationItemType || (exports.DocumentationItemType = {}));\n","\"use strict\";\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageAssetType = void 0;\nvar DocumentationPageAssetType;\n(function (DocumentationPageAssetType) {\n DocumentationPageAssetType[\"image\"] = \"image\";\n DocumentationPageAssetType[\"figmaFrame\"] = \"figmaFrame\";\n})(DocumentationPageAssetType = exports.DocumentationPageAssetType || (exports.DocumentationPageAssetType = {}));\n","\"use strict\";\n//\n// DocumentationPageBlockThemeType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockThemeType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationPageBlockThemeType;\n(function (DocumentationPageBlockThemeType) {\n DocumentationPageBlockThemeType[\"override\"] = \"Override\";\n DocumentationPageBlockThemeType[\"comparison\"] = \"Comparison\";\n})(DocumentationPageBlockThemeType = exports.DocumentationPageBlockThemeType || (exports.DocumentationPageBlockThemeType = {}));\n","\"use strict\";\n//\n// SDKDocumentationPageBlockType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentationPageBlockType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar DocumentationPageBlockType;\n(function (DocumentationPageBlockType) {\n DocumentationPageBlockType[\"text\"] = \"Text\";\n DocumentationPageBlockType[\"heading\"] = \"Heading\";\n DocumentationPageBlockType[\"code\"] = \"Code\";\n DocumentationPageBlockType[\"unorderedList\"] = \"UnorderedList\";\n DocumentationPageBlockType[\"orderedList\"] = \"OrderedList\";\n DocumentationPageBlockType[\"quote\"] = \"Quote\";\n DocumentationPageBlockType[\"callout\"] = \"Callout\";\n DocumentationPageBlockType[\"divider\"] = \"Divider\";\n DocumentationPageBlockType[\"image\"] = \"Image\";\n DocumentationPageBlockType[\"token\"] = \"Token\";\n DocumentationPageBlockType[\"tokenList\"] = \"TokenList\";\n DocumentationPageBlockType[\"tokenGroup\"] = \"TokenGroup\";\n DocumentationPageBlockType[\"shortcuts\"] = \"Shortcuts\";\n DocumentationPageBlockType[\"link\"] = \"Link\";\n DocumentationPageBlockType[\"figmaEmbed\"] = \"FigmaEmbed\";\n DocumentationPageBlockType[\"youtubeEmbed\"] = \"YoutubeEmbed\";\n DocumentationPageBlockType[\"storybookEmbed\"] = \"StorybookEmbed\";\n DocumentationPageBlockType[\"genericEmbed\"] = \"Embed\";\n DocumentationPageBlockType[\"figmaFrames\"] = \"FigmaFrames\";\n DocumentationPageBlockType[\"custom\"] = \"Custom\";\n DocumentationPageBlockType[\"renderCode\"] = \"RenderCode\";\n DocumentationPageBlockType[\"componentAssets\"] = \"ComponentAssets\";\n DocumentationPageBlockType[\"column\"] = \"Column\";\n DocumentationPageBlockType[\"columnItem\"] = \"ColumnItem\";\n DocumentationPageBlockType[\"tabs\"] = \"Tabs\";\n DocumentationPageBlockType[\"tabItem\"] = \"TabItem\";\n DocumentationPageBlockType[\"table\"] = \"Table\";\n DocumentationPageBlockType[\"tableCell\"] = \"TableCell\";\n DocumentationPageBlockType[\"tableRow\"] = \"TableRow\";\n})(DocumentationPageBlockType = exports.DocumentationPageBlockType || (exports.DocumentationPageBlockType = {}));\n","\"use strict\";\n//\n// SDKFrameAlignment.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameAlignment = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar FrameAlignment;\n(function (FrameAlignment) {\n FrameAlignment[\"frameHeight\"] = \"FrameHeight\";\n FrameAlignment[\"center\"] = \"Center\";\n})(FrameAlignment = exports.FrameAlignment || (exports.FrameAlignment = {}));\n","\"use strict\";\n//\n// SDKFrameLayout.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameLayout = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar FrameLayout;\n(function (FrameLayout) {\n FrameLayout[\"c8\"] = \"C8\";\n FrameLayout[\"c7\"] = \"C7\";\n FrameLayout[\"c6\"] = \"C6\";\n FrameLayout[\"c5\"] = \"C5\";\n FrameLayout[\"c4\"] = \"C4\";\n FrameLayout[\"c3\"] = \"C3\";\n FrameLayout[\"c2\"] = \"C2\";\n FrameLayout[\"c1\"] = \"C1\";\n FrameLayout[\"c175\"] = \"C1_75\";\n})(FrameLayout = exports.FrameLayout || (exports.FrameLayout = {}));\n","\"use strict\";\n//\n// SDKGradientType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GradientType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar GradientType;\n(function (GradientType) {\n GradientType[\"linear\"] = \"Linear\";\n GradientType[\"radial\"] = \"Radial\";\n GradientType[\"angular\"] = \"Angular\";\n})(GradientType = exports.GradientType || (exports.GradientType = {}));\n","\"use strict\";\n//\n// SDKRichTextSpanAttributeType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RichTextSpanAttributeType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar RichTextSpanAttributeType;\n(function (RichTextSpanAttributeType) {\n RichTextSpanAttributeType[\"bold\"] = \"Bold\";\n RichTextSpanAttributeType[\"italic\"] = \"Italic\";\n RichTextSpanAttributeType[\"link\"] = \"Link\";\n RichTextSpanAttributeType[\"strikethrough\"] = \"Strikethrough\";\n RichTextSpanAttributeType[\"code\"] = \"Code\";\n})(RichTextSpanAttributeType = exports.RichTextSpanAttributeType || (exports.RichTextSpanAttributeType = {}));\n","\"use strict\";\n//\n// SDKShadowType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShadowType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar ShadowType;\n(function (ShadowType) {\n ShadowType[\"drop\"] = \"Drop\";\n ShadowType[\"inner\"] = \"Inner\";\n})(ShadowType = exports.ShadowType || (exports.ShadowType = {}));\n","\"use strict\";\n//\n// SDKSourceType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SourceType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar SourceType;\n(function (SourceType) {\n SourceType[\"figma\"] = \"Figma\";\n SourceType[\"tokenStudio\"] = \"TokenStudio\";\n})(SourceType = exports.SourceType || (exports.SourceType = {}));\n","\"use strict\";\n//\n// SDKTextCase.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextCase = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar TextCase;\n(function (TextCase) {\n TextCase[\"original\"] = \"Original\";\n TextCase[\"upper\"] = \"Upper\";\n TextCase[\"lower\"] = \"Lower\";\n TextCase[\"camel\"] = \"Camel\";\n})(TextCase = exports.TextCase || (exports.TextCase = {}));\n","\"use strict\";\n//\n// SDKTextDecoration.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextDecoration = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Source type enum\nvar TextDecoration;\n(function (TextDecoration) {\n TextDecoration[\"original\"] = \"None\";\n TextDecoration[\"underline\"] = \"Underline\";\n TextDecoration[\"strikethrough\"] = \"Strikethrough\";\n})(TextDecoration = exports.TextDecoration || (exports.TextDecoration = {}));\n","\"use strict\";\n//\n// SDKTokenType.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Token type enum\nvar TokenType;\n(function (TokenType) {\n TokenType[\"color\"] = \"Color\";\n TokenType[\"typography\"] = \"Typography\";\n TokenType[\"radius\"] = \"Radius\";\n TokenType[\"font\"] = \"Font\";\n TokenType[\"measure\"] = \"Measure\";\n TokenType[\"shadow\"] = \"Shadow\";\n TokenType[\"border\"] = \"Border\";\n TokenType[\"gradient\"] = \"Gradient\";\n TokenType[\"text\"] = \"Text\";\n TokenType[\"blur\"] = \"Blur\";\n TokenType[\"generic\"] = \"GenericToken\";\n})(TokenType = exports.TokenType || (exports.TokenType = {}));\n","\"use strict\";\n//\n// SDKUnit.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Unit = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Token type enum\nvar Unit;\n(function (Unit) {\n Unit[\"pixels\"] = \"Pixels\";\n Unit[\"points\"] = \"Points\";\n Unit[\"percent\"] = \"Percent\";\n Unit[\"ems\"] = \"Ems\";\n})(Unit = exports.Unit || (exports.Unit = {}));\n","\"use strict\";\n//\n// SDKExporter.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Exporter = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKExporterCustomBlock_1 = require(\"./custom_blocks/SDKExporterCustomBlock\");\nconst SDKExporterCustomBlockVariant_1 = require(\"./custom_blocks/SDKExporterCustomBlockVariant\");\nconst SDKExporterConfigurationProperty_1 = require(\"./custom_properties/SDKExporterConfigurationProperty\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- -- - --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Exporter {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(data) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n this.id = data.id;\n this.packageId = data.packageId;\n this.isPrivate = data.isPrivate;\n this.isDefaultDocumentationExporter = data.isDefaultDocumentationExporter;\n this.usesBrands = data.usesBrands;\n this.name = data.name;\n this.description = (_a = data.description) !== null && _a !== void 0 ? _a : null;\n this.version = data.version;\n this.author = (_b = data.author) !== null && _b !== void 0 ? _b : null;\n this.organization = (_c = data.organization) !== null && _c !== void 0 ? _c : null;\n this.homepage = (_d = data.homepage) !== null && _d !== void 0 ? _d : null;\n this.readme = (_e = data.readme) !== null && _e !== void 0 ? _e : null;\n this.iconURL = (_f = data.iconURL) !== null && _f !== void 0 ? _f : null;\n this.tags = (_g = data.tags) !== null && _g !== void 0 ? _g : [];\n this.origin = {\n repositoryUrl: data.githubUrl,\n repositoryBranch: (_h = data.githubBranch) !== null && _h !== void 0 ? _h : null,\n repositoryDirectory: (_j = data.githubDirectory) !== null && _j !== void 0 ? _j : null\n };\n let variants = new Array();\n if (data.blockVariants) {\n for (let [key, value] of Object.entries(data.blockVariants)) {\n for (let v of value) {\n let variant = new SDKExporterCustomBlockVariant_1.ExporterCustomBlockVariant(v, key);\n variants.push(variant);\n }\n }\n }\n this.contributes = {\n blockVariants: variants,\n blocks: data.customBlocks ? data.customBlocks.map(b => new SDKExporterCustomBlock_1.ExporterCustomBlock(b)) : [],\n configuration: data.configurationProperties ? data.configurationProperties.map(c => new SDKExporterConfigurationProperty_1.ExporterConfigurationProperty(c, null)) : [] // in this case, configuration property is just settings and so it doesn't have value\n };\n }\n}\nexports.Exporter = Exporter;\n","\"use strict\";\n//\n// SDKExporterCustomBlock.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExporterCustomBlock = exports.ExporterCustomBlockMode = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKExporterCustomBlockProperty_1 = require(\"./SDKExporterCustomBlockProperty\");\nvar ExporterCustomBlockMode;\n(function (ExporterCustomBlockMode) {\n ExporterCustomBlockMode[\"block\"] = \"block\";\n})(ExporterCustomBlockMode = exports.ExporterCustomBlockMode || (exports.ExporterCustomBlockMode = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ExporterCustomBlock {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a;\n this.key = model.key;\n this.title = model.title;\n this.description = model.description;\n this.category = model.category;\n this.iconUrl = (_a = model.iconURL) !== null && _a !== void 0 ? _a : null;\n this.mode = model.mode;\n this.properties = model.properties.map(p => new SDKExporterCustomBlockProperty_1.ExporterCustomBlockProperty(p));\n }\n}\nexports.ExporterCustomBlock = ExporterCustomBlock;\n","\"use strict\";\n//\n// SDKExporterCustomBlockProperty.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExporterCustomBlockProperty = exports.ExporterCustomBlockPropertyInputType = exports.ExporterCustomBlockPropertyType = void 0;\nvar ExporterCustomBlockPropertyType;\n(function (ExporterCustomBlockPropertyType) {\n ExporterCustomBlockPropertyType[\"string\"] = \"string\";\n ExporterCustomBlockPropertyType[\"number\"] = \"number\";\n ExporterCustomBlockPropertyType[\"boolean\"] = \"boolean\";\n ExporterCustomBlockPropertyType[\"enum\"] = \"enum\";\n ExporterCustomBlockPropertyType[\"image\"] = \"image\";\n ExporterCustomBlockPropertyType[\"color\"] = \"color\";\n ExporterCustomBlockPropertyType[\"typography\"] = \"typography\";\n})(ExporterCustomBlockPropertyType = exports.ExporterCustomBlockPropertyType || (exports.ExporterCustomBlockPropertyType = {}));\nvar ExporterCustomBlockPropertyInputType;\n(function (ExporterCustomBlockPropertyInputType) {\n ExporterCustomBlockPropertyInputType[\"plain\"] = \"plain\";\n ExporterCustomBlockPropertyInputType[\"code\"] = \"code\";\n})(ExporterCustomBlockPropertyInputType = exports.ExporterCustomBlockPropertyInputType || (exports.ExporterCustomBlockPropertyInputType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ExporterCustomBlockProperty {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(data) {\n var _a, _b, _c;\n this.label = data.label;\n this.key = data.key;\n this.type = data.type;\n this.inputType = (_a = data.inputType) !== null && _a !== void 0 ? _a : ExporterCustomBlockPropertyInputType.plain;\n this.isMultiline = data.isMultiline;\n this.default = (_b = data.default) !== null && _b !== void 0 ? _b : null;\n this.values = (_c = data.values) !== null && _c !== void 0 ? _c : [];\n }\n}\nexports.ExporterCustomBlockProperty = ExporterCustomBlockProperty;\n","\"use strict\";\n//\n// SDKExporterCustomBlockVariant.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExporterCustomBlockVariant = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ExporterCustomBlockVariant {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, blockKey) {\n this.blockKey = blockKey;\n this.variantKey = model.key;\n this.name = model.name;\n this.isDefault = model.hasOwnProperty(\"isDefault\") ? model.isDefault : false;\n }\n}\nexports.ExporterCustomBlockVariant = ExporterCustomBlockVariant;\n","\"use strict\";\n//\n// SDKExporterConfigurationProperty.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExporterConfigurationProperty = exports.ExporterConfigurationPropertyInputType = exports.ExporterConfigurationPropertyType = void 0;\nvar ExporterConfigurationPropertyType;\n(function (ExporterConfigurationPropertyType) {\n ExporterConfigurationPropertyType[\"string\"] = \"string\";\n ExporterConfigurationPropertyType[\"number\"] = \"number\";\n ExporterConfigurationPropertyType[\"boolean\"] = \"boolean\";\n ExporterConfigurationPropertyType[\"enum\"] = \"enum\";\n ExporterConfigurationPropertyType[\"image\"] = \"image\";\n ExporterConfigurationPropertyType[\"color\"] = \"color\";\n ExporterConfigurationPropertyType[\"typography\"] = \"typography\";\n})(ExporterConfigurationPropertyType = exports.ExporterConfigurationPropertyType || (exports.ExporterConfigurationPropertyType = {}));\nvar ExporterConfigurationPropertyInputType;\n(function (ExporterConfigurationPropertyInputType) {\n ExporterConfigurationPropertyInputType[\"plain\"] = \"plain\";\n ExporterConfigurationPropertyInputType[\"code\"] = \"code\";\n})(ExporterConfigurationPropertyInputType = exports.ExporterConfigurationPropertyInputType || (exports.ExporterConfigurationPropertyInputType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ExporterConfigurationProperty {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(data, value) {\n var _a, _b, _c;\n this.label = data.label;\n this.category = data.category;\n this.description = data.description;\n this.key = data.key;\n this.type = data.type;\n this.inputType = (_a = data.inputType) !== null && _a !== void 0 ? _a : ExporterConfigurationPropertyInputType.plain;\n this.isMultiline = data.isMultiline;\n this.default = (_b = data.default) !== null && _b !== void 0 ? _b : null;\n this.values = (_c = data.values) !== null && _c !== void 0 ? _c : [];\n this.value = value !== null && value !== void 0 ? value : this.default;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Methods\n updateValue(value) {\n this.value = value;\n }\n}\nexports.ExporterConfigurationProperty = ExporterConfigurationProperty;\n","\"use strict\";\n//\n// SDKAssetGroup.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AssetGroup = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass AssetGroup {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.id = model.persistentId;\n this.brandId = model.brandId;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.isRoot = model.isRoot;\n this.childrenIds = model.childrenIds;\n this.path = new Array();\n this.assetIds = new Array();\n this.subgroups = new Array();\n this.parent = null;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n addChild(group) {\n this.subgroups.push(group);\n }\n addChildren(groups) {\n this.subgroups = this.subgroups.concat(groups);\n }\n setPath(segments) {\n this.path = segments;\n }\n setParent(parent) {\n this.parent = parent !== null && parent !== void 0 ? parent : null;\n }\n}\nexports.AssetGroup = AssetGroup;\n","\"use strict\";\n//\n// SDKTokenGroup.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignComponentGroup = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DesignComponentGroup {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.id = model.persistentId;\n this.brandId = model.brandId;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.isRoot = model.isRoot;\n this.childrenIds = model.childrenIds;\n this.path = new Array();\n this.componentIds = new Array();\n this.subgroups = new Array();\n this.parent = null;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n addChild(group) {\n this.subgroups.push(group);\n }\n addChildren(groups) {\n this.subgroups = this.subgroups.concat(groups);\n }\n setPath(segments) {\n this.path = segments;\n }\n setParent(parent) {\n this.parent = parent !== null && parent !== void 0 ? parent : null;\n }\n}\nexports.DesignComponentGroup = DesignComponentGroup;\n","\"use strict\";\n//\n// SDKTokenGroup.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenGroup = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TokenGroup {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.id = model.persistentId;\n this.versionedId = model.id;\n this.brandId = model.brandId;\n this.designSystemVersionId = model.designSystemVersionId;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.isRoot = model.isRoot;\n this.tokenType = model.tokenType;\n this.childrenIds = model.childrenIds;\n this.path = new Array();\n this.tokenIds = new Array();\n this.subgroups = new Array();\n this.parent = null;\n // Set unordered when constructing\n this.sortOrder = -1;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n addChild(group) {\n this.subgroups.push(group);\n }\n addChildren(groups) {\n this.subgroups = this.subgroups.concat(groups);\n }\n setPath(segments) {\n this.path = segments;\n }\n setParent(parent) {\n this.parent = parent !== null && parent !== void 0 ? parent : null;\n }\n setSortOrder(order) {\n this.sortOrder = order;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Write\n toWriteObject() {\n return {\n id: this.versionedId,\n brandId: this.brandId,\n tokenType: this.tokenType,\n designSystemVersionId: this.designSystemVersionId,\n persistentId: this.id,\n isRoot: this.isRoot,\n meta: {\n name: this.name,\n description: this.description\n },\n childrenIds: this.childrenIds\n };\n }\n toMutatedObject(childrenIds) {\n let group = new TokenGroup({\n id: this.versionedId,\n brandId: this.brandId,\n tokenType: this.tokenType,\n designSystemVersionId: this.designSystemVersionId,\n persistentId: this.id,\n isRoot: this.isRoot,\n meta: {\n name: this.name,\n description: this.description\n },\n childrenIds: childrenIds\n });\n group.parent = this.parent;\n group.sortOrder = this.sortOrder;\n return group;\n }\n}\nexports.TokenGroup = TokenGroup;\n","\"use strict\";\n//\n// SDKDesignComponentOrigin.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DesignComponentOrigin = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass DesignComponentOrigin {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, sources) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n this.sourceId = (_a = model.sourceId) !== null && _a !== void 0 ? _a : null;\n this.id = (_b = model.id) !== null && _b !== void 0 ? _b : null;\n this.nodeId = (_c = model.nodeId) !== null && _c !== void 0 ? _c : null;\n this.name = (_d = model.name) !== null && _d !== void 0 ? _d : null;\n this.fileId = null;\n this.fileName = null;\n if (model.sourceId) {\n let remoteSource = sources.filter(s => s.id === model.sourceId)[0];\n if (remoteSource) {\n this.sourceType = remoteSource.type;\n this.fileId = (_e = remoteSource.fileId) !== null && _e !== void 0 ? _e : null;\n this.fileName = (_f = remoteSource.fileName) !== null && _f !== void 0 ? _f : null;\n }\n }\n this.width = (_g = model.width) !== null && _g !== void 0 ? _g : null;\n this.height = (_h = model.height) !== null && _h !== void 0 ? _h : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Conveniences\n get remoteDesignComponentUrl() {\n var _a;\n if (this.sourceType === \"Figma\" && this.fileId && this.nodeId) {\n return `https://www.figma.com/file/${this.fileId}/${(_a = this.fileName) !== null && _a !== void 0 ? _a : \"unknown\"}?node-id=${this.nodeId}`;\n }\n else {\n return undefined;\n }\n }\n}\nexports.DesignComponentOrigin = DesignComponentOrigin;\n","\"use strict\";\n//\n// FrameOriginModel.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2023 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameOrigin = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass FrameOrigin {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, sourceId, sourceFrameId) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n this.sourceFileName = (_a = model.sourceFileName) !== null && _a !== void 0 ? _a : null;\n this.sourceFrameId = sourceFrameId;\n this.sourceId = sourceId;\n this.title = (_b = model.title) !== null && _b !== void 0 ? _b : null;\n this.previewUrl = (_c = model.previewUrl) !== null && _c !== void 0 ? _c : null;\n this.referenceId = (_d = model.referenceId) !== null && _d !== void 0 ? _d : null;\n this.valid = (_e = model.valid) !== null && _e !== void 0 ? _e : null;\n this.assetId = (_f = model.assetId) !== null && _f !== void 0 ? _f : null;\n this.assetScale = (_g = model.assetScale) !== null && _g !== void 0 ? _g : null;\n this.width = (_h = model.width) !== null && _h !== void 0 ? _h : null;\n this.height = (_j = model.height) !== null && _j !== void 0 ? _j : null;\n }\n}\nexports.FrameOrigin = FrameOrigin;\n","\"use strict\";\n//\n// SDKSize.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Size = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Size {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b;\n this.width = (_a = model === null || model === void 0 ? void 0 : model.width) !== null && _a !== void 0 ? _a : null;\n this.height = (_b = model === null || model === void 0 ? void 0 : model.height) !== null && _b !== void 0 ? _b : null;\n }\n}\nexports.Size = Size;\n","\"use strict\";\n//\n// SDKSource.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Source = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Source {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;\n this.type = model.type;\n this.id = model.id;\n this.fileName = (_a = model.fileName) !== null && _a !== void 0 ? _a : null;\n this.fileId = (_c = (_b = model.cloud) === null || _b === void 0 ? void 0 : _b.fileId) !== null && _c !== void 0 ? _c : null;\n this.autoImportMode = (_e = (_d = model.cloud) === null || _d === void 0 ? void 0 : _d.autoImportMode) !== null && _e !== void 0 ? _e : null;\n this.fileThumbnailUrl = (_g = (_f = model.cloud) === null || _f === void 0 ? void 0 : _f.fileThumbnailUrl) !== null && _g !== void 0 ? _g : null;\n this.lastUpdatesCheckedAt = (_j = (_h = model.cloud) === null || _h === void 0 ? void 0 : _h.lastUpdatesCheckedAt) !== null && _j !== void 0 ? _j : null;\n if ((_k = model.cloud) === null || _k === void 0 ? void 0 : _k.lastImportedVersion) {\n this.lastImportedVersion = {\n id: model.cloud.lastImportedVersion.id,\n created_at: model.cloud.lastImportedVersion.created_at,\n label: (_l = model.cloud.lastImportedVersion.label) !== null && _l !== void 0 ? _l : null,\n description: model.cloud.lastImportedVersion.description,\n };\n }\n else {\n this.lastImportedVersion = null;\n }\n this.lastImportedAt = (_o = (_m = model.cloud) === null || _m === void 0 ? void 0 : _m.lastImportedAt) !== null && _o !== void 0 ? _o : null;\n if ((_p = model.cloud) === null || _p === void 0 ? void 0 : _p.lastImportResult) {\n this.lastImportResult = {\n sourceId: model.cloud.lastImportResult.sourceId,\n brandId: model.cloud.lastImportResult.brandId,\n tokensCreated: model.cloud.lastImportResult.tokensCreated,\n tokensUpdated: model.cloud.lastImportResult.tokensUpdated,\n tokensDeleted: model.cloud.lastImportResult.tokensDeleted,\n componentsCreated: model.cloud.lastImportResult.componentsCreated,\n componentsUpdated: model.cloud.lastImportResult.componentsUpdated,\n componentsDeleted: model.cloud.lastImportResult.componentsDeleted,\n componentAssetsCreated: model.cloud.lastImportResult.componentAssetsCreated,\n componentAssetsUpdated: model.cloud.lastImportResult.componentAssetsUpdated,\n componentAssetsDeleted: model.cloud.lastImportResult.componentAssetsDeleted,\n isFailed: model.cloud.lastImportResult.isFailed,\n versionId: model.cloud.lastImportResult.versionId,\n fileSize: (_q = model.cloud.lastImportResult.fileSize) !== null && _q !== void 0 ? _q : null\n };\n }\n else {\n this.lastImportResult = null;\n }\n if ((_r = model.cloud) === null || _r === void 0 ? void 0 : _r.lastImportFramesResult) {\n this.lastImportFramesResult = {\n sourceId: model.cloud.lastImportFramesResult.sourceId,\n isFailed: model.cloud.lastImportFramesResult.isFailed,\n error: (_s = model.cloud.lastImportFramesResult.error) !== null && _s !== void 0 ? _s : null,\n assetsInFile: model.cloud.lastImportFramesResult.assetsInFile ? {\n frames: model.cloud.lastImportFramesResult.assetsInFile.frames,\n components: model.cloud.lastImportFramesResult.assetsInFile.components,\n } : null,\n invalidReferencesCount: (_t = model.cloud.lastImportFramesResult.invalidReferencesCount) !== null && _t !== void 0 ? _t : null,\n };\n }\n else {\n this.lastImportFramesResult = null;\n }\n this.ownerId = (_v = (_u = model.cloud) === null || _u === void 0 ? void 0 : _u.ownerId) !== null && _v !== void 0 ? _v : null;\n this.ownerUserName = (_x = (_w = model.cloud) === null || _w === void 0 ? void 0 : _w.ownerUserName) !== null && _x !== void 0 ? _x : null;\n this.state = (_z = (_y = model.cloud) === null || _y === void 0 ? void 0 : _y.state) !== null && _z !== void 0 ? _z : null;\n this.linkType = model.linkType;\n this.brandId = (_0 = model.brandId) !== null && _0 !== void 0 ? _0 : null;\n }\n}\nexports.Source = Source;\n","\"use strict\";\n//\n// SDKTokenOrigin.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenOrigin = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TokenOrigin {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b, _c, _d, _e;\n this.id = (_a = model.id) !== null && _a !== void 0 ? _a : null;\n this.name = (_b = model.name) !== null && _b !== void 0 ? _b : null;\n this.sourceId = (_c = model.sourceId) !== null && _c !== void 0 ? _c : null;\n this.referenceOriginId = (_d = model.referenceOriginId) !== null && _d !== void 0 ? _d : null;\n this.referencePersistentId = (_e = model.referencePersistentId) !== null && _e !== void 0 ? _e : null;\n }\n}\nexports.TokenOrigin = TokenOrigin;\n","\"use strict\";\n//\n// SDKWorkspaceNPMRegistry.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkspaceNPMRegistry = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass WorkspaceNPMRegistry {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n this.enabledScopes = model.enabledScopes;\n this.limitToScopes = model.limitToScopes;\n this.registryUrl = model.registryUrl;\n this.proxyUrl = model.proxyUrl;\n }\n}\nexports.WorkspaceNPMRegistry = WorkspaceNPMRegistry;\n","\"use strict\";\n//\n// SDKThemeUtilities.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThemeUtilities = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst __1 = require(\"../..\");\nconst SDKBlurToken_1 = require(\"../tokens/SDKBlurToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ThemeUtilities {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Helpers\n /** Creates duplicate of the token */\n static replicateTokenAsThemePrefabWithoutValue(token, themeId, origin, version) {\n let replica;\n switch (token.tokenType) {\n case __1.TokenType.blur:\n replica = new SDKBlurToken_1.BlurToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.border:\n replica = new __1.BorderToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.color:\n replica = new __1.ColorToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.font:\n replica = new __1.FontToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.generic:\n replica = new __1.GenericToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.gradient:\n replica = new __1.GradientToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.measure:\n replica = new __1.MeasureToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.radius:\n replica = new __1.RadiusToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.shadow:\n replica = new __1.ShadowToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.text:\n replica = new __1.TextToken(version, {}, null, null, [], []);\n break;\n case __1.TokenType.typography:\n replica = new __1.TypographyToken(version, {}, null, null, [], []);\n break;\n default: throw new Error(`Unsupported type ${token.tokenType}`);\n }\n replica.id = token.id;\n replica.versionedId = token.versionedId;\n replica.brandId = token.brandId;\n replica.themeId = themeId; // Assign just-created theme\n replica.designSystemVersionId = token.designSystemVersionId;\n replica.name = token.name;\n replica.description = token.description;\n replica.tokenType = token.tokenType;\n replica.origin = origin !== null && origin !== void 0 ? origin : null; // Re-direct origin to the other origin\n replica.parent = token.parent;\n replica.sortOrder = token.sortOrder;\n replica.properties = token.properties;\n replica.propertyValues = token.propertyValues;\n replica.createdAt = token.createdAt;\n replica.updatedAt = token.updatedAt;\n // No replication of value - value will get replaced by the override\n return replica;\n }\n}\nexports.ThemeUtilities = ThemeUtilities;\n","\"use strict\";\n//\n// SDKTokenTheme.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenTheme = void 0;\nconst __1 = require(\"../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TokenTheme {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, dsVersion) {\n this.id = model.persistentId;\n this.versionedId = model.id;\n this.brandId = model.brandId;\n this.designSystemVersionId = dsVersion.id;\n this.name = model.meta.name;\n this.description = model.meta.description;\n this.codeName = model.codeName;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n // Note overrides are provided from the resolver when they are computed\n this.overriddenTokens = [];\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n addOverride(override) {\n this.overriddenTokens.push(override);\n }\n addOverrides(overrides) {\n this.overriddenTokens = this.overriddenTokens.concat(overrides);\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Manipulation\n toWriteObject() {\n var _a;\n return {\n id: this.versionedId,\n brandId: this.brandId,\n designSystemVersionId: this.designSystemVersionId,\n persistentId: this.id,\n meta: {\n name: this.name,\n description: (_a = this.description) !== null && _a !== void 0 ? _a : ''\n },\n createdAt: this.createdAt ? this.createdAt.toISOString() : undefined,\n updatedAt: this.updatedAt ? this.updatedAt.toISOString() : undefined,\n codeName: this.codeName,\n overrides: this.tokensToOverrides()\n };\n }\n tokensToOverrides() {\n return this.overriddenTokens.map(o => this.toWriteOverrideObject(o));\n }\n toWriteOverrideObject(token) {\n var _a, _b, _c, _d, _e;\n let model = {\n data: this.valueToWriteObject(token.value, token.tokenType),\n tokenPersistentId: token.id,\n type: token.tokenType,\n origin: token.origin\n ? {\n id: (_a = token.origin.id) !== null && _a !== void 0 ? _a : undefined,\n name: (_b = token.origin.name) !== null && _b !== void 0 ? _b : undefined,\n sourceId: (_c = token.origin.sourceId) !== null && _c !== void 0 ? _c : undefined,\n referenceOriginId: (_d = token.origin.referenceOriginId) !== null && _d !== void 0 ? _d : undefined,\n referencePersistentId: (_e = token.origin.referencePersistentId) !== null && _e !== void 0 ? _e : undefined,\n }\n : undefined,\n createdAt: token.createdAt ? token.createdAt.toISOString() : undefined,\n updatedAt: token.updatedAt ? token.updatedAt.toISOString() : undefined,\n };\n if (!model.data.aliasTo && !model.data.value) {\n throw new Error(\"Token doesn't have value or alias to\");\n }\n return model;\n }\n valueToWriteObject(value, type) {\n switch (type) {\n case __1.TokenType.blur: return __1.BlurToken.valueToWriteObject(value);\n case __1.TokenType.border: return __1.BorderToken.valueToWriteObject(value);\n case __1.TokenType.color: return __1.ColorToken.valueToWriteObject(value);\n case __1.TokenType.font: return __1.FontToken.valueToWriteObject(value);\n case __1.TokenType.generic: return __1.GenericToken.valueToWriteObject(value);\n case __1.TokenType.gradient: return __1.GradientToken.valueToWriteObject(value);\n case __1.TokenType.measure: return __1.MeasureToken.valueToWriteObject(value);\n case __1.TokenType.radius: return __1.RadiusToken.valueToWriteObject(value);\n case __1.TokenType.shadow: return __1.ShadowToken.valueToWriteObject(value);\n case __1.TokenType.text: return __1.TextToken.valueToWriteObject(value);\n case __1.TokenType.typography: return __1.TypographyToken.valueToWriteObject(value);\n }\n }\n}\nexports.TokenTheme = TokenTheme;\n","\"use strict\";\n//\n// SDKTokenThemeOverride.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenThemeOverride = void 0;\nconst __1 = require(\"../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TokenThemeOverride {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, value) {\n this.value = value;\n this.tokenId = model.tokenPersistentId;\n this.type = model.type;\n this.origin = model.origin ? new __1.TokenOrigin(model.origin) : null;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Manipulation\n toWriteObject() {\n var _a, _b, _c, _d, _e;\n return {\n data: this.valueToWriteObject(this.value, this.type),\n tokenPersistentId: this.tokenId,\n type: this.type,\n origin: this.origin\n ? {\n id: (_a = this.origin.id) !== null && _a !== void 0 ? _a : undefined,\n name: (_b = this.origin.name) !== null && _b !== void 0 ? _b : undefined,\n sourceId: (_c = this.origin.sourceId) !== null && _c !== void 0 ? _c : undefined,\n referenceOriginId: (_d = this.origin.referenceOriginId) !== null && _d !== void 0 ? _d : undefined,\n referencePersistentId: (_e = this.origin.referencePersistentId) !== null && _e !== void 0 ? _e : undefined,\n }\n : undefined,\n createdAt: this.createdAt ? this.createdAt.toISOString() : undefined,\n updatedAt: this.updatedAt ? this.updatedAt.toISOString() : undefined,\n };\n }\n valueToWriteObject(value, type) {\n switch (type) {\n case __1.TokenType.blur: return __1.BlurToken.valueToWriteObject(value);\n case __1.TokenType.border: return __1.BorderToken.valueToWriteObject(value);\n case __1.TokenType.color: return __1.ColorToken.valueToWriteObject(value);\n case __1.TokenType.font: return __1.FontToken.valueToWriteObject(value);\n case __1.TokenType.generic: return __1.GenericToken.valueToWriteObject(value);\n case __1.TokenType.gradient: return __1.GradientToken.valueToWriteObject(value);\n case __1.TokenType.measure: return __1.MeasureToken.valueToWriteObject(value);\n case __1.TokenType.radius: return __1.RadiusToken.valueToWriteObject(value);\n case __1.TokenType.shadow: return __1.ShadowToken.valueToWriteObject(value);\n case __1.TokenType.text: return __1.TextToken.valueToWriteObject(value);\n case __1.TokenType.typography: return __1.TypographyToken.valueToWriteObject(value);\n }\n }\n}\nexports.TokenThemeOverride = TokenThemeOverride;\n","\"use strict\";\n//\n// SDKBlurToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlurToken = void 0;\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass BlurToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n this.blurLayers = new Array();\n this.isVirtual = false;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = BlurToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken ? {\n radius: {\n aliasTo: undefined,\n value: {\n measure: value.radius.measure,\n unit: value.radius.unit\n }\n },\n type: value.type\n } : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.BlurToken = BlurToken;\n","\"use strict\";\n//\n// SDKBorderToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BorderToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst __1 = require(\"../..\");\nconst SDKToken_1 = require(\"./SDKToken\");\nconst uuid_1 = require(\"uuid\");\nconst SDKSupernovaError_1 = require(\"../../core/errors/SDKSupernovaError\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass BorderToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n static create(version, brand, name, description, value, alias, referenceResolver, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.border,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value) {\n // Raw value\n let tokenValue = this.borderValueFromDefinition(value, referenceResolver);\n return new BorderToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n color: alias.value.color,\n width: alias.value.width,\n position: alias.value.position,\n referencedToken: alias\n };\n return new BorderToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static borderValueFromDefinition(definition, referenceResolver) {\n // For now, handle only one shadow in multiple shadow layers\n if (definition instanceof Array) {\n if (definition.length > 0) {\n definition = definition[0];\n }\n else {\n // Empty definition needs to fallback to proper SN definition - make it transparent shadow with 0 0 0 0 values\n definition = {\n color: 'rgba(0,0,0,0)',\n position: 'outside',\n width: 0,\n type: 'border'\n };\n }\n }\n if (!definition.hasOwnProperty('color') || !definition.hasOwnProperty('width')) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Border definition is missing one of required properties (color, width), was ${JSON.stringify(definition)}`);\n }\n let value = {}; // Empty container\n value.color = __1.ColorToken.colorValueFromDefinitionOrReference(definition['color'], referenceResolver);\n value.position = __1.BorderPosition.outside;\n value.width = __1.MeasureToken.measureValueFromDefinitionOrReference(definition['width'], referenceResolver);\n // TODO: Position, style\n if (value.color === undefined) {\n throw new Error(`Unable to resolve value 'color' for border token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.position === undefined) {\n throw new Error(`Unable to resolve value 'position' for border token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.width === undefined) {\n throw new Error(`Unable to resolve value 'width' for border token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n return value;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = BorderToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n color: {\n aliasTo: value.color.referencedToken ? value.color.referencedToken.id : undefined,\n value: value.color.referencedToken ? null : __1.ColorToken.normalizedHex(value.color.hex)\n },\n width: {\n aliasTo: value.width.referencedToken ? value.width.referencedToken.id : undefined,\n value: value.width.referencedToken\n ? null\n : {\n measure: value.width.measure,\n unit: value.width.unit\n }\n },\n position: value.position,\n isEnabled: true\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.BorderToken = BorderToken;\n","\"use strict\";\n//\n// SDKColorToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ColorToken = void 0;\nconst SDKTokenType_1 = require(\"../enums/SDKTokenType\");\nconst SDKToken_1 = require(\"./SDKToken\");\nconst uuid_1 = require(\"uuid\");\nconst color_string_1 = __importDefault(require(\"color-string\"));\nconst color2k_1 = require(\"color2k\");\nconst matchAll = require('string.prototype.matchall');\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ColorToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: SDKTokenType_1.TokenType.color,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value) {\n // Raw value\n let tokenValue = this.colorValueFromDefinition(value);\n return new ColorToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n hex: alias.value.hex,\n a: alias.value.a,\n r: alias.value.r,\n g: alias.value.g,\n b: alias.value.b,\n referencedToken: alias\n };\n return new ColorToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static colorValueFromDefinition(definition) {\n let normalizedDefinition = this.normalizeColor(definition);\n // let result = parseColor(normalizedDefinition)\n let result = color_string_1.default.get(normalizedDefinition);\n if (!result || result.model === undefined || result.value === undefined) {\n console.log(`Unable to parse provided color value '${definition}'. Hex, RGB, HSL, HSV or CMYK are supported. Fix the error to import the color value properly.`);\n result = color_string_1.default.get('#000000');\n }\n const hex = color_string_1.default.to.hex(result.value);\n return {\n hex: hex.length === 7 ? `${hex}ff` : hex,\n r: result.value[0],\n g: result.value[1],\n b: result.value[2],\n a: Math.max(0, Math.min(255, Math.round(result.value[3] * 255))),\n referencedToken: null\n };\n }\n static normalizeColor(color) {\n // This function is taken directly from figma tokens plugin, so the implementation aligns for the importer:\n // https://github.com/tokens-studio/figma-plugin/blob/main/src/utils/color/convertToRgb.ts\n try {\n if (typeof color !== 'string') {\n return color;\n }\n const hexRegex = /#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/g;\n const hslaRegex = /(hsla?\\(.*?\\))/g;\n const rgbaRegex = /(rgba?\\(.*?\\))/g;\n let returnedColor = color;\n try {\n const matchesRgba = Array.from(matchAll(returnedColor, rgbaRegex), m => m[0]);\n const matchesHsla = Array.from(matchAll(returnedColor, hslaRegex), m => m[0]);\n if (matchesHsla.length > 0) {\n matchesHsla.forEach(match => {\n returnedColor = returnedColor.replace(match, color2k_1.toHex(match));\n });\n }\n if (matchesRgba.length > 0) {\n matchesRgba.forEach(match => {\n var _a, _b;\n const matchedString = match;\n const matchedColor = match.replace(/rgba?\\(/g, '').replace(')', '');\n const matchesHexInsideRgba = matchedColor.match(hexRegex);\n let r;\n let g;\n let b;\n let alpha = '1';\n if (matchesHexInsideRgba) {\n ;\n [r, g, b] = color2k_1.parseToRgba(matchesHexInsideRgba[0]);\n alpha =\n (_b = (_a = matchedColor\n .split(',')\n .pop()) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '0';\n }\n else {\n ;\n [r, g, b, alpha = '1'] = matchedColor.split(',').map(n => n.trim());\n }\n const a = this.normalizeOpacity(alpha);\n returnedColor = returnedColor.split(matchedString).join(color2k_1.toHex(`rgba(${r}, ${g}, ${b}, ${a})`));\n });\n }\n }\n catch (e) {\n throw new Error(`Unable to parse provided color '${color}'. Supported formats are: \\nrgb(r <number>, g <number>, b <number>)\\nrgba(r <number>, g <number>, b <number>, a <number | percentage>\\nhsl(h <number>, s <percentage>, l <percentage>>\\nhsla(h <number>, s <percentage>, l <percentage>, a <number | percentage>\\nred | blue | black ...)`);\n }\n return returnedColor;\n }\n catch (e) {\n throw e;\n }\n }\n static normalizeOpacity(value) {\n // Matches 50%, 100%, etc.\n const matched = value.match(/(\\d+%)/);\n if (matched) {\n return Number(matched[0].slice(0, -1)) / 100;\n }\n return Number(value);\n }\n static normalizedHex(value) {\n if (!value) {\n return null;\n }\n if (value.startsWith('#')) {\n return value.toLowerCase();\n }\n return `#${value}`.toLowerCase();\n }\n static colorValueFromDefinitionOrReference(definition, referenceResolver) {\n if (referenceResolver.valueHasReference(definition)) {\n if (!referenceResolver.isBalancedReference(definition)) {\n // Internal syntax of reference corrupted\n throw new Error(`Invalid reference syntax in token value: ${definition}`);\n }\n if (referenceResolver.valueIsPureReference(definition)) {\n // When color is pure reference, we can immediately resolve it\n let reference = referenceResolver.lookupReferencedToken(definition);\n if (!reference) {\n return undefined;\n }\n return {\n referencedToken: reference,\n hex: reference.value.hex,\n a: reference.value.a,\n r: reference.value.r,\n g: reference.value.g,\n b: reference.value.b\n };\n }\n else {\n // When color is not a pure reference, we must resolve it further before we can resolve it\n let references = referenceResolver.lookupAllReferencedTokens(definition);\n if (!references) {\n // Still unable to solve the reference, continue looking in some other tokens\n return undefined;\n }\n else {\n // Resolved all internal references\n let resolvedValue = referenceResolver.replaceAllReferencedTokens(definition, references);\n return this.colorValueFromDefinition(resolvedValue);\n }\n }\n }\n else {\n return this.colorValueFromDefinition(definition);\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = ColorToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken ? ColorToken.normalizedHex(value.hex) : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.ColorToken = ColorToken;\n","\"use strict\";\n//\n// SDKFontToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FontToken = void 0;\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass FontToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = FontToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken ? {\n family: value.family,\n subfamily: value.subfamily\n } : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.FontToken = FontToken;\n","\"use strict\";\n//\n// SDKGenericToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GenericToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../..\");\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass GenericToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.generic,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value !== undefined && value !== null) {\n // Raw value\n let tokenValue = this.genericValueFromDefinition(value);\n return new GenericToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n text: alias.value.text,\n referencedToken: alias\n };\n return new GenericToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static genericValueFromDefinition(definition) {\n return {\n text: definition ? `${definition}` : '',\n referencedToken: null\n };\n }\n static genericValueFromDefinitionOrReference(definition, referenceResolver) {\n if (referenceResolver.valueHasReference(definition)) {\n if (!referenceResolver.isBalancedReference(definition)) {\n // Internal syntax of reference corrupted\n throw new Error(`Invalid reference syntax in token value: ${definition}`);\n }\n if (referenceResolver.valueIsPureReference(definition)) {\n // When color is pure reference, we can immediately resolve it\n let reference = referenceResolver.lookupReferencedToken(definition);\n if (!reference) {\n return undefined;\n }\n return {\n referencedToken: reference,\n text: reference.value.text\n };\n }\n else {\n // When color is not a pure reference, we must resolve it further before we can resolve it\n let references = referenceResolver.lookupAllReferencedTokens(definition);\n if (!references) {\n // Still unable to solve the reference, continue looking in some other tokens\n return undefined;\n }\n else {\n // Resolved all internal references\n let resolvedValue = referenceResolver.replaceAllReferencedTokens(definition, references);\n return this.genericValueFromDefinition(resolvedValue);\n }\n }\n }\n else {\n return this.genericValueFromDefinition(definition);\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = GenericToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken ? value.text : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.GenericToken = GenericToken;\n","\"use strict\";\n//\n// SDKGradientToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GradientToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst __1 = require(\"../..\");\nconst SDKToken_1 = require(\"./SDKToken\");\nconst uuid_1 = require(\"uuid\");\nconst ml_matrix_1 = require(\"ml-matrix\");\nconst StringUtils_1 = require(\"../../utils/StringUtils\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass GradientToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n this.gradientLayers = new Array();\n this.isVirtual = false;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, referenceResolver, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.gradient,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value) {\n // Raw value\n let tokenValue = this.gradientValueFromDefinition(value, referenceResolver);\n return new GradientToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n to: {\n x: alias.value.to.x,\n y: alias.value.to.y\n },\n from: {\n x: alias.value.from.x,\n y: alias.value.from.y\n },\n type: alias.value.type,\n aspectRatio: alias.value.aspectRatio,\n stops: alias.value.stops,\n referencedToken: alias\n };\n return new GradientToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static gradientValueFromDefinition(definition, referenceResolver) {\n // Parse raw gradient pieces\n let d = definition.trim();\n d = StringUtils_1.StringUtils.replaceAll(d, '( ', '(');\n d = StringUtils_1.StringUtils.replaceAll(d, ', ', ',');\n d = StringUtils_1.StringUtils.replaceAll(d, ' ,', ',');\n d = d\n .substring(d.indexOf('(') + 1, d.lastIndexOf(')'))\n // There could be commas inside color def\n // linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%)\n .replace(/, (?=[^()]*\\))/g, ',');\n const [gradientDegrees, ...colorStops] = StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(d, ',');\n // Rotate 90 degrees\n const degreesAsNumber = parseFloat(gradientDegrees.split('deg').join(''));\n const degrees = -(degreesAsNumber - 90);\n const rad = degrees * (Math.PI / 180);\n const scale = degreesAsNumber % 90 === 0 ? 1 : Math.sqrt(1 + Math.pow(Math.tan(degreesAsNumber * (Math.PI / 180)), 2));\n // Build transformation matrix so we can figure out the proper sizing of the gradient in 2d space\n const matrix = ml_matrix_1.inverse(new ml_matrix_1.Matrix([\n [1, 0, 0.5],\n [0, 1, 0.5],\n [0, 0, 1]\n ])\n .mmul(new ml_matrix_1.Matrix([\n [Math.cos(rad), Math.sin(rad), 0],\n [-Math.sin(rad), Math.cos(rad), 0],\n [0, 0, 1]\n ]))\n .mmul(new ml_matrix_1.Matrix([\n [scale, 0, 0],\n [0, scale, 0],\n [0, 0, 1]\n ]))\n .mmul(new ml_matrix_1.Matrix([\n [1, 0, -0.5],\n [0, 1, -0.5],\n [0, 0, 1]\n ]))).to2DArray();\n // Build gradient stops\n const gradientStops = colorStops.map((s, index) => {\n const separatedStop = s.split(' ');\n const colorValue = __1.ColorToken.colorValueFromDefinitionOrReference(separatedStop[0], referenceResolver);\n return {\n color: colorValue,\n position: parseFloat(separatedStop[1]) / 100\n };\n });\n // Construct gradient value by using\n return {\n from: {\n x: matrix[0][0],\n y: matrix[0][1]\n },\n to: {\n x: matrix[1][0],\n y: matrix[1][1]\n },\n type: __1.GradientType.linear,\n aspectRatio: 1,\n stops: gradientStops,\n referencedToken: null\n };\n }\n static gradientValueFromDefinitionOrReference(definition, referenceResolver) {\n if (referenceResolver.valueHasReference(definition)) {\n if (!referenceResolver.isBalancedReference(definition)) {\n // Internal syntax of reference corrupted\n throw new Error(`Invalid reference syntax in token value: ${definition}`);\n }\n if (referenceResolver.valueIsPureReference(definition)) {\n // When color is pure reference, we can immediately resolve it\n let reference = referenceResolver.lookupReferencedToken(definition);\n if (!reference) {\n return undefined;\n }\n return {\n referencedToken: reference,\n to: {\n x: reference.value.to.x,\n y: reference.value.to.y\n },\n from: {\n x: reference.value.from.x,\n y: reference.value.from.y\n },\n type: reference.value.type,\n aspectRatio: reference.value.aspectRatio,\n stops: reference.value.stops\n };\n }\n else {\n // When color is not a pure reference, we must resolve it further before we can resolve it\n let references = referenceResolver.lookupAllReferencedTokens(definition);\n if (!references) {\n // Still unable to solve the reference, continue looking in some other tokens\n return undefined;\n }\n else {\n // Resolved all internal references\n let resolvedValue = referenceResolver.replaceAllReferencedTokens(definition, references);\n return this.gradientValueFromDefinition(resolvedValue, referenceResolver);\n }\n }\n }\n else {\n return this.gradientValueFromDefinition(definition, referenceResolver);\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = GradientToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n to: {\n x: value.to.x,\n y: value.to.y\n },\n from: {\n x: value.to.x,\n y: value.to.y\n },\n type: value.type,\n aspectRatio: value.aspectRatio,\n stops: value.stops.map(s => {\n return {\n position: s.position,\n color: {\n aliasTo: s.color.referencedToken ? s.color.referencedToken.id : undefined,\n value: s.color.referencedToken ? null : __1.ColorToken.normalizedHex(s.color.hex)\n }\n };\n })\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.GradientToken = GradientToken;\n","\"use strict\";\n//\n// SDKMeasureToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MeasureToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../..\");\nconst SDKDTExpressionParser_1 = require(\"../../tools/design-tokens/utilities/expression/SDKDTExpressionParser\");\nconst SDKUnit_1 = require(\"../enums/SDKUnit\");\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass MeasureToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.measure,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value !== null && value !== undefined) {\n let tokenValue = this.measureValueFromDefinition(value);\n return new MeasureToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n unit: SDKUnit_1.Unit.pixels,\n measure: 0,\n referencedToken: alias\n };\n return new MeasureToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static measureValueFromDefinition(definition) {\n if (typeof definition === \"number\") {\n return {\n measure: definition,\n unit: SDKUnit_1.Unit.pixels,\n referencedToken: null\n };\n }\n let result = this.parseMeasure(definition);\n return {\n measure: result.measure,\n unit: result.unit,\n referencedToken: null\n };\n }\n static parseMeasure(definition) {\n if (typeof definition !== 'string') {\n return {\n measure: 1,\n unit: SDKUnit_1.Unit.pixels\n };\n }\n // Use expression parser to handle the expression\n let parsedDefinition = SDKDTExpressionParser_1.DTExpressionParser.reduceExpressionsToBaseForm(definition);\n if (typeof parsedDefinition === 'number') {\n return {\n measure: (Number.isNaN(parsedDefinition) || parsedDefinition === undefined || parsedDefinition === null) ? 0 : parsedDefinition,\n unit: SDKUnit_1.Unit.pixels\n };\n }\n // Parse out unit\n let measure = parsedDefinition.replace(' ', '');\n let unit = SDKUnit_1.Unit.pixels;\n if (parsedDefinition.endsWith('px')) {\n measure = measure.substring(0, measure.length - 2);\n unit = SDKUnit_1.Unit.pixels;\n }\n else if (parsedDefinition.endsWith('%')) {\n measure = measure.substring(0, measure.length - 1);\n unit = SDKUnit_1.Unit.percent;\n }\n else if (parsedDefinition.endsWith('em')) {\n measure = measure.substring(0, measure.length - 2);\n unit = SDKUnit_1.Unit.ems;\n }\n else if (parsedDefinition.endsWith('pt')) {\n measure = measure.substring(0, measure.length - 2);\n unit = SDKUnit_1.Unit.points;\n }\n // Experimental: Units can now be everything, not just pixels. Enable this line to only use pixels\n // unit = Unit.pixels\n // Parse\n let parsedMeasure = parseFloat(measure);\n return {\n measure: (Number.isNaN(parsedMeasure) || parsedMeasure === undefined || parsedMeasure === null) ? 0 : parsedMeasure,\n unit: unit\n };\n }\n static measureValueFromDefinitionOrReference(definition, referenceResolver) {\n if (referenceResolver.valueHasReference(definition)) {\n if (!referenceResolver.isBalancedReference(definition)) {\n // Internal syntax of reference corrupted\n throw new Error(`Invalid reference syntax in token value: ${definition}`);\n }\n if (referenceResolver.valueIsPureReference(definition)) {\n // When color is pure reference, we can immediately resolve it\n let reference = referenceResolver.lookupReferencedToken(definition);\n if (!reference) {\n return undefined;\n }\n return {\n referencedToken: reference,\n measure: reference.value.measure,\n unit: reference.value.unit\n };\n }\n else {\n // When color is not a pure reference, we must resolve it further before we can resolve it\n let references = referenceResolver.lookupAllReferencedTokens(definition);\n if (!references) {\n // Still unable to solve the reference, continue looking in some other tokens\n return undefined;\n }\n else {\n // Resolved all internal references\n let resolvedValue = referenceResolver.replaceAllReferencedTokens(definition, references);\n return this.measureValueFromDefinition(resolvedValue);\n }\n }\n }\n else {\n return this.measureValueFromDefinition(definition);\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = MeasureToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n measure: Number.isNaN(value.measure) || value.measure === undefined || value.measure === null ? 0 : value.measure,\n unit: value.unit\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n static valueToInternalWriteObject(value) {\n return value\n ? {\n unit: value.unit,\n measure: value.measure,\n referencedToken: undefined\n }\n : null;\n }\n}\nexports.MeasureToken = MeasureToken;\n","\"use strict\";\n//\n// SDKRadiusToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RadiusToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../..\");\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass RadiusToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.radius,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value !== undefined && value !== null) {\n // Raw value\n let tokenValue = this.radiusValueFromDefinition(value);\n return new RadiusToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n if (alias instanceof __1.MeasureToken) {\n // If measure token was referenced, create raw value of radius token from it and discard the reference to at least it gets imported\n let tokenValue = {\n radius: {\n unit: alias.value.unit,\n measure: alias.value.measure,\n referencedToken: undefined\n },\n topLeft: null,\n topRight: null,\n bottomLeft: null,\n bottomRight: null,\n referencedToken: null\n };\n return new RadiusToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n radius: {\n unit: alias.value.radius.unit,\n measure: alias.value.radius.measure,\n referencedToken: undefined\n },\n topLeft: alias.value.topLeft\n ? {\n unit: alias.value.topLeft.unit,\n measure: alias.value.topLeft.measure,\n referencedToken: undefined\n }\n : null,\n topRight: alias.value.topRight\n ? {\n unit: alias.value.topRight.unit,\n measure: alias.value.topRight.measure,\n referencedToken: undefined\n }\n : null,\n bottomLeft: alias.value.bottomLeft\n ? {\n unit: alias.value.bottomLeft.unit,\n measure: alias.value.bottomLeft.measure,\n referencedToken: undefined\n }\n : null,\n bottomRight: alias.value.bottomRight\n ? {\n unit: alias.value.bottomRight.unit,\n measure: alias.value.bottomRight.measure,\n referencedToken: undefined\n }\n : null,\n referencedToken: alias\n };\n return new RadiusToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n // Handle references to aliases\n }\n }\n static radiusValueFromDefinition(definition) {\n if (typeof definition === 'number') {\n return {\n radius: __1.MeasureToken.measureValueFromDefinition(definition),\n topLeft: null,\n topRight: null,\n bottomLeft: null,\n bottomRight: null,\n referencedToken: null\n };\n }\n let corners = definition.split(',');\n if (corners.length === 1) {\n // Uniform corner description\n let measure = __1.MeasureToken.measureValueFromDefinition(definition);\n return {\n radius: measure,\n topLeft: null,\n topRight: null,\n bottomLeft: null,\n bottomRight: null,\n referencedToken: null\n };\n }\n else if (corners.length === 4) {\n // 4 corner description\n return {\n radius: __1.MeasureToken.measureValueFromDefinition(corners[0]),\n topLeft: __1.MeasureToken.measureValueFromDefinition(corners[0]),\n topRight: __1.MeasureToken.measureValueFromDefinition(corners[1]),\n bottomLeft: __1.MeasureToken.measureValueFromDefinition(corners[2]),\n bottomRight: __1.MeasureToken.measureValueFromDefinition(corners[3]),\n referencedToken: null\n };\n }\n else {\n return {\n radius: __1.MeasureToken.measureValueFromDefinition('0'),\n topLeft: null,\n topRight: null,\n bottomLeft: null,\n bottomRight: null,\n referencedToken: null\n };\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = RadiusToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n radius: {\n aliasTo: value.radius.referencedToken ? value.radius.referencedToken.id : undefined,\n value: value.radius.referencedToken\n ? null\n : {\n measure: value.radius.measure,\n unit: value.radius.unit\n }\n },\n topLeft: value.topLeft\n ? {\n aliasTo: value.topLeft.referencedToken ? value.topLeft.referencedToken.id : undefined,\n value: value.topLeft.referencedToken\n ? null\n : {\n measure: value.topLeft.measure,\n unit: value.topLeft.unit\n }\n }\n : null,\n topRight: value.topRight\n ? {\n aliasTo: value.topRight.referencedToken ? value.topRight.referencedToken.id : undefined,\n value: value.topRight.referencedToken\n ? null\n : {\n measure: value.topRight.measure,\n unit: value.topRight.unit\n }\n }\n : null,\n bottomLeft: value.bottomLeft\n ? {\n aliasTo: value.bottomLeft.referencedToken ? value.bottomLeft.referencedToken.id : undefined,\n value: value.bottomLeft.referencedToken\n ? null\n : {\n measure: value.bottomLeft.measure,\n unit: value.bottomLeft.unit\n }\n }\n : null,\n bottomRight: value.bottomRight\n ? {\n aliasTo: value.bottomRight.referencedToken ? value.bottomRight.referencedToken.id : undefined,\n value: value.bottomRight.referencedToken\n ? null\n : {\n measure: value.bottomRight.measure,\n unit: value.bottomRight.unit\n }\n }\n : null\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.RadiusToken = RadiusToken;\n","\"use strict\";\n//\n// SDKShadowToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShadowToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../..\");\nconst SDKSupernovaError_1 = require(\"../../core/errors/SDKSupernovaError\");\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass ShadowToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n this.shadowLayers = new Array();\n this.isVirtual = false;\n if (alias) {\n value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, referenceResolver, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.shadow,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value) {\n // Raw value\n let tokenValue = this.shadowValueFromDefinition(value, referenceResolver);\n return new ShadowToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n color: alias.value.color,\n x: alias.value.x,\n y: alias.value.y,\n spread: alias.value.spread,\n radius: alias.value.radius,\n opacity: alias.value.opacity,\n type: alias.value.type,\n referencedToken: alias\n };\n return new ShadowToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static shadowValueFromDefinition(definition, referenceResolver) {\n // For now, handle only one shadow in multiple shadow layers\n if (definition instanceof Array) {\n if (definition.length > 0) {\n definition = definition[0];\n }\n else {\n // Empty definition needs to fallback to proper SN definition - make it transparent shadow with 0 0 0 0 values\n definition = {\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n color: 'rgba(0,0,0,0)',\n type: 'dropShadow'\n };\n }\n }\n if (!definition.hasOwnProperty('x') ||\n !definition.hasOwnProperty('y') ||\n !definition.hasOwnProperty('blur') ||\n !definition.hasOwnProperty('spread') ||\n !definition.hasOwnProperty('color') ||\n !definition.hasOwnProperty('type')) {\n throw SDKSupernovaError_1.SupernovaError.fromSDKError(`Box Shadow definition is missing one of required properties (x, y, blur, spread, color, type), was ${JSON.stringify(definition)}`);\n }\n let value = {}; // Empty container\n value.x = __1.MeasureToken.measureValueFromDefinitionOrReference(definition['x'], referenceResolver);\n value.y = __1.MeasureToken.measureValueFromDefinitionOrReference(definition['y'], referenceResolver);\n value.radius = __1.MeasureToken.measureValueFromDefinitionOrReference(definition['blur'], referenceResolver);\n value.spread = __1.MeasureToken.measureValueFromDefinitionOrReference(definition['spread'], referenceResolver);\n value.color = __1.ColorToken.colorValueFromDefinitionOrReference(definition['color'], referenceResolver);\n value.opacity = 1;\n value.type = definition['type'] === 'innerShadow' ? __1.ShadowType.inner : __1.ShadowType.drop;\n if (value.x === undefined) {\n throw new Error(`Unable to resolve value 'x' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.y === undefined) {\n throw new Error(`Unable to resolve value 'y' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.radius === undefined) {\n throw new Error(`Unable to resolve value 'radius' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.spread === undefined) {\n throw new Error(`Unable to resolve value 'spread' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.color === undefined) {\n throw new Error(`Unable to resolve value 'color' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n if (value.type === undefined) {\n throw new Error(`Unable to resolve value 'type' for shadow token definition \\n${JSON.stringify(definition, null, 2)}\\n Did you possibly use incorrect reference?`);\n }\n return value;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = ShadowToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n color: {\n aliasTo: value.color.referencedToken ? value.color.referencedToken.id : undefined,\n value: value.color.referencedToken ? null : __1.ColorToken.normalizedHex(value.color.hex)\n },\n isEnabled: true,\n x: {\n aliasTo: value.x.referencedToken ? value.x.referencedToken.id : undefined,\n value: value.x.referencedToken\n ? null\n : {\n measure: value.x.measure,\n unit: value.x.unit\n }\n },\n y: {\n aliasTo: value.y.referencedToken ? value.y.referencedToken.id : undefined,\n value: value.y.referencedToken\n ? null\n : {\n measure: value.y.measure,\n unit: value.y.unit\n }\n },\n spread: {\n aliasTo: value.spread.referencedToken ? value.spread.referencedToken.id : undefined,\n value: value.spread.referencedToken\n ? null\n : {\n measure: value.spread.measure,\n unit: value.spread.unit\n }\n },\n radius: {\n aliasTo: value.radius.referencedToken ? value.radius.referencedToken.id : undefined,\n value: value.radius.referencedToken\n ? null\n : {\n measure: value.radius.measure,\n unit: value.radius.unit\n }\n },\n opacity: value.opacity,\n type: value.type\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.ShadowToken = ShadowToken;\n","\"use strict\";\n//\n// SDKTextToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextToken = void 0;\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TextToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Write\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = TextToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken ? value.text : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.TextToken = TextToken;\n","\"use strict\";\n//\n// SDKToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Token = void 0;\nconst SDKTokenOrigin_1 = require(\"../support/SDKTokenOrigin\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model, dsVersion, properties, propertyValues, empty = false) {\n if (empty) {\n // For creation of empty token to be filled from the outside\n return;\n }\n this.id = model.persistentId;\n this.versionedId = model.id;\n this.brandId = model.brandId;\n this.themeId = null; // Can only be set outside\n this.designSystemVersionId = dsVersion.id;\n if (model.meta) {\n this.name = model.meta.name;\n this.description = model.meta.description;\n }\n this.tokenType = model.type;\n this.origin = model.originStyle ? new SDKTokenOrigin_1.TokenOrigin(model.originStyle) : null;\n this.parent = null;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;\n // Set unordered when constructing\n this.sortOrder = -1;\n this.properties = properties;\n this.propertyValues = {};\n for (let value of propertyValues) {\n if (value.targetElementId === this.id) {\n // Property value refers to this element\n for (let property of properties) {\n if (property.persistentId === value.definitionId) {\n // Property value refers to the correct property, we get codeName from it and add it to quick-access\n this.propertyValues[property.codeName] = value.value;\n }\n }\n }\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Manipulation\n setParent(parent) {\n this.parent = parent !== null && parent !== void 0 ? parent : null;\n }\n setSortOrder(order) {\n this.sortOrder = order;\n }\n toBaseWriteObject() {\n var _a, _b, _c, _d, _e, _f;\n return {\n id: this.versionedId,\n brandId: this.brandId,\n designSystemVersionId: this.designSystemVersionId,\n persistentId: this.id,\n type: this.tokenType,\n meta: {\n name: this.name,\n description: (_a = this.description) !== null && _a !== void 0 ? _a : ''\n },\n originStyle: this.origin\n ? {\n id: (_b = this.origin.id) !== null && _b !== void 0 ? _b : undefined,\n name: (_c = this.origin.name) !== null && _c !== void 0 ? _c : undefined,\n sourceId: (_d = this.origin.sourceId) !== null && _d !== void 0 ? _d : undefined,\n referenceOriginId: (_e = this.origin.referenceOriginId) !== null && _e !== void 0 ? _e : undefined,\n referencePersistentId: (_f = this.origin.referencePersistentId) !== null && _f !== void 0 ? _f : undefined,\n }\n : undefined,\n customPropertyOverrides: [],\n data: undefined\n };\n }\n toWriteObject() {\n throw Error('Unable to write generic token');\n }\n}\nexports.Token = Token;\n","\"use strict\";\n//\n// SDKTokenComparator.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenComparator = void 0;\nconst SDKTokenType_1 = require(\"../enums/SDKTokenType\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TokenComparator {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Comparators\n static isEqualTokenValue(a, b) {\n if (a.tokenType !== b.tokenType) {\n return false;\n }\n switch (a.tokenType) {\n case SDKTokenType_1.TokenType.blur:\n return TokenComparator.isEqualBlurTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.border:\n return TokenComparator.isEqualBorderTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.color:\n return TokenComparator.isEqualColorTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.font:\n return TokenComparator.isEqualFontTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.generic:\n return TokenComparator.isEqualGenericTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.gradient:\n return TokenComparator.isEqualGradientTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.measure:\n return TokenComparator.isEqualMeasureTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.radius:\n return TokenComparator.isEqualRadiusTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.shadow:\n return TokenComparator.isEqualShadowTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.text:\n return TokenComparator.isEqualTextTokenValue(a.value, b.value);\n case SDKTokenType_1.TokenType.typography:\n return TokenComparator.isEqualTypographyTokenValue(a.value, b.value);\n default:\n throw new Error('Unsupported token type for compasion');\n }\n }\n static referencesSameToken(a, b) {\n return a.referencedToken && b.referencedToken && a.referencedToken.id === b.referencedToken.id;\n }\n static anyIsReference(a, b) {\n return ((a.referencedToken !== undefined && a.referencedToken !== null) ||\n (b.referencedToken !== undefined && b.referencedToken !== null));\n }\n static isUndefinedValue(a, b) {\n return !a && !b;\n }\n static isEqualBlurTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return a.type === b.type && this.isEqualMeasureTokenValue(a.radius, b.radius);\n }\n static isEqualBorderTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return (this.isEqualColorTokenValue(a.color, b.color) &&\n this.isEqualMeasureTokenValue(a.width, b.width) &&\n a.position === b.position);\n }\n static isEqualColorTokenValue(a, b) {\n // if (this.anyIsReference(a, b)) {\n // return this.referencesSameToken(a,b)\n // }\n return a.a === b.a && a.r === b.r && a.g === b.g && a.b === b.b;\n }\n static isEqualFontTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return a.family === b.family && a.subfamily == b.subfamily;\n }\n static isEqualGenericTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return a.text === b.text;\n }\n static isEqualGradientTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return (a.aspectRatio === b.aspectRatio &&\n a.from.x === b.from.x &&\n a.from.y === b.from.y &&\n a.to.x === b.to.x &&\n a.to.y === b.to.y &&\n a.type === b.type &&\n this.isEqualGradientStops(a.stops, b.stops));\n }\n static isEqualGradientStops(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n let as = a[i];\n let bs = b[i];\n if (!this.isEqualColorTokenValue(as.color, bs.color) || as.position !== bs.position) {\n return false;\n }\n }\n return true;\n }\n static isEqualMeasureTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return a.measure === b.measure && a.unit === b.unit;\n }\n static isEqualRadiusTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return (this.isEqualMeasureTokenValue(a.radius, b.radius) &&\n this.isEqualMeasureTokenValue(a.bottomLeft, b.bottomLeft) &&\n this.isEqualMeasureTokenValue(a.bottomRight, b.bottomRight) &&\n this.isEqualMeasureTokenValue(a.topLeft, b.topLeft) &&\n this.isEqualMeasureTokenValue(a.topRight, b.topRight));\n }\n static isEqualShadowTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return (this.isEqualColorTokenValue(a.color, b.color) &&\n this.isEqualMeasureTokenValue(a.radius, b.radius) &&\n this.isEqualMeasureTokenValue(a.spread, b.spread) &&\n this.isEqualMeasureTokenValue(a.x, b.x) &&\n this.isEqualMeasureTokenValue(a.y, b.y) &&\n a.type === b.type &&\n a.opacity === b.opacity);\n }\n static isEqualTextTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return a.text === b.text;\n }\n static isEqualTypographyTokenValue(a, b) {\n if (this.isUndefinedValue(a, b) || this.referencesSameToken(a, b)) {\n return true;\n }\n return (this.isEqualFontTokenValue(a.font, b.font) &&\n this.isEqualMeasureTokenValue(a.fontSize, b.fontSize) &&\n this.isEqualMeasureTokenValue(a.letterSpacing, b.letterSpacing) &&\n this.isEqualMeasureTokenValue(a.lineHeight, b.lineHeight) &&\n this.isEqualMeasureTokenValue(a.paragraphIndent, b.paragraphIndent) &&\n this.isEqualMeasureTokenValue(a.paragraphSpacing, b.paragraphSpacing) &&\n a.textCase === b.textCase &&\n a.textDecoration === b.textDecoration);\n }\n}\nexports.TokenComparator = TokenComparator;\n","\"use strict\";\n//\n// SDKTypographyToken.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypographyToken = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../..\");\nconst SDKToken_1 = require(\"./SDKToken\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass TypographyToken extends SDKToken_1.Token {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, baseToken, value, alias, properties, propertyValues) {\n super(baseToken, version, properties, propertyValues);\n this.value = value;\n if (alias) {\n this.value.referencedToken = alias;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Static building\n static create(version, brand, name, description, value, alias, referenceResolver, properties, propertyValues) {\n let baseToken = {\n id: undefined,\n persistentId: uuid_1.v4(),\n brandId: brand.persistentId,\n designSystemVersionId: version.id,\n type: __1.TokenType.typography,\n meta: {\n name: name,\n description: description\n },\n data: {},\n customPropertyOverrides: []\n };\n if (value) {\n // Raw value\n let tokenValue = this.typographyValueFromDefinition(value, referenceResolver);\n return new TypographyToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n else if (alias) {\n // Aliased value - copy and create raw from reference\n let tokenValue = {\n font: alias.value.font,\n fontSize: alias.value.fontSize,\n letterSpacing: alias.value.letterSpacing,\n lineHeight: alias.value.lineHeight,\n paragraphIndent: alias.value.paragraphIndent,\n paragraphSpacing: alias.value.paragraphSpacing,\n textDecoration: alias.value.textDecoration,\n textCase: alias.value.textCase,\n referencedToken: alias\n };\n return new TypographyToken(version, baseToken, tokenValue, undefined, properties, propertyValues);\n }\n }\n static typographyValueFromDefinition(definition, referenceResolver) {\n // No validation because\n let value = {}; // Empty container\n // Note: This will get changed eventually\n let fontFamily = definition['fontFamily']\n ? __1.GenericToken.genericValueFromDefinitionOrReference(definition['fontFamily'], referenceResolver)\n : __1.GenericToken.genericValueFromDefinition('Roboto');\n let fontWeight = definition['fontWeight']\n ? __1.GenericToken.genericValueFromDefinitionOrReference(definition['fontWeight'], referenceResolver)\n : __1.GenericToken.genericValueFromDefinition('Regular');\n value.font = {\n family: (fontFamily === null || fontFamily === void 0 ? void 0 : fontFamily.text) ? fontFamily.text : 'Roboto',\n subfamily: (fontWeight === null || fontWeight === void 0 ? void 0 : fontWeight.text) ? fontWeight.text : 'Regular',\n referencedToken: undefined\n };\n value.fontSize = definition['fontSize']\n ? __1.MeasureToken.measureValueFromDefinitionOrReference(definition['fontSize'], referenceResolver)\n : __1.MeasureToken.measureValueFromDefinition('12px');\n value.letterSpacing = definition['letterSpacing']\n ? __1.MeasureToken.measureValueFromDefinitionOrReference(definition['letterSpacing'], referenceResolver)\n : __1.MeasureToken.measureValueFromDefinition('0');\n value.lineHeight = definition['lineHeight']\n ? __1.MeasureToken.measureValueFromDefinitionOrReference(definition['lineHeight'], referenceResolver)\n : null;\n value.paragraphIndent = definition['paragraphIndent']\n ? __1.MeasureToken.measureValueFromDefinitionOrReference(definition['paragraphIndent'], referenceResolver)\n : __1.MeasureToken.measureValueFromDefinition('0');\n value.paragraphSpacing = definition['paragraphSpacing']\n ? __1.MeasureToken.measureValueFromDefinitionOrReference(definition['paragraphSpacing'], referenceResolver)\n : __1.MeasureToken.measureValueFromDefinition('0');\n value.referencedToken = undefined;\n let textDecoration = definition['textDecoration'];\n if (textDecoration && typeof textDecoration === 'string') {\n if (textDecoration === 'underline') {\n value.textDecoration = __1.TextDecoration.underline;\n }\n else if (textDecoration === 'strikethrough') {\n value.textDecoration = __1.TextDecoration.strikethrough;\n }\n else {\n value.textDecoration = __1.TextDecoration.original;\n }\n }\n else {\n value.textDecoration = __1.TextDecoration.original;\n }\n let textCase = definition['textCase'];\n if (textCase && typeof textCase === 'string') {\n textCase = textCase.toLowerCase().trim();\n if (textCase === 'camel' || textCase === 'camelcase') {\n value.textCase = __1.TextCase.camel;\n }\n else if (textCase === 'lower' || textCase === 'lowercase') {\n value.textCase = __1.TextCase.lower;\n }\n else if (textCase === 'upper' || textCase === 'uppercase') {\n value.textCase = __1.TextCase.upper;\n }\n else {\n value.textCase = __1.TextCase.original;\n }\n }\n else {\n value.textCase = __1.TextCase.original;\n }\n return value;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Writing\n toWriteObject() {\n let baseData = this.toBaseWriteObject();\n let specificData = baseData;\n specificData.data = TypographyToken.valueToWriteObject(this.value);\n return specificData;\n }\n static valueToWriteObject(value) {\n let valueObject = !value.referencedToken\n ? {\n font: {\n aliasTo: value.font.referencedToken ? value.font.referencedToken.id : undefined,\n value: value.font.referencedToken ? null : value.font\n },\n fontSize: {\n aliasTo: value.fontSize.referencedToken ? value.fontSize.referencedToken.id : undefined,\n value: value.fontSize.referencedToken\n ? null\n : {\n measure: value.fontSize.measure < 1 ? 1 : value.fontSize.measure,\n unit: value.fontSize.unit\n }\n },\n letterSpacing: {\n aliasTo: value.letterSpacing.referencedToken ? value.letterSpacing.referencedToken.id : undefined,\n value: value.letterSpacing.referencedToken\n ? null\n : {\n measure: value.letterSpacing.measure,\n unit: value.letterSpacing.unit\n }\n },\n paragraphIndent: {\n aliasTo: value.paragraphIndent.referencedToken ? value.paragraphIndent.referencedToken.id : undefined,\n value: value.paragraphIndent.referencedToken\n ? null\n : {\n measure: value.paragraphIndent.measure,\n unit: value.paragraphIndent.unit\n }\n },\n paragraphSpacing: {\n aliasTo: value.paragraphSpacing.referencedToken ? value.paragraphSpacing.referencedToken.id : undefined,\n value: value.paragraphSpacing.referencedToken\n ? null\n : {\n measure: value.paragraphSpacing.measure,\n unit: value.paragraphSpacing.unit\n }\n },\n lineHeight: value.lineHeight\n ? {\n aliasTo: value.lineHeight.referencedToken ? value.lineHeight.referencedToken.id : undefined,\n value: value.lineHeight.referencedToken\n ? null\n : {\n measure: value.lineHeight.measure,\n unit: value.lineHeight.unit\n }\n }\n : null,\n textCase: value.textCase,\n textDecoration: value.textDecoration\n }\n : undefined;\n return {\n aliasTo: value.referencedToken ? value.referencedToken.id : undefined,\n value: valueObject\n };\n }\n}\nexports.TypographyToken = TypographyToken;\n","\"use strict\";\n//\n// SDKUser.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2023 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.User = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- -- - --- --- --- --- --- --- --- --- --- ---\n// MARK: - Object Definition\nclass User {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(model) {\n var _a, _b;\n this.id = model.id;\n this.email = model.email;\n this.name = (_a = model.profile.name) !== null && _a !== void 0 ? _a : \"\";\n this.nickname = (_b = model.profile.nickname) !== null && _b !== void 0 ? _b : null;\n this.createdAt = model.createdAt ? new Date(model.createdAt) : null;\n }\n}\nexports.User = User;\n","\"use strict\";\n//\n// SDKToolsDesignTokensPlugin.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SupernovaToolsDesignTokensPlugin = void 0;\nconst SDKTokenGroup_1 = require(\"../../model/groups/SDKTokenGroup\");\nconst lodash_1 = __importDefault(require(\"lodash\"));\nconst SDKDTJSONConverter_1 = require(\"./utilities/SDKDTJSONConverter\");\nconst SDKDTJSONGroupBuilder_1 = require(\"./utilities/SDKDTJSONGroupBuilder\");\nconst SDKDTTokenGroupTreeMerger_1 = require(\"./utilities/SDKDTTokenGroupTreeMerger\");\nconst SDKDTTokenMerger_1 = require(\"./utilities/SDKDTTokenMerger\");\nconst SDKDTMapResolver_1 = require(\"./utilities/SDKDTMapResolver\");\nconst SDKDTThemeMerger_1 = require(\"./utilities/SDKDTThemeMerger\");\nconst SDKDTJSONParser_1 = require(\"./utilities/SDKDTJSONParser\");\nconst SDKSourceType_1 = require(\"../../model/enums/SDKSourceType\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Design Tokens Plugin Manipulation Tool */\nclass SupernovaToolsDesignTokensPlugin {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version) {\n this.sortMultiplier = 100;\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Primary synchronization\n synchronizeTokensFromData(data, mapping, settings) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.synchronizeTokensFromDataWithResults(data, mapping, settings);\n return true;\n });\n }\n synchronizeTokensFromDataWithResults(data, mapping, settings) {\n return __awaiter(this, void 0, void 0, function* () {\n const results = [];\n // Fetch brand and themes\n let brands = yield this.version.brands();\n let themes = yield this.version.themes();\n let sources = yield this.version.designSystem.sources();\n // Parse data from object\n let parser = new SDKDTJSONParser_1.DTJSONParser();\n let parsedData = yield parser.processPluginDataRepresentation(data);\n // Post process the data\n this.processTokenNodes(parsedData, mapping, brands, settings.verbose);\n for (let map of mapping) {\n // First, process default values for tokens, for each brand, separately, skipping themes as they need to be created later\n if (map.bindToTheme) {\n continue;\n }\n // Find the destination brand\n let brand = brands.find(b => b.persistentId === map.bindToBrand || (map.bindToBrand.toLowerCase().trim()) === b.name.toLowerCase().trim());\n if (!brand) {\n throw new Error(`Unknown brand ${map.bindToBrand} provided in binding.\\n\\nAvailable brands in this design system: [${brands.map(b => `${b.name} (id: ${b.persistentId})`)}]`);\n }\n this.setTokensOrigin(map, brand, sources);\n const mergeResult = yield this.mergeWithRemoteSource(map.processedNodes, brand, !settings.dryRun, settings.verbose, settings.preciseCopy);\n results.push({\n map: lodash_1.default.pick(map, [\"bindToBrand\", \"bindToTheme\", \"pluginSets\", \"pluginTheme\", \"type\"]),\n tokensCreated: mergeResult.diff.toCreate.map(t => t.token.id),\n tokensUpdated: mergeResult.diff.toUpdate.map(t => t.token.id),\n tokensDeleted: mergeResult.diff.toDelete.map(t => t.token.id)\n });\n if (settings.verbose) {\n console.log(`✅ (task done) Synchronized base tokens for brand ${brand.name}`);\n }\n }\n for (let map of mapping) {\n // Merge all remaining themes\n if (!map.bindToTheme) {\n continue;\n }\n // Find the destination brand\n let brand = brands.find(b => b.persistentId === map.bindToBrand || (map.bindToBrand.toLowerCase().trim()) === b.name.toLowerCase().trim());\n if (!brand) {\n throw new Error(`Unknown brand ${map.bindToBrand} provided in binding.\\n\\nAvailable brands in this design system: [${brands.map(b => `${b.name} (id: ${b.persistentId})`)}]`);\n }\n // Find the destination theme\n let matchedThemes = themes.filter(t => t.brandId === brand.persistentId &&\n (t.id === map.bindToTheme ||\n map.bindToTheme.toLowerCase().trim() === t.name.toLowerCase().trim() ||\n map.bindToTheme.toLowerCase().trim() === t.codeName.toLowerCase().trim()));\n if (matchedThemes.length > 1) {\n throw new Error(`Ambiguous theme ${map.bindToTheme} provided in binding.\\n\\nPlease, use unique name in mapping or rename theme name or code in Supernova.\\n\\nAvailable themes in this design system: ${brands.map(b => `Brand: ${b.name} (id: ${b.persistentId})\\n${themes.filter(th => th.brandId == b.persistentId).map(t => ` Theme: ${t.name} (id: ${t.id})`)}`)}`);\n }\n let theme = matchedThemes[0];\n if (!theme) {\n throw new Error(`Unknown theme ${map.bindToTheme} provided in binding.\\n\\nAvailable themes in this design system: ${brands.map(b => `Brand: ${b.name} (id: ${b.persistentId})\\n${themes.filter(th => th.brandId == b.persistentId).map(t => ` Theme: ${t.name} (id: ${t.id})`)}`)}`);\n }\n this.setTokensOrigin(map, brand, sources);\n const mergeResult = yield this.mergeThemeWithRemoteSource(map.processedNodes, brand, theme, !settings.dryRun, settings.verbose);\n results.push({\n map: lodash_1.default.pick(map, [\"bindToBrand\", \"bindToTheme\", \"pluginSets\", \"pluginTheme\", \"type\"]),\n tokensCreated: [],\n tokensUpdated: mergeResult.tokens.map(t => t.id),\n tokensDeleted: []\n });\n if (settings.verbose) {\n console.log(`✅ (task done) Synchronized themed tokens for brand ${brand.name}, theme ${theme.name}`);\n }\n }\n // If preciseCopy = true we should remove all themes' overrides, that are not in source\n if (settings.preciseCopy) {\n const mapInSource = mapping.filter(m => !!m.bindToTheme).map(m => ({ brand: m.bindToBrand, theme: m.bindToTheme.toLowerCase().trim() }));\n const themesInSource = mapInSource.map(m => m.theme);\n const themesToRemove = themes.filter(t => !(themesInSource.includes(t.id.toLowerCase().trim()) || themesInSource.includes(t.name.toLowerCase().trim())));\n for (const themeToRemove of themesToRemove) {\n let brand = brands.find(b => b.persistentId === themeToRemove.brandId);\n yield this.mergeThemeWithRemoteSource([], brand, themeToRemove, !settings.dryRun, settings.verbose, settings.preciseCopy);\n if (settings.verbose) {\n console.log(`✅ (task done) Removed themes' overrides for brand ${brand.name}, theme ${themeToRemove.name}`);\n }\n }\n }\n return results;\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Data processing\n processTokenNodes(parseResult, mapping, brands, verbose) {\n // Create base objects\n let mapResolver = new SDKDTMapResolver_1.DTMapResolver(this.version);\n // Resolve each theme or set separately\n for (let map of mapping) {\n let resolvedMap = mapResolver.mappedNodePools(map, parseResult.themes, parseResult.sets);\n if (!resolvedMap.nodes) {\n throw new Error(\"Resolved map doesn't contain resulting nodes\");\n }\n }\n let count = 0;\n for (let map of mapping) {\n count++;\n // Find appropriate brand\n let brand = brands.find(b => b.persistentId === map.bindToBrand || (map.bindToBrand.toLowerCase().trim()) === b.name.toLowerCase().trim());\n if (!brand) {\n throw new Error(`Unknown brand ${map.bindToBrand} provided in binding. Available brands in this design system: \\n\\n ${brands.map(b => `${b.name} (id: ${b.persistentId})`)}`);\n }\n let converter = new SDKDTJSONConverter_1.DTJSONConverter(this.version, mapping);\n let groupBuilder = new SDKDTJSONGroupBuilder_1.DTJSONGroupBuilder(this.version, mapping);\n let processedNodes = converter.convertNodesToTokens(map.nodes, brand);\n let processedGroups = groupBuilder.constructAllDefinableGroupsTrees(processedNodes, brand);\n map.processedNodes = processedNodes;\n map.processedGroups = processedGroups;\n if (verbose) {\n console.log(`\\n----- Processing mapping entry #${count}:`);\n console.log(`Processed nodes: ${processedNodes.length}`);\n console.log(`Processed groups: ${processedGroups.length}`);\n }\n }\n return mapping;\n }\n setTokensOrigin(map, brand, sources) {\n var _a;\n const sourceId = (_a = sources.find(s => s.type === SDKSourceType_1.SourceType.tokenStudio && s.brandId === brand.persistentId)) === null || _a === void 0 ? void 0 : _a.id;\n if (!sourceId) {\n return map;\n }\n for (let node of map.processedNodes) {\n node.token.origin = {\n name: node.token.name,\n sourceId,\n id: node.key,\n };\n }\n return map;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Validation\n /** Creates pure tree for validation purposes, ignoring any existing token state in workspaces. This method works offline. */\n createPureTokenTree(processedNodes, verbose) {\n return __awaiter(this, void 0, void 0, function* () {\n // Fake remote token data\n let upstreamTokenGroups = new Array();\n let upstreamTokens = new Array();\n // Assign correct sorting order to incoming tokens and token groups\n this.correctSortOrder(upstreamTokens, upstreamTokenGroups);\n // Merge trees\n let pack = [...upstreamTokens, ...upstreamTokenGroups];\n let treeMerger = new SDKDTTokenGroupTreeMerger_1.DTTokenGroupTreeMerger();\n let tokenMerger = new SDKDTTokenMerger_1.DTTokenMerger();\n let tokenMergeResult = tokenMerger.makeTokensDiff(upstreamTokens, processedNodes);\n let result = treeMerger.makeGroupsDiff(tokenMergeResult, pack);\n // Update referenced tokens in group based on the result\n let groups = [];\n for (let item of result.toCreate) {\n if (item.element instanceof SDKTokenGroup_1.TokenGroup) {\n item.element.childrenIds = item.childrenIds;\n groups.push(item.element);\n }\n }\n for (let item of result.toUpdate) {\n if (item.element instanceof SDKTokenGroup_1.TokenGroup) {\n item.element.childrenIds = item.childrenIds;\n groups.push(item.element);\n }\n }\n // Prepare data for take synchronization\n let tokensToWrite = processedNodes.map(n => n.token);\n let tokenGroupsToWrite = groups;\n // Log if needed\n if (verbose) {\n console.log(`\\n----- Token tree constructed: `);\n console.log(`Token groups updated: ${tokenGroupsToWrite.length}`);\n console.log(`Tokens created: ${tokenMergeResult.toCreate.length}`);\n console.log(`\\n`);\n }\n return {\n tokens: tokensToWrite,\n groups: tokenGroupsToWrite\n };\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Merging\n /** Loads remote source connected to this tool, then merges tokens and groups with it, creating union. Can optionally write to the source as well */\n mergeWithRemoteSource(processedNodes, brand, write, verbose, preciseCopy) {\n return __awaiter(this, void 0, void 0, function* () {\n // Get remote token data\n let upstreamTokenGroups = yield brand.tokenGroups();\n let upstreamTokens = yield brand.tokens();\n // Assign correct sorting order to incoming tokens and token groups\n this.correctSortOrder(upstreamTokens, upstreamTokenGroups);\n // Merge trees\n let pack = [...upstreamTokens, ...upstreamTokenGroups];\n let treeMerger = new SDKDTTokenGroupTreeMerger_1.DTTokenGroupTreeMerger();\n let tokenMerger = new SDKDTTokenMerger_1.DTTokenMerger();\n let tokenMergeResult = tokenMerger.makeTokensDiff(upstreamTokens, processedNodes);\n let result = treeMerger.makeGroupsDiff(tokenMergeResult, pack);\n // Update referenced tokens in group based on the result\n let groups = [];\n for (let item of result.toCreate) {\n if (item.element instanceof SDKTokenGroup_1.TokenGroup) {\n item.element.childrenIds = item.childrenIds;\n groups.push(item.element);\n }\n }\n for (let item of result.toUpdate) {\n if (item.element instanceof SDKTokenGroup_1.TokenGroup) {\n item.element.childrenIds = item.childrenIds;\n groups.push(item.element);\n }\n }\n // Synchronize changes if enabled\n let tokensToWrite = processedNodes.map(n => n.token);\n let tokenGroupsToWrite = groups;\n if (write) {\n let writer = brand.writer();\n yield writer.writeTokens(tokenMergeResult.toCreateOrUpdate.map(r => r.token), tokenGroupsToWrite, preciseCopy ? tokenMergeResult.toDelete.map(r => r.token) : [] // If precise copy is enabled, we'll delete the tokens that were not in the source\n );\n }\n if (verbose) {\n console.log(`\\n----- Base values synchronized: `);\n console.log(`Token groups updated: ${tokenGroupsToWrite.length}`);\n console.log(`Tokens created: ${tokenMergeResult.toCreate.length}`);\n console.log(`Tokens updated: ${tokenMergeResult.toUpdate.length}`);\n console.log(`Tokens deleted: ${preciseCopy ? tokenMergeResult.toDelete.length : `Deletion disabled because preciseCopy: false`}`);\n if (!write) {\n console.log(`Data were not written to workspace because dryRun was enabled`);\n }\n console.log(`\\n`);\n }\n return {\n tokens: tokensToWrite,\n groups: tokenGroupsToWrite,\n diff: tokenMergeResult\n };\n });\n }\n /** Loads remote source connected to this tool, then creates the diff from the base tree and updates the associated theme. Can optionally write to the source as well */\n mergeThemeWithRemoteSource(processedNodes, brand, theme, write, verbose, preciseCopy = false) {\n return __awaiter(this, void 0, void 0, function* () {\n // Get remote token data\n let upstreamTokens = yield brand.tokens(true);\n let upstreamTheme = theme;\n let themeMerger = new SDKDTThemeMerger_1.DTThemeMerger(this.version);\n let themeMergerResult = themeMerger.makeTheme(upstreamTokens, upstreamTheme, processedNodes, preciseCopy);\n if (write) {\n let writer = brand.writer();\n yield writer.writeTheme(themeMergerResult);\n }\n if (verbose) {\n console.log(`----- Theme values synchronized:`);\n console.log(`Created or updated overrides: ${themeMergerResult.overriddenTokens.length}`);\n if (!write) {\n console.log(`Data were not written to workspace because dryRun was enabled`);\n }\n }\n return {\n theme: theme,\n tokens: themeMergerResult.overriddenTokens\n };\n });\n }\n correctSortOrder(tokens, tokenGroups) {\n // Build maps so lookup is faster\n let tokenMap = new Map();\n let groupMap = new Map();\n tokens.forEach(t => tokenMap.set(t.id, t));\n tokenGroups.forEach(g => groupMap.set(g.id, g));\n // Correct order for each root\n let roots = tokenGroups.filter(g => g.isRoot);\n roots.forEach(r => this.correctSortOrderFromTypeRoot(r, tokenMap, groupMap));\n }\n correctSortOrderFromTypeRoot(root, tokenMap, groupMap) {\n var _a;\n let ids = this.flattenedIdsFromRoot(root, tokenMap, groupMap);\n for (let i = 0; i < ids.length; i++) {\n let element = (_a = tokenMap.get(ids[i])) !== null && _a !== void 0 ? _a : groupMap.get(ids[i]);\n element.sortOrder = i * this.sortMultiplier;\n }\n }\n flattenedIdsFromRoot(root, tokenMap, groupMap) {\n let result = [root.id];\n let ids = root.childrenIds;\n for (let id of ids) {\n result.push(id);\n let tokenGroup = groupMap.get(id);\n if (tokenGroup) {\n result = result.concat(this.flattenedIdsFromRoot(tokenGroup, tokenMap, groupMap));\n }\n else {\n let token = tokenMap.get(id);\n if (token) {\n result.push(id);\n }\n else {\n throw new Error(`Unable to find token or group ${id} of type ${root.tokenType}`);\n }\n }\n }\n return result;\n }\n}\nexports.SupernovaToolsDesignTokensPlugin = SupernovaToolsDesignTokensPlugin;\n","\"use strict\";\n//\n// SDKDTJSONConverter.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTJSONConverter = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst __1 = require(\"../../..\");\nconst SDKTokenType_1 = require(\"../../../model/enums/SDKTokenType\");\nconst SDKColorToken_1 = require(\"../../../model/tokens/SDKColorToken\");\nconst SDKGenericToken_1 = require(\"../../../model/tokens/SDKGenericToken\");\nconst SDKMeasureToken_1 = require(\"../../../model/tokens/SDKMeasureToken\");\nconst SDKRadiusToken_1 = require(\"../../../model/tokens/SDKRadiusToken\");\nconst SDKShadowToken_1 = require(\"../../../model/tokens/SDKShadowToken\");\nconst SDKTypographyToken_1 = require(\"../../../model/tokens/SDKTypographyToken\");\nconst SDKDTTokenMerger_1 = require(\"./SDKDTTokenMerger\");\nconst SDKDTTokenReferenceResolver_1 = require(\"./SDKDTTokenReferenceResolver\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility to DS Tokens plugin JSON to Supernova entities */\nclass DTJSONConverter {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, mapping) {\n this.version = version;\n this.mapping = mapping;\n this.referenceResolver = new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver();\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Conversion\n convertNodesToTokens(nodes, brand) {\n // Compute measures first. Measures can be used to do all types of calculation, so they must be available at the beginning for all other types of tokens\n this.convertNodesToTokensForSupportedNodeTypes([\n 'sizing',\n 'borderWidth',\n 'spacing',\n 'opacity',\n 'fontSizes',\n 'paragraphSpacing',\n 'lineHeights',\n 'letterSpacing',\n 'other',\n 'dimension'\n ], nodes, brand);\n // Compute other category. Currently used for tokens that won't be directly referenced (because they can't)\n this.convertNodesToTokensForSupportedNodeTypes(['fontFamilies', 'fontWeights'], nodes, brand);\n // Other tokens\n // this.convertNodesToTokensForSupportedNodeTypes(['other'], nodes, brand)\n // Color tokens\n this.convertNodesToTokensForSupportedNodeTypes(['color'], nodes, brand);\n // Radii tokens\n this.convertNodesToTokensForSupportedNodeTypes(['borderRadius'], nodes, brand);\n // Shadow tokens\n this.convertNodesToTokensForSupportedNodeTypes(['boxShadow'], nodes, brand);\n // Gradient tokens\n this.convertNodesToTokensForSupportedNodeTypes(['gradient'], nodes, brand);\n // Typography tokens\n this.convertNodesToTokensForSupportedNodeTypes(['typography'], nodes, brand);\n // Border tokens\n this.convertNodesToTokensForSupportedNodeTypes(['border'], nodes, brand);\n // Fix nodes so they are aligned with the way Supernova expects root groups to be named\n let processedNodes = this.referenceResolver.unmappedValues();\n this.remapRootNodeKeys(processedNodes);\n // Retrieve all tokens\n return processedNodes;\n }\n remapRootNodeKeys(nodes) {\n for (let node of nodes) {\n let path = Array.from(node.path);\n let firstSegment = path.splice(0, 1)[0];\n // Remap remote to proper destination\n switch (node.token.tokenType) {\n case SDKTokenType_1.TokenType.color:\n firstSegment = 'Color';\n break;\n case SDKTokenType_1.TokenType.gradient:\n firstSegment = 'Gradient';\n break;\n case SDKTokenType_1.TokenType.measure:\n firstSegment = 'Measure';\n break;\n case SDKTokenType_1.TokenType.radius:\n firstSegment = 'Radius';\n break;\n case SDKTokenType_1.TokenType.shadow:\n firstSegment = 'Shadow';\n break;\n case SDKTokenType_1.TokenType.typography:\n firstSegment = 'Typography';\n break;\n case SDKTokenType_1.TokenType.generic:\n firstSegment = 'Generic';\n break;\n case SDKTokenType_1.TokenType.border:\n firstSegment = 'Border';\n break;\n break;\n default:\n throw new Error(`Unsupported type ${firstSegment} in remapping of nodes`);\n }\n let secondSegment = undefined;\n switch (node.originalType) {\n case 'borderRadius':\n secondSegment = 'Border Radius';\n break;\n case 'borderWidth':\n secondSegment = 'Border Width';\n break;\n case 'sizing':\n secondSegment = 'Sizing';\n break;\n case 'fontSizes':\n secondSegment = 'Font Size';\n break;\n case 'paragraphSpacing':\n secondSegment = 'Paragraph Spacing';\n break;\n case 'lineHeights':\n secondSegment = 'Line Height';\n break;\n case 'letterSpacing':\n secondSegment = 'Letter Spacing';\n break;\n case 'spacing':\n secondSegment = 'Spacing';\n break;\n case 'opacity':\n secondSegment = 'Opacity';\n break;\n case 'dimension':\n secondSegment = 'Dimension';\n break;\n case 'fontFamilies':\n secondSegment = 'Font Family';\n break;\n case 'fontWeights':\n secondSegment = 'Font Weight';\n break;\n default:\n // Other types than listed should be ignored\n break;\n }\n // Remap original type and add extra group, if needed\n if (secondSegment) {\n path = [firstSegment, secondSegment, ...path];\n }\n else {\n path = [firstSegment, ...path];\n }\n node.path = path;\n // Rebuild key\n node.key = SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.token.name);\n }\n return nodes;\n }\n convertNodesToTokensForSupportedNodeTypes(types, nodes, brand) {\n // Filter out only nodes that we want to be resolving - we can't be resolving everything at once\n nodes = nodes.filter(n => types.includes(n.type));\n let unprocessedTokens = new Array();\n let originalNodeIndex = -1;\n // Convert atomic tokens, ie. tokens without references\n for (let node of nodes) {\n originalNodeIndex++;\n if (!this.referenceResolver.valueHasReference(node.value)) {\n let token = this.convertAtomicNode(node, brand);\n this.referenceResolver.addAtomicToken(token, originalNodeIndex);\n }\n else {\n unprocessedTokens.push([node, originalNodeIndex]);\n }\n }\n // Now we have all atomic tokens processed, we can start creating references\n // References will be emptying pool until they are all resolved (this can take multiple\n // passes, resolving one depth level with each pass)\n let depth = 0;\n let maximumDepth = 100;\n while (unprocessedTokens.length !== 0) {\n let unprocessedDepthTokens = new Array();\n for (let [node, index] of unprocessedTokens) {\n // NOTE: Self-reference now works with original-index logic in addAtomicNode\n // Keep it commented meanwhile to ensure it works on bigger data set\n // let nodeKey = `{${node.path.slice(1).join('.')}.${node.name}}`\n // // We might want to skip more complex self reference (in formula)\n // if (node.value === nodeKey) {\n // console.log(`Skip self reference ${node.value}`)\n // continue\n // }\n let token = this.convertReferencedNode(node, brand);\n if (token) {\n this.referenceResolver.addAtomicToken(token, index);\n }\n else {\n unprocessedDepthTokens.push([node, index]);\n }\n }\n if (unprocessedDepthTokens.length === 0) {\n break;\n }\n unprocessedTokens = unprocessedDepthTokens;\n depth += 1;\n if (depth > maximumDepth) {\n throw new Error(`Engine was not able to solve references for the following tokens in a reasonable time: \\n\\n${unprocessedTokens\n .map(([t, i]) => SDKDTTokenMerger_1.DTTokenMerger.buildKey(t.path, t.name))\n .join('\\n')}\\n\\nThis can be caused by few things:\\n\\n- Not including all token sets you wanted to reference in the mapping file\\n- Reference pointing to the token that doesn't exist\\nCircular reference where two tokens reference each other\\nUsing (other) token for defining strings, instead of numbers (current limitation)\\n\\nIf you are sure this is not the case, please report the bug on our Discord (https://community.supernova.io) and we'll help you solve it :)`);\n }\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Atomic nodes\n convertAtomicNode(node, brand) {\n let snType = this.convertDTTypeToSupernovaType(node.type);\n switch (snType) {\n case SDKTokenType_1.TokenType.measure:\n return this.convertMeasureAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.color:\n return this.convertColorAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.radius:\n return this.convertRadiusAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.shadow:\n return this.convertShadowAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.border:\n return this.convertBorderAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.gradient:\n return this.convertGradientAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.typography:\n return this.convertTypographyAtomicNode(node, brand);\n case SDKTokenType_1.TokenType.generic:\n return this.convertGenericAtomicNode(node, brand);\n default:\n throw new Error('Unsupported token type ' + snType);\n }\n }\n convertColorAtomicNode(node, brand) {\n let constructedToken = SDKColorToken_1.ColorToken.create(this.version, brand, node.name, node.description, node.value, undefined, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertMeasureAtomicNode(node, brand) {\n let constructedToken = SDKMeasureToken_1.MeasureToken.create(this.version, brand, node.name, node.description, node.value, undefined, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertRadiusAtomicNode(node, brand) {\n let constructedToken = SDKRadiusToken_1.RadiusToken.create(this.version, brand, node.name, node.description, node.value, undefined, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertShadowAtomicNode(node, brand) {\n let constructedToken = SDKShadowToken_1.ShadowToken.create(this.version, brand, node.name, node.description, node.value, undefined, this.referenceResolver, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertBorderAtomicNode(node, brand) {\n let constructedToken = __1.BorderToken.create(this.version, brand, node.name, node.description, node.value, undefined, this.referenceResolver, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertGradientAtomicNode(node, brand) {\n let constructedToken = __1.GradientToken.create(this.version, brand, node.name, node.description, node.value, undefined, this.referenceResolver, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertTypographyAtomicNode(node, brand) {\n let constructedToken = SDKTypographyToken_1.TypographyToken.create(this.version, brand, node.name, node.description, node.value, undefined, this.referenceResolver, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n convertGenericAtomicNode(node, brand) {\n let constructedToken = SDKGenericToken_1.GenericToken.create(this.version, brand, node.name, node.description, node.value, undefined, [], []);\n return {\n token: constructedToken,\n originalType: node.type,\n path: node.path,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Referenced nodes\n convertReferencedNode(node, brand) {\n if (!this.referenceResolver.isBalancedReference(node.value)) {\n throw new Error(`Invalid reference syntax in token value: ${node.value}`);\n }\n if (this.referenceResolver.valueIsPureReference(node.value)) {\n // Option 1: Pure reference, in which case we can create the token directly based on the reference\n return this.convertPureReferencedNode(node, brand);\n }\n else {\n // Option 2: The value is more complex string. We first need to resolve the references, reduce the issue, then try to build the token again\n return this.convertComplexReferenceNode(node, brand);\n }\n }\n convertPureReferencedNode(node, brand) {\n let valueAsReference = node.value;\n let resolvedToken = this.referenceResolver.lookupReferencedToken(valueAsReference);\n if (resolvedToken) {\n let constructedToken;\n let snType = this.convertDTTypeToSupernovaType(node.type);\n switch (snType) {\n case SDKTokenType_1.TokenType.color:\n constructedToken = SDKColorToken_1.ColorToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, [], []);\n break;\n case SDKTokenType_1.TokenType.measure:\n constructedToken = SDKMeasureToken_1.MeasureToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, [], []);\n break;\n case SDKTokenType_1.TokenType.radius:\n constructedToken = SDKRadiusToken_1.RadiusToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, [], []);\n break;\n case SDKTokenType_1.TokenType.shadow:\n constructedToken = SDKShadowToken_1.ShadowToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, this.referenceResolver, [], []);\n break;\n case SDKTokenType_1.TokenType.border:\n constructedToken = __1.BorderToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, this.referenceResolver, [], []);\n break;\n case SDKTokenType_1.TokenType.gradient:\n constructedToken = __1.GradientToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, this.referenceResolver, [], []);\n break;\n case SDKTokenType_1.TokenType.typography:\n constructedToken = SDKTypographyToken_1.TypographyToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, this.referenceResolver, [], []);\n break;\n case SDKTokenType_1.TokenType.generic:\n constructedToken = SDKGenericToken_1.GenericToken.create(this.version, brand, node.name, node.description, undefined, resolvedToken, [], []);\n break;\n default:\n throw new Error('Unsupported token type ' + snType);\n }\n return {\n token: constructedToken,\n path: node.path,\n originalType: node.type,\n key: SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name)\n };\n }\n return undefined;\n }\n convertComplexReferenceNode(node, brand) {\n let valueAsReference = node.value;\n let references = this.referenceResolver.lookupAllReferencedTokens(valueAsReference);\n if (!references) {\n return undefined;\n }\n else {\n let resolvedValue = this.referenceResolver.replaceAllReferencedTokens(valueAsReference, references);\n // Create temporary node with replaced value that will have no more references\n let resolvedNode = {\n rootKey: node.rootKey,\n name: node.name,\n path: node.path,\n type: node.type,\n value: resolvedValue,\n description: node.description\n };\n let processedNode = this.convertAtomicNode(resolvedNode, brand);\n return processedNode;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Convenience\n convertDTTypeToSupernovaType(type) {\n switch (type) {\n case 'color':\n return SDKTokenType_1.TokenType.color;\n case 'borderRadius':\n return SDKTokenType_1.TokenType.radius;\n case 'boxShadow':\n return SDKTokenType_1.TokenType.shadow;\n case 'gradient':\n return SDKTokenType_1.TokenType.gradient;\n case 'typography':\n return SDKTokenType_1.TokenType.typography;\n case 'border':\n return SDKTokenType_1.TokenType.border;\n case 'borderWidth':\n case 'sizing':\n case 'opacity':\n case 'spacing':\n case 'fontSizes':\n case 'paragraphSpacing':\n case 'letterSpacing':\n case 'lineHeights':\n case 'other':\n case 'dimension':\n return SDKTokenType_1.TokenType.measure;\n case 'fontFamilies':\n case 'fontWeights':\n return SDKTokenType_1.TokenType.generic;\n default:\n throw new Error('Unsupported token type ' + type);\n }\n }\n}\nexports.DTJSONConverter = DTJSONConverter;\n","\"use strict\";\n//\n// SDKDTJSONGroupBuilder.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTJSONGroupBuilder = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility for building token trees */\nclass DTJSONGroupBuilder {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version, mapping) {\n this.version = version;\n this.mapping = mapping;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Tree builder\n /** Create mapping between DT <> SN and assign all tokens into their respective newly created groups */\n constructAllDefinableGroupsTrees(processedNodes, brand) {\n // Base mapping function\n let mapping = [\n { snType: __1.TokenType.color, dtType: 'color', snRootName: 'Color', dtRootName: 'color' }\n ];\n let groups = [];\n for (let map of mapping) {\n groups = groups.concat(this.constructGroupTree(processedNodes, map, brand));\n }\n return groups;\n }\n /** Create group tree needed to contain entire token tree for particular mapping combination */\n constructGroupTree(processedNodes, mapping, brand) {\n // Select only nodes with types corresponding to the group\n let nodes = processedNodes.filter(n => n.token.tokenType === mapping.snType);\n let rootGroup = this.createGroup(brand.persistentId, this.version.id, mapping.snRootName, mapping.snType, true);\n // Set main root group\n let mappedGroups = new Map();\n mappedGroups.set('', rootGroup);\n for (let node of nodes) {\n let key = node.path.join('.');\n this.constructGroupChain(this.version, brand, mappedGroups, node.path);\n let group = mappedGroups.get(key);\n group = group.toMutatedObject(group.childrenIds.concat(node.token.id));\n mappedGroups.set(key, group);\n }\n return Array.from(mappedGroups.values());\n }\n constructGroupChain(version, brand, groups, path) {\n if (path.length === 0) {\n return;\n }\n // Get parent object\n let parentPath = '';\n let parent = groups.get(parentPath);\n let partialPath = [];\n for (let segment of path) {\n partialPath.push(segment);\n let partialKey = partialPath.join('.');\n let object = groups.get(partialKey);\n if (object) {\n // Path exists so we don't do anything else\n }\n else {\n // Path doesn't exist, we create it\n let group = new __1.TokenGroup({\n brandId: brand.persistentId,\n tokenType: __1.TokenType.color,\n designSystemVersionId: version.id,\n persistentId: uuid_1.v4(),\n isRoot: false,\n id: undefined,\n meta: {\n name: segment,\n description: ''\n },\n childrenIds: []\n });\n // Assign to parent\n parent = parent.toMutatedObject(parent.childrenIds.concat(group.id));\n groups.set(parentPath, parent);\n parent = group;\n // Store group\n groups.set(partialKey, group);\n parentPath = partialKey;\n }\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Group manipulation\n createGroup(brandId, versionId, name, type, isRoot) {\n return new __1.TokenGroup({\n brandId: brandId,\n tokenType: type,\n designSystemVersionId: versionId,\n persistentId: uuid_1.v4(),\n isRoot: isRoot,\n id: undefined,\n meta: {\n name: name,\n description: ''\n },\n childrenIds: []\n });\n }\n}\nexports.DTJSONGroupBuilder = DTJSONGroupBuilder;\n","\"use strict\";\n//\n// SDKDTJSONLoader.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTParsedThemeSetPriority = void 0;\nvar DTParsedThemeSetPriority;\n(function (DTParsedThemeSetPriority) {\n DTParsedThemeSetPriority[\"source\"] = \"source\";\n DTParsedThemeSetPriority[\"enabled\"] = \"enabled\";\n DTParsedThemeSetPriority[\"disabled\"] = \"disabled\";\n})(DTParsedThemeSetPriority = exports.DTParsedThemeSetPriority || (exports.DTParsedThemeSetPriority = {}));\n","\"use strict\";\n//\n// SDKDTJSONLoader.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTJSONParser = exports.DTParsedThemeSetPriority = void 0;\nvar DTParsedThemeSetPriority;\n(function (DTParsedThemeSetPriority) {\n DTParsedThemeSetPriority[\"source\"] = \"source\";\n DTParsedThemeSetPriority[\"enabled\"] = \"enabled\";\n DTParsedThemeSetPriority[\"disabled\"] = \"disabled\";\n})(DTParsedThemeSetPriority = exports.DTParsedThemeSetPriority || (exports.DTParsedThemeSetPriority = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Design Tokens Plugin Manipulation Tool */\nclass DTJSONParser {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() {\n this.themeBuffer = new Array();\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Data Parser\n processPluginDataRepresentation(definition) {\n return __awaiter(this, void 0, void 0, function* () {\n let sets = this.processSets(definition);\n let nodes = this.parseNode([], definition, sets);\n let themes = this.processThemes(definition, sets);\n let setArray = Array.from(sets.values());\n console.log(`----- Loaded token data:`);\n console.log(`Nodes: ${nodes.length}`);\n console.log(`Sets: ${setArray.length}, ${setArray.map(s => `\\n | ${s.name}: ${s.contains.length} nodes`)}`);\n console.log(`Themes: ${themes.length}, ${themes.map(t => `\\n | ${t.name}: ${t.selectedTokenSets.filter(s => s.priority !== DTParsedThemeSetPriority.disabled).length} sets`)}`);\n return {\n nodes: nodes,\n sets: Array.from(sets.values()),\n themes: themes\n };\n });\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Theme Parser\n processThemes(definition, tokenSets) {\n let themes = new Array();\n let order = [];\n // Find metadata\n let metadata = definition['$metadata'];\n if (metadata) {\n let setOrder = metadata['tokenSetOrder'];\n if (setOrder) {\n order = setOrder;\n }\n }\n let themeDefinitions = definition['$themes']; // Parse each theme separately\n if (themeDefinitions) {\n for (let themeObject of themeDefinitions) {\n let name = themeObject['name'];\n let id = themeObject['id'];\n let selectedTokenSets = themeObject['selectedTokenSets'];\n if (!name || !id || !selectedTokenSets) {\n // Skip execution of this theme as it doesn't have correct information provided\n throw new Error('Incorrect theme data structure, missing one of required attributes [name, id, selectedTokenSets]');\n }\n // Process token sets\n let pairedSets = new Array();\n for (let [tokenSetName, unknownPriority] of Object.entries(selectedTokenSets)) {\n let setName = tokenSetName;\n let setPriority = unknownPriority;\n let fetchedSet = tokenSets.get(setName);\n let pair = {\n priority: setPriority,\n set: fetchedSet\n };\n pairedSets.push({ name: setName, pair });\n }\n // Respect $metadata.json -> tokenSetOrder\n if (order.length) {\n // We could have process tokens in reverse orders here, and do not replace tokens at all:\n // i.e. trying to resolve higher priority tokens first and add them in DTTokenReferenceResolver\n // but lower priority tokens still could be resolved earlier, so reverse sort order would not help.\n pairedSets.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n let theme = {\n selectedTokenSets: pairedSets.map(o => o.pair),\n name: name,\n id: id\n };\n themes.push(theme);\n }\n }\n return themes;\n }\n processSets(definition) {\n let sets = new Map();\n // Parse top level objects as sets, unless they contain $\n // Value is ignored, as that is parsed separately\n for (let [setName, value] of Object.entries(definition)) {\n if (!setName.startsWith('$')) {\n let set = {\n contains: [],\n name: setName,\n id: setName\n };\n sets.set(setName, set);\n }\n }\n return sets;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Node Parser\n parseNode(path, objects, sets) {\n var _a, _b, _c;\n let result = [];\n for (let [name, value] of Object.entries(objects)) {\n if (typeof value === 'object') {\n if ((value.hasOwnProperty('value') && value.hasOwnProperty('type')) ||\n (value.hasOwnProperty('$value') && value.hasOwnProperty('$type'))) {\n // Treat as value\n let entity = {\n rootKey: path[0],\n name: name,\n path: path,\n type: (_a = value['type']) !== null && _a !== void 0 ? _a : value['$type'],\n value: (_b = value['value']) !== null && _b !== void 0 ? _b : value['$value'],\n description: (_c = value['description']) !== null && _c !== void 0 ? _c : null\n };\n let set = sets.get(entity.rootKey);\n if (!set) {\n throw new Error('Node references unknown set');\n }\n // Modify entity if it contains color but is really a gradient\n entity = this.modifyEntityForParse(entity);\n set.contains.push(entity);\n result.push(entity);\n }\n else if (name.startsWith('$')) {\n // Skipping keys internal to design token plugin because we are currently not using them\n }\n else {\n // Treat as leaf\n result = result.concat(this.parseNode(path.concat(name), value, sets));\n }\n }\n else {\n throw new Error('Unable to parse, unsupported structure in token node leaf');\n }\n }\n return result;\n }\n modifyEntityForParse(entity) {\n // Modify some entities to be parsed correctly by directly manipulating their values\n // Workaround for differentiating between color and gradient - as they are both defined as color in TS\n if (entity.type === 'color') {\n if (entity.value.includes('linear-gradient')) {\n entity.type = 'gradient';\n entity.value = entity.value.replace('linear-gradient', '');\n }\n else if (entity.value.includes('radial-gradient')) {\n entity.type = 'gradient';\n entity.value = entity.value.replace('radial-gradient', '');\n }\n }\n // Workaround for opacity not being defined as percentage\n if (entity.type === 'opacity') {\n try {\n const entityValue = entity.value;\n const opacity = parseFloat(entity.value);\n const isUnitless = !Number.isNaN(Number(entity.value));\n if (isUnitless && (opacity >= 0 || opacity <= 1)) {\n entity.value = `${opacity * 100}%`;\n }\n }\n catch (e) {\n // Do nothing here\n }\n }\n return entity;\n }\n}\nexports.DTJSONParser = DTJSONParser;\n","\"use strict\";\n//\n// SDKDTMapLoader.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTPluginToSupernovaMapType = void 0;\nvar DTPluginToSupernovaMapType;\n(function (DTPluginToSupernovaMapType) {\n DTPluginToSupernovaMapType[\"theme\"] = \"theme\";\n DTPluginToSupernovaMapType[\"set\"] = \"set\";\n})(DTPluginToSupernovaMapType = exports.DTPluginToSupernovaMapType || (exports.DTPluginToSupernovaMapType = {}));\n","\"use strict\";\n//\n// SDKDTMapResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTMapResolver = void 0;\nconst SDKDTJSONLoader_1 = require(\"./SDKDTJSONLoader\");\nconst SDKDTTokenMerger_1 = require(\"./SDKDTTokenMerger\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility to resolve token maps */\nclass DTMapResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version) {\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Conversion\n mappedNodePools(map, themes, sets) {\n // Remap for performance\n let setMap = new Map();\n for (let set of sets) {\n setMap.set(set.id, set);\n }\n // Resolve which sets we need to use\n let tokenSetToUse = new Array();\n if ((map.pluginSets && map.pluginTheme) || (!map.pluginSets && !map.pluginTheme)) {\n throw new Error(`Either token theme or token set should be defined in the mapping`);\n }\n else if (map.pluginSets) {\n for (let pluginSet of map.pluginSets) {\n let set = setMap.get(pluginSet);\n if (!set) {\n throw new Error(`Mapping references token set '${pluginSet}' that wasn't defined in the sourced data`);\n }\n tokenSetToUse.push(set);\n }\n }\n else if (map.pluginTheme) {\n let theme = themes.find(t => t.id === map.pluginTheme || t.name === map.pluginTheme);\n if (!theme) {\n throw new Error(`Incorrect plugin theme ${map.pluginTheme} referenced by the mapping.\\n\\nAvailable plugin themes are: [${themes.map(t => t.name)}]\\nYou can also use any of loaded sets: [${sets.map(s => s.name)}]`);\n }\n // Find if there is a source first\n for (let pair of theme.selectedTokenSets) {\n if (pair.priority === SDKDTJSONLoader_1.DTParsedThemeSetPriority.source) {\n let set = setMap.get(pair.set.id);\n if (!set) {\n throw new Error(`Incorrect plugin set ${pair.set.id} referenced by the mapping.\\n\\nAvailable plugin sets are: [${sets.map(s => s.name)}]\\nYou can also use any of loaded themes: [${themes.map(t => t.name)}]`);\n }\n tokenSetToUse.push(set);\n }\n }\n // Find other enabled sources\n for (let pair of theme.selectedTokenSets) {\n if (pair.priority === SDKDTJSONLoader_1.DTParsedThemeSetPriority.enabled) {\n let set = setMap.get(pair.set.id);\n if (!set) {\n throw new Error(`Incorrect plugin set ${pair.set.id} referenced by the mapping.\\n\\nAvailable plugin sets are: [${sets.map(s => s.name)}]\\nYou can also use any of loaded themes: [${themes.map(t => t.name)}]`);\n }\n tokenSetToUse.push(set);\n }\n }\n }\n // Compute unique nodes based on the set combination provided, and retrieve enhanced map\n let uniqueNodes = this.computeUniqueNodesFromSets(tokenSetToUse);\n map.nodes = uniqueNodes;\n return map;\n }\n computeUniqueNodesFromSets(sets) {\n // This method will compute unique nodes based on the created key for the node.\n // If some sets override previous nodes, they'll be overriden, otherwise union is constructed.\n // There can always only be a single path-unique node, the last one applied from all overrides\n let uniqueNodes = new Map();\n for (let set of sets) {\n for (let node of set.contains) {\n let key = SDKDTTokenMerger_1.DTTokenMerger.buildKey(node.path, node.name);\n uniqueNodes.set(key, node);\n }\n }\n return Array.from(uniqueNodes.values());\n }\n}\nexports.DTMapResolver = DTMapResolver;\n","\"use strict\";\n//\n// SDKDTThemeMerger.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTThemeMerger = void 0;\nconst SDKTokenTheme_1 = require(\"../../../model/themes/SDKTokenTheme\");\nconst SDKTokenCompator_1 = require(\"../../../model/tokens/SDKTokenCompator\");\nconst __1 = require(\"../../..\");\nconst lodash_1 = __importDefault(require(\"lodash\"));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility allowing merging of two pools of tokens */\nclass DTThemeMerger {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(version) {\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Merger\n makeTheme(upstreamTokens, upstreamTheme, processedNodes, preciseCopy = false) {\n var _a;\n // Build map of existing tokens using path keys\n let existingOverrides = new Map();\n for (let token of upstreamTheme.overriddenTokens) {\n let key = this.buildKey(this.buildPath(token), token.name);\n existingOverrides.set(key, token);\n }\n let newTokenSet = new Map();\n for (let token of processedNodes) {\n let key = this.buildKey(token.path, token.token.name);\n newTokenSet.set(key, token);\n }\n let tokensInThemeButNotInUpstream = new Map(newTokenSet);\n // Create theme replica to fill with tokens\n let themeReplica = new SDKTokenTheme_1.TokenTheme({\n persistentId: upstreamTheme.id,\n id: upstreamTheme.versionedId,\n brandId: upstreamTheme.brandId,\n meta: {\n name: upstreamTheme.name,\n description: upstreamTheme.description\n },\n createdAt: upstreamTheme.createdAt ? upstreamTheme.createdAt.toISOString() : undefined,\n updatedAt: upstreamTheme.updatedAt ? upstreamTheme.updatedAt.toISOString() : undefined,\n codeName: upstreamTheme.codeName,\n overrides: [],\n designSystemVersionId: upstreamTheme.designSystemVersionId\n }, {\n id: this.version.id\n });\n // Resolve each existing token that belong to the theme\n for (let token of upstreamTokens) {\n let key = this.buildKey(this.buildPath(token), token.name);\n // We will transform 'GenericToken' to 'Generic' to match keys\n let fallbackKey = this.buildFallbackPathForGeneric(token);\n let incomingThemeOverride = (_a = newTokenSet.get(key)) !== null && _a !== void 0 ? _a : newTokenSet.get(fallbackKey);\n let currentThemeOverride = existingOverrides.get(key);\n tokensInThemeButNotInUpstream.delete(key);\n tokensInThemeButNotInUpstream.delete(fallbackKey);\n if (incomingThemeOverride) {\n this.replaceIdAcrossAllPossibleReferences(incomingThemeOverride, token.id, processedNodes);\n // console.log(`overriding token from FT for key ${key}`)\n let incomingThemeDiffersFromBase = !SDKTokenCompator_1.TokenComparator.isEqualTokenValue(token, incomingThemeOverride.token);\n let incomingThemeDiffersFromUpstreamTheme = currentThemeOverride && !SDKTokenCompator_1.TokenComparator.isEqualTokenValue(currentThemeOverride, incomingThemeOverride.token);\n // For any defined override, use the new token, and align its id with the original token, if the token has different value\n if (incomingThemeDiffersFromBase) {\n // console.log(`value is not the same for token ${key}, using override`)\n incomingThemeOverride.token.id = token.id;\n themeReplica.overriddenTokens.push(incomingThemeOverride.token);\n }\n else if (incomingThemeDiffersFromUpstreamTheme) {\n // base same as incoming theme, but differs from existing theme => we should remove override completely\n }\n else {\n // console.log(`skipping override`)\n // Otherwise use override that already exists without modifications\n if (currentThemeOverride) {\n // console.log(`overriding token from existing overrides ${key}`)\n themeReplica.overriddenTokens.push(currentThemeOverride);\n }\n else {\n // console.log(`using default value for token ${key}, no override found`)\n }\n }\n }\n else {\n // Otherwise use override that already exists without modifications\n // Unless preciseCopy = true and we need to remove currentThemeOverride\n if (currentThemeOverride && !preciseCopy) {\n // console.log(`overriding token from existing overrides ${key}`)\n themeReplica.overriddenTokens.push(currentThemeOverride);\n }\n else {\n // console.log(`using default value for token ${key}, no override found`)\n }\n }\n }\n // Process tokens that were not in upstream, but are referenced in this theme\n this.inlineTokens(themeReplica, tokensInThemeButNotInUpstream);\n return themeReplica;\n }\n inlineTokens(themeReplica, tokensInThemeButNotInUpstream) {\n var _a;\n let idsCandidates = [...tokensInThemeButNotInUpstream.values()];\n let themeOverrideRefs = lodash_1.default.flatMap(themeReplica.overriddenTokens, t => { var _a, _b; return [(_b = (_a = t.value) === null || _a === void 0 ? void 0 : _a.referencedToken) === null || _b === void 0 ? void 0 : _b.id, ...this.getRefIdsFromComplexTokens(t)]; })\n .filter(Boolean);\n let candidates = idsCandidates.filter(c => themeOverrideRefs.includes(c.token.id));\n for (let candidate of candidates) {\n for (let override of themeReplica.overriddenTokens) {\n let token = override;\n if (!token) {\n continue;\n }\n if (((_a = token.value.referencedToken) === null || _a === void 0 ? void 0 : _a.id) === candidate.token.id) {\n // Do we need to copy something else apart from value?\n token.value = candidate.token.value;\n }\n this.inlineValueIntoComplexTokens(token, candidate.token.id, candidate.token.value);\n }\n }\n }\n getRefIdsFromComplexTokens(token) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n switch (token.tokenType) {\n case __1.TokenType.blur: return [(_c = (_b = (_a = token.value) === null || _a === void 0 ? void 0 : _a.radius) === null || _b === void 0 ? void 0 : _b.referencedToken) === null || _c === void 0 ? void 0 : _c.id];\n case __1.TokenType.border: {\n const value = (_d = token) === null || _d === void 0 ? void 0 : _d.value;\n const refs = [value === null || value === void 0 ? void 0 : value.color, value === null || value === void 0 ? void 0 : value.width];\n return refs.map(r => { var _a; return (_a = r === null || r === void 0 ? void 0 : r.referencedToken) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);\n }\n case __1.TokenType.gradient: {\n const stops = (_g = (_f = (_e = token) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.stops) !== null && _g !== void 0 ? _g : [];\n return stops.map(r => { var _a, _b; return (_b = (_a = r === null || r === void 0 ? void 0 : r.color) === null || _a === void 0 ? void 0 : _a.referencedToken) === null || _b === void 0 ? void 0 : _b.id; }).filter(Boolean);\n }\n case __1.TokenType.radius: {\n const value = (_h = token) === null || _h === void 0 ? void 0 : _h.value;\n const refs = [value === null || value === void 0 ? void 0 : value.radius, value === null || value === void 0 ? void 0 : value.topLeft, value === null || value === void 0 ? void 0 : value.topRight, value === null || value === void 0 ? void 0 : value.bottomLeft, value === null || value === void 0 ? void 0 : value.bottomRight];\n return refs.map(r => { var _a; return (_a = r === null || r === void 0 ? void 0 : r.referencedToken) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);\n }\n case __1.TokenType.shadow: {\n const value = (_j = token) === null || _j === void 0 ? void 0 : _j.value;\n const refs = [value === null || value === void 0 ? void 0 : value.radius, value === null || value === void 0 ? void 0 : value.color, value === null || value === void 0 ? void 0 : value.spread, value === null || value === void 0 ? void 0 : value.x, value === null || value === void 0 ? void 0 : value.y];\n return refs.map(r => { var _a; return (_a = r === null || r === void 0 ? void 0 : r.referencedToken) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);\n }\n case __1.TokenType.typography: {\n const value = (_k = token) === null || _k === void 0 ? void 0 : _k.value;\n const refs = [value === null || value === void 0 ? void 0 : value.fontSize, value === null || value === void 0 ? void 0 : value.letterSpacing, value === null || value === void 0 ? void 0 : value.lineHeight, value === null || value === void 0 ? void 0 : value.paragraphIndent, value === null || value === void 0 ? void 0 : value.paragraphSpacing, value === null || value === void 0 ? void 0 : value.font];\n return refs.map(r => { var _a; return (_a = r === null || r === void 0 ? void 0 : r.referencedToken) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);\n }\n default: return [];\n }\n }\n inlineValueIntoComplexTokens(token, candidateId, candidateValueToInline) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37;\n switch (token.tokenType) {\n case __1.TokenType.blur: {\n const t = token;\n if (((_c = (_b = (_a = t === null || t === void 0 ? void 0 : t.value) === null || _a === void 0 ? void 0 : _a.radius) === null || _b === void 0 ? void 0 : _b.referencedToken) === null || _c === void 0 ? void 0 : _c.id) === candidateId) {\n t.value.radius = candidateValueToInline;\n }\n break;\n }\n case __1.TokenType.border: {\n const t = token;\n if (((_f = (_e = (_d = t === null || t === void 0 ? void 0 : t.value) === null || _d === void 0 ? void 0 : _d.color) === null || _e === void 0 ? void 0 : _e.referencedToken) === null || _f === void 0 ? void 0 : _f.id) === candidateId) {\n t.value.color = candidateValueToInline;\n }\n if (((_j = (_h = (_g = t === null || t === void 0 ? void 0 : t.value) === null || _g === void 0 ? void 0 : _g.width) === null || _h === void 0 ? void 0 : _h.referencedToken) === null || _j === void 0 ? void 0 : _j.id) === candidateId) {\n t.value.width = candidateValueToInline;\n }\n break;\n }\n case __1.TokenType.gradient: {\n const stops = (_m = (_l = (_k = token) === null || _k === void 0 ? void 0 : _k.value) === null || _l === void 0 ? void 0 : _l.stops) !== null && _m !== void 0 ? _m : [];\n for (const stop of stops) {\n if (((_p = (_o = stop === null || stop === void 0 ? void 0 : stop.color) === null || _o === void 0 ? void 0 : _o.referencedToken) === null || _p === void 0 ? void 0 : _p.id) === candidateId) {\n stop.color = candidateValueToInline;\n }\n }\n break;\n }\n case __1.TokenType.radius: {\n const t = token;\n if (((_s = (_r = (_q = t === null || t === void 0 ? void 0 : t.value) === null || _q === void 0 ? void 0 : _q.radius) === null || _r === void 0 ? void 0 : _r.referencedToken) === null || _s === void 0 ? void 0 : _s.id) === candidateId) {\n t.value.radius = candidateValueToInline;\n }\n if (((_v = (_u = (_t = t === null || t === void 0 ? void 0 : t.value) === null || _t === void 0 ? void 0 : _t.topLeft) === null || _u === void 0 ? void 0 : _u.referencedToken) === null || _v === void 0 ? void 0 : _v.id) === candidateId) {\n t.value.topLeft = candidateValueToInline;\n }\n if (((_y = (_x = (_w = t === null || t === void 0 ? void 0 : t.value) === null || _w === void 0 ? void 0 : _w.topRight) === null || _x === void 0 ? void 0 : _x.referencedToken) === null || _y === void 0 ? void 0 : _y.id) === candidateId) {\n t.value.topRight = candidateValueToInline;\n }\n if (((_1 = (_0 = (_z = t === null || t === void 0 ? void 0 : t.value) === null || _z === void 0 ? void 0 : _z.bottomLeft) === null || _0 === void 0 ? void 0 : _0.referencedToken) === null || _1 === void 0 ? void 0 : _1.id) === candidateId) {\n t.value.bottomLeft = candidateValueToInline;\n }\n if (((_4 = (_3 = (_2 = t === null || t === void 0 ? void 0 : t.value) === null || _2 === void 0 ? void 0 : _2.bottomRight) === null || _3 === void 0 ? void 0 : _3.referencedToken) === null || _4 === void 0 ? void 0 : _4.id) === candidateId) {\n t.value.bottomRight = candidateValueToInline;\n }\n break;\n }\n case __1.TokenType.shadow: {\n const t = token;\n if (((_7 = (_6 = (_5 = t === null || t === void 0 ? void 0 : t.value) === null || _5 === void 0 ? void 0 : _5.radius) === null || _6 === void 0 ? void 0 : _6.referencedToken) === null || _7 === void 0 ? void 0 : _7.id) === candidateId) {\n t.value.radius = candidateValueToInline;\n }\n if (((_10 = (_9 = (_8 = t === null || t === void 0 ? void 0 : t.value) === null || _8 === void 0 ? void 0 : _8.color) === null || _9 === void 0 ? void 0 : _9.referencedToken) === null || _10 === void 0 ? void 0 : _10.id) === candidateId) {\n t.value.color = candidateValueToInline;\n }\n if (((_13 = (_12 = (_11 = t === null || t === void 0 ? void 0 : t.value) === null || _11 === void 0 ? void 0 : _11.spread) === null || _12 === void 0 ? void 0 : _12.referencedToken) === null || _13 === void 0 ? void 0 : _13.id) === candidateId) {\n t.value.spread = candidateValueToInline;\n }\n if (((_16 = (_15 = (_14 = t === null || t === void 0 ? void 0 : t.value) === null || _14 === void 0 ? void 0 : _14.x) === null || _15 === void 0 ? void 0 : _15.referencedToken) === null || _16 === void 0 ? void 0 : _16.id) === candidateId) {\n t.value.x = candidateValueToInline;\n }\n if (((_19 = (_18 = (_17 = t === null || t === void 0 ? void 0 : t.value) === null || _17 === void 0 ? void 0 : _17.y) === null || _18 === void 0 ? void 0 : _18.referencedToken) === null || _19 === void 0 ? void 0 : _19.id) === candidateId) {\n t.value.y = candidateValueToInline;\n }\n break;\n }\n case __1.TokenType.typography: {\n const t = token;\n if (((_22 = (_21 = (_20 = t === null || t === void 0 ? void 0 : t.value) === null || _20 === void 0 ? void 0 : _20.fontSize) === null || _21 === void 0 ? void 0 : _21.referencedToken) === null || _22 === void 0 ? void 0 : _22.id) === candidateId) {\n t.value.fontSize = candidateValueToInline;\n }\n if (((_25 = (_24 = (_23 = t === null || t === void 0 ? void 0 : t.value) === null || _23 === void 0 ? void 0 : _23.letterSpacing) === null || _24 === void 0 ? void 0 : _24.referencedToken) === null || _25 === void 0 ? void 0 : _25.id) === candidateId) {\n t.value.letterSpacing = candidateValueToInline;\n }\n if (((_28 = (_27 = (_26 = t === null || t === void 0 ? void 0 : t.value) === null || _26 === void 0 ? void 0 : _26.lineHeight) === null || _27 === void 0 ? void 0 : _27.referencedToken) === null || _28 === void 0 ? void 0 : _28.id) === candidateId) {\n t.value.lineHeight = candidateValueToInline;\n }\n if (((_31 = (_30 = (_29 = t === null || t === void 0 ? void 0 : t.value) === null || _29 === void 0 ? void 0 : _29.paragraphIndent) === null || _30 === void 0 ? void 0 : _30.referencedToken) === null || _31 === void 0 ? void 0 : _31.id) === candidateId) {\n t.value.paragraphIndent = candidateValueToInline;\n }\n if (((_34 = (_33 = (_32 = t === null || t === void 0 ? void 0 : t.value) === null || _32 === void 0 ? void 0 : _32.paragraphSpacing) === null || _33 === void 0 ? void 0 : _33.referencedToken) === null || _34 === void 0 ? void 0 : _34.id) === candidateId) {\n t.value.paragraphSpacing = candidateValueToInline;\n }\n if (((_37 = (_36 = (_35 = t === null || t === void 0 ? void 0 : t.value) === null || _35 === void 0 ? void 0 : _35.font) === null || _36 === void 0 ? void 0 : _36.referencedToken) === null || _37 === void 0 ? void 0 : _37.id) === candidateId) {\n t.value.font = candidateValueToInline;\n }\n break;\n }\n }\n }\n replaceIdAcrossAllPossibleReferences(override, newId, allTokens) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35;\n let currentId = override.token.id;\n override.token.id = newId;\n for (let t of allTokens) {\n let token = t.token;\n // Generic check for reference\n if (token.value.referencedToken && token.value.referencedToken.id === currentId) {\n token.value.referencedToken.id = newId;\n }\n // Specific checks for tokens that can reference other values internally\n if (token instanceof __1.TypographyToken) {\n if (((_a = token.value.font) === null || _a === void 0 ? void 0 : _a.referencedToken) && ((_c = (_b = token.value.font) === null || _b === void 0 ? void 0 : _b.referencedToken) === null || _c === void 0 ? void 0 : _c.id) === currentId) {\n token.value.font.referencedToken.id = newId;\n }\n if (((_d = token.value.fontSize) === null || _d === void 0 ? void 0 : _d.referencedToken) && ((_f = (_e = token.value.fontSize) === null || _e === void 0 ? void 0 : _e.referencedToken) === null || _f === void 0 ? void 0 : _f.id) === currentId) {\n token.value.fontSize.referencedToken.id = newId;\n }\n if (((_g = token.value.letterSpacing) === null || _g === void 0 ? void 0 : _g.referencedToken) && ((_j = (_h = token.value.letterSpacing) === null || _h === void 0 ? void 0 : _h.referencedToken) === null || _j === void 0 ? void 0 : _j.id) === currentId) {\n token.value.letterSpacing.referencedToken.id = newId;\n }\n if (((_k = token.value.lineHeight) === null || _k === void 0 ? void 0 : _k.referencedToken) && ((_m = (_l = token.value.lineHeight) === null || _l === void 0 ? void 0 : _l.referencedToken) === null || _m === void 0 ? void 0 : _m.id) === currentId) {\n token.value.lineHeight.referencedToken.id = newId;\n }\n if (((_o = token.value.paragraphIndent) === null || _o === void 0 ? void 0 : _o.referencedToken) && ((_q = (_p = token.value.paragraphIndent) === null || _p === void 0 ? void 0 : _p.referencedToken) === null || _q === void 0 ? void 0 : _q.id) === currentId) {\n token.value.paragraphIndent.referencedToken.id = newId;\n }\n if (((_r = token.value.paragraphSpacing) === null || _r === void 0 ? void 0 : _r.referencedToken) && ((_t = (_s = token.value.paragraphSpacing) === null || _s === void 0 ? void 0 : _s.referencedToken) === null || _t === void 0 ? void 0 : _t.id) === currentId) {\n token.value.paragraphSpacing.referencedToken.id = newId;\n }\n }\n else if (token instanceof __1.RadiusToken) {\n if (((_u = token.value.radius) === null || _u === void 0 ? void 0 : _u.referencedToken) && ((_w = (_v = token.value.radius) === null || _v === void 0 ? void 0 : _v.referencedToken) === null || _w === void 0 ? void 0 : _w.id) === currentId) {\n token.value.radius.referencedToken.id = newId;\n }\n if (((_x = token.value.topLeft) === null || _x === void 0 ? void 0 : _x.referencedToken) && ((_z = (_y = token.value.topLeft) === null || _y === void 0 ? void 0 : _y.referencedToken) === null || _z === void 0 ? void 0 : _z.id) === currentId) {\n token.value.topLeft.referencedToken.id = newId;\n }\n if (((_0 = token.value.topRight) === null || _0 === void 0 ? void 0 : _0.referencedToken) && ((_2 = (_1 = token.value.topRight) === null || _1 === void 0 ? void 0 : _1.referencedToken) === null || _2 === void 0 ? void 0 : _2.id) === currentId) {\n token.value.topRight.referencedToken.id = newId;\n }\n if (((_3 = token.value.bottomLeft) === null || _3 === void 0 ? void 0 : _3.referencedToken) && ((_5 = (_4 = token.value.bottomLeft) === null || _4 === void 0 ? void 0 : _4.referencedToken) === null || _5 === void 0 ? void 0 : _5.id) === currentId) {\n token.value.bottomLeft.referencedToken.id = newId;\n }\n if (((_6 = token.value.bottomRight) === null || _6 === void 0 ? void 0 : _6.referencedToken) && ((_8 = (_7 = token.value.bottomRight) === null || _7 === void 0 ? void 0 : _7.referencedToken) === null || _8 === void 0 ? void 0 : _8.id) === currentId) {\n token.value.bottomRight.referencedToken.id = newId;\n }\n }\n else if (token instanceof __1.ShadowToken) {\n if (((_9 = token.value.color) === null || _9 === void 0 ? void 0 : _9.referencedToken) && ((_11 = (_10 = token.value.color) === null || _10 === void 0 ? void 0 : _10.referencedToken) === null || _11 === void 0 ? void 0 : _11.id) === currentId) {\n token.value.color.referencedToken.id = newId;\n }\n if (((_12 = token.value.x) === null || _12 === void 0 ? void 0 : _12.referencedToken) && ((_14 = (_13 = token.value.x) === null || _13 === void 0 ? void 0 : _13.referencedToken) === null || _14 === void 0 ? void 0 : _14.id) === currentId) {\n token.value.x.referencedToken.id = newId;\n }\n if (((_15 = token.value.y) === null || _15 === void 0 ? void 0 : _15.referencedToken) && ((_17 = (_16 = token.value.y) === null || _16 === void 0 ? void 0 : _16.referencedToken) === null || _17 === void 0 ? void 0 : _17.id) === currentId) {\n token.value.y.referencedToken.id = newId;\n }\n if (((_18 = token.value.radius) === null || _18 === void 0 ? void 0 : _18.referencedToken) && ((_20 = (_19 = token.value.radius) === null || _19 === void 0 ? void 0 : _19.referencedToken) === null || _20 === void 0 ? void 0 : _20.id) === currentId) {\n token.value.radius.referencedToken.id = newId;\n }\n if (((_21 = token.value.spread) === null || _21 === void 0 ? void 0 : _21.referencedToken) && ((_23 = (_22 = token.value.spread) === null || _22 === void 0 ? void 0 : _22.referencedToken) === null || _23 === void 0 ? void 0 : _23.id) === currentId) {\n token.value.spread.referencedToken.id = newId;\n }\n }\n else if (token instanceof __1.BorderToken) {\n if (((_24 = token.value.color) === null || _24 === void 0 ? void 0 : _24.referencedToken) && ((_26 = (_25 = token.value.color) === null || _25 === void 0 ? void 0 : _25.referencedToken) === null || _26 === void 0 ? void 0 : _26.id) === currentId) {\n token.value.color.referencedToken.id = newId;\n }\n if (((_27 = token.value.width) === null || _27 === void 0 ? void 0 : _27.referencedToken) && ((_29 = (_28 = token.value.width) === null || _28 === void 0 ? void 0 : _28.referencedToken) === null || _29 === void 0 ? void 0 : _29.id) === currentId) {\n token.value.width.referencedToken.id = newId;\n }\n }\n else if (token instanceof __1.GradientToken) {\n for (let stop of token.value.stops) {\n if (((_30 = stop.color) === null || _30 === void 0 ? void 0 : _30.referencedToken) && ((_32 = (_31 = stop.color) === null || _31 === void 0 ? void 0 : _31.referencedToken) === null || _32 === void 0 ? void 0 : _32.id) === currentId) {\n stop.color.referencedToken.id = newId;\n }\n }\n }\n else if (token instanceof __1.BlurToken) {\n if (((_33 = token.value.radius) === null || _33 === void 0 ? void 0 : _33.referencedToken) && ((_35 = (_34 = token.value.radius) === null || _34 === void 0 ? void 0 : _34.referencedToken) === null || _35 === void 0 ? void 0 : _35.id) === currentId) {\n token.value.radius.referencedToken.id = newId;\n }\n }\n }\n }\n buildKey(path, name) {\n return [...path, name].join('/').toLowerCase().replace(\" \", \"-\").replace(\"(\", \"\").replace(\")\", \"\");\n }\n buildPath(token) {\n if (!token.parent) {\n throw new Error('Keys can only be built for tokens that have parents');\n }\n let parent = token.parent;\n let segments = [];\n while (parent) {\n segments = [parent.name, ...segments];\n parent = parent.parent;\n }\n return segments;\n }\n // We will transform 'GenericToken' to 'Generic' to match keys\n buildFallbackPathForGeneric(token) {\n // Our default name for GenericToken group is 'GenericToken', not 'Generic',\n // despite we build first segment as 'Generic'.\n // SQL: select * from ds_elements where \"type\"= 'ElementGroup' and \"childType\" = 'GenericToken' and \"meta\"->>'name' = 'Generic'\n // Here we get root group with 'GenericToken' as name: https://github.com/Supernova-Studio/sdk-typescript/blob/main/src/tools/design-tokens/utilities/SDKDTTokenGroupTreeMerger.ts#L78\n // Here we build first segment as 'Generic' https://github.com/Supernova-Studio/sdk-typescript/blob/main/src/tools/design-tokens/utilities/SDKDTJSONConverter.ts#L143\n // Maybe we can change it there, but it needs to be tested more.\n // And right here, inside `buildPath` we use `parent.name`, which makes keys different,\n // which makes themed generic tokens are not imported inside `makeTheme`.\n return this.buildKey(this.buildPath(token), token.name).replace('generictoken', 'generic');\n }\n}\nexports.DTThemeMerger = DTThemeMerger;\n","\"use strict\";\n//\n// SDKDTTokenTreeMerger.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTTokenGroupTreeMerger = exports.DTGroupMergeDiff = void 0;\nconst SDKDTGroupTree_1 = require(\"./tree/SDKDTGroupTree\");\nconst SDKDTGroupTreeNode_1 = require(\"./tree/SDKDTGroupTreeNode\");\nclass DTGroupMergeDiff {\n}\nexports.DTGroupMergeDiff = DTGroupMergeDiff;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility allowing merging of two distinct token trees */\nclass DTTokenGroupTreeMerger {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() { }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Merger\n makeGroupsDiff(tokensDiff, existingElements) {\n // Contruct roots to take data from\n const exitingRoots = SDKDTGroupTree_1.buildBrandedElementRoots(existingElements);\n const desiredStructures = new Map();\n // Make group structure\n for (let i = 0; i < tokensDiff.toCreateOrUpdate.length; i++) {\n const node = tokensDiff.toCreateOrUpdate[i];\n const nameParts = node.path.map(s => s.trim());\n nameParts.shift();\n let typeRoots = desiredStructures.get(node.token.brandId);\n if (!typeRoots) {\n typeRoots = new Map();\n desiredStructures.set(node.token.brandId, typeRoots);\n }\n let typeRoot = typeRoots.get(node.token.tokenType);\n if (!typeRoot) {\n const rootElem = exitingRoots.get(node.token.brandId).get(node.token.tokenType).element;\n typeRoot = new SDKDTGroupTree_1.GroupTree(rootElem);\n typeRoots.set(node.token.tokenType, typeRoot);\n }\n const group = typeRoot.getOrCreateGroup(nameParts);\n group.children.push(new SDKDTGroupTreeNode_1.GroupTreeNode(node.token, typeRoot));\n // if (elem instanceof TokenGroup) {\n // Ensure tokens are above groups by sorting\n // group.applyDefaultSorting()\n // }\n }\n // Next up - construct results\n const toUpdate = [];\n const toCreate = [];\n const toDelete = [];\n const compareDesiredAndExisting = (importNode, existingNode) => {\n var _a;\n if (importNode.isGroup) {\n for (const c of importNode.children) {\n const existingChild = ((_a = existingNode === null || existingNode === void 0 ? void 0 : existingNode.children) !== null && _a !== void 0 ? _a : []).find(exc => exc.name === c.name && exc.isGroup === c.isGroup);\n compareDesiredAndExisting(c, existingChild);\n }\n const importChildrenIds = importNode.children.map(c => c.element.id);\n if (existingNode) {\n importNode.element.id = existingNode.element.id;\n importNode.element.versionedId = existingNode.element.versionedId;\n const existingChildrenIds = existingNode.children.map(c => c.element.id);\n if (JSON.stringify(importChildrenIds) !== JSON.stringify(existingChildrenIds)) {\n toUpdate.push({\n element: importNode.element,\n childrenIds: importChildrenIds\n });\n }\n }\n else {\n toCreate.push({\n element: importNode.element,\n childrenIds: importChildrenIds\n });\n }\n }\n };\n for (const [brandId, typeRoots] of desiredStructures.entries()) {\n for (const type of typeRoots.keys()) {\n compareDesiredAndExisting(typeRoots.get(type), exitingRoots.get(brandId).get(type));\n }\n }\n return {\n toCreate,\n toUpdate,\n toDelete\n };\n }\n}\nexports.DTTokenGroupTreeMerger = DTTokenGroupTreeMerger;\n","\"use strict\";\n//\n// SDKDTTokenMerger.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTTokenMerger = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst uuid_1 = require(\"uuid\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility allowing merging of two pools of tokens */\nclass DTTokenMerger {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Properties\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() { }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Merger\n static buildKey(path, name) {\n return [...path, name].join('/').toLowerCase().replace(\" \", \"-\").replace(\"(\", \"\").replace(\")\", \"\");\n }\n buildPath(token) {\n if (!token.parent) {\n throw new Error('Keys can only be built for tokens that have parents');\n }\n let parent = token.parent;\n let segments = [];\n while (parent) {\n segments = [parent.name, ...segments];\n parent = parent.parent;\n }\n return segments;\n }\n buildNodeMap(nodes) {\n const result = new Map();\n for (let node of nodes) {\n // Possibly filter out tokens with styles associated with them?\n result.set(node.key, node);\n }\n return result;\n }\n convertBaseTokensToProcessedNode(tokens) {\n return tokens.map(t => {\n let path = this.buildPath(t);\n let key = DTTokenMerger.buildKey(path, t.name);\n return {\n token: t,\n key: key,\n originalType: undefined,\n path: path\n };\n });\n }\n makeTokensDiff(existing, extracted) {\n const toUpdate = [];\n const toCreate = [];\n const toDelete = [];\n const toCreateOrUpdate = [];\n const existingAsProcessedNodes = this.convertBaseTokensToProcessedNode(existing);\n const existingMap = this.buildNodeMap(existingAsProcessedNodes);\n const extractedMap = this.buildNodeMap(extracted);\n for (const node of extracted) {\n const key = DTTokenMerger.buildKey(node.path, node.token.name);\n const oldToken = existingMap.get(key);\n if (oldToken) {\n node.token.id = oldToken.token.id;\n node.token.versionedId = oldToken.token.versionedId;\n toUpdate.push(node);\n }\n else {\n node.token.id = uuid_1.v4();\n toCreate.push(node);\n }\n toCreateOrUpdate.push(node);\n }\n // const existingCollection = new DTProcessedTokenNodeCollection(existing)\n // const extractedCollectionToUpdate = new DTProcessedTokenNodeCollection(toUpdate)\n // Reiterate over `toUpdate` again to set or break aliases\n // we can't do that during first iteration, because during first\n // iteration we don't have correct `persistentId` attr set\n // This is only experimental, TODO: get to it later\n /*\n for (const token of toUpdate) {\n const oldToken = existingCollection.index.get(token.id)\n \n if (oldToken..aliasTo) {\n const alias = oldToken.data.aliasTo\n // NOTE: currently one level supported\n const aliasedToken = extractedCollectionToUpdate.index.get(alias) ?? existingCollection.index.get(alias)\n if (aliasedToken) {\n const tokenValue = stringify(token.toTokenDTO().data.value)\n const aliasedValue = stringify(aliasedToken.toTokenDTO().data.value)\n \n if (tokenValue === aliasedValue) {\n token.data.aliasTo = alias\n }\n }\n }\n }\n */\n for (const node of existingAsProcessedNodes) {\n const key = DTTokenMerger.buildKey(node.path, node.token.name);\n if (!extractedMap.has(key)) {\n toDelete.push(node);\n // Any tokens and theme overrides that were imported from Figma are unlinked (turned into SN tokens)\n // If preciseCopy = false, we should still unlink Figma tokens, that do not match any tokens from extracted from payload \n if (!!node.token.origin) {\n node.token.origin = null;\n toUpdate.push(node);\n toCreateOrUpdate.push(node);\n }\n }\n }\n return {\n toUpdate,\n toCreate,\n toDelete,\n toCreateOrUpdate\n };\n }\n}\nexports.DTTokenMerger = DTTokenMerger;\n","\"use strict\";\n//\n// SDKDTTokenReferenceResolver.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2021 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTTokenReferenceResolver = void 0;\nconst __1 = require(\"../../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Types\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Utility allowing resolution of token references */\nclass DTTokenReferenceResolver {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor() {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Properties\n // Keep original index of Token, so we can ignore updating token with same path but lower priority\n // if during processing it is resolved later, than token with higher priority\n this.mappedTokens = new Map();\n this.nodes = new Map();\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Utilities\n replaceRefs(existingToken, newToken) {\n var _a, _b, _c, _d, _e, _f;\n for (const [path, [token, index]] of this.mappedTokens) {\n if (((_c = (_b = (_a = token) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.referencedToken) === null || _c === void 0 ? void 0 : _c.id) === existingToken.id) {\n ;\n token.value.referencedToken = newToken;\n }\n }\n for (const [path, token] of this.nodes) {\n if (((_f = (_e = (_d = token.token) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.referencedToken) === null || _f === void 0 ? void 0 : _f.id) === existingToken.id) {\n ;\n token.token.value.referencedToken = newToken;\n }\n }\n }\n addAtomicToken(token, indexOfNewNode) {\n var _a;\n let nodePath = this.tokenReferenceKey(token.path, token.token.name);\n // Plugin using `last one wins` strategy.\n // We process tokens in order from $metadata.json, keeping theirs original index.\n // We should update tokens of same path that have higher priority only.\n // And any priority token could be resolved first.\n // See `test_tooling_design_tokens_order` test\n const [existingNode, indexOfExistingNode] = (_a = this.mappedTokens.get(nodePath)) !== null && _a !== void 0 ? _a : [];\n if (!!existingNode && Number.isInteger(indexOfNewNode) && indexOfExistingNode > indexOfNewNode) {\n return;\n }\n if (!!existingNode) {\n // We might have built refs for this node already\n // So need to replace existing refs to existingNode with token.token\n // Another option might be to update all the data inside existingNode inplace for any token type\n this.replaceRefs(existingNode, token.token);\n }\n this.mappedTokens.set(nodePath, [token.token, indexOfNewNode]);\n this.nodes.set(nodePath, token);\n }\n addAtomicTokens(tokens) {\n for (let token of tokens) {\n this.addAtomicToken(token, Number.NaN);\n }\n }\n unmappedValues() {\n return [...this.nodes.values()];\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Lookup\n tokensOfType(type) {\n return [...this.mappedTokens.values()]\n .filter(([token, index]) => token.tokenType === type)\n .map(([token, index]) => token);\n }\n lookupReferencedToken(reference) {\n var _a;\n let ref = reference;\n if (reference.includes('$')) {\n // Convert $ reference to {}-type of reference as keys are all defined as {}\n ref = `{${reference.substring(1)}}`;\n }\n // Find single token reference\n return (_a = this.mappedTokens.get(ref)) === null || _a === void 0 ? void 0 : _a[0];\n }\n lookupAllReferencedTokens(reference) {\n var _a, _b;\n let findings = [...this.findBracketStrings(reference), ...this.findDollarStrings(reference)];\n let result = [];\n for (let finding of findings) {\n let fullkey = `{${finding.value}}`;\n if ((_a = this.mappedTokens.get(fullkey)) === null || _a === void 0 ? void 0 : _a[0]) {\n // Found referenced token\n result.push({\n token: (_b = this.mappedTokens.get(fullkey)) === null || _b === void 0 ? void 0 : _b[0],\n key: finding.value,\n location: finding.index,\n dollarTypeReference: finding.dollarTypeReference\n });\n }\n else {\n // Skip as there is a reference that doesn't exist\n return undefined;\n }\n }\n return result;\n }\n replaceAllReferencedTokens(reference, replacements) {\n // Seek from the last position so we don't have to deal with repositioning\n let sortedReps = replacements.sort((a, b) => b.location - a.location);\n let finalReference = reference;\n for (let r of sortedReps) {\n if (r.token.tokenType !== __1.TokenType.measure &&\n r.token.tokenType !== __1.TokenType.generic &&\n r.token.tokenType !== __1.TokenType.color &&\n r.token.tokenType !== __1.TokenType.radius) {\n throw new Error(`Invalid reference ${reference} in computed token. Only measures, colors or generic/text tokens can be used as partial reference (fe. rgba({value}, 10%), however was ${r.token.tokenType}`);\n }\n finalReference = this.replaceToken(finalReference, r.token, r.key, r.location, r.dollarTypeReference);\n }\n return finalReference;\n }\n replaceToken(base, token, key, location, dollarTypeReference) {\n let fullkey = dollarTypeReference ? `$${key}` : `{${key}}`;\n let value = this.replacableValue(token);\n return this.replaceAt(base, fullkey, value, location, dollarTypeReference);\n }\n replaceAt(s, what, replacement, index, dollarTypeReference) {\n return s.substring(0, index) + replacement + s.substring(index + what.length);\n }\n replacableValue(token) {\n switch (token.tokenType) {\n case __1.TokenType.color:\n return token.value.hex;\n case __1.TokenType.measure: {\n let measure = token;\n if (measure.value.unit === __1.Unit.percent) {\n return token.value.measure.toString() + '%';\n }\n else {\n return token.value.measure.toString();\n }\n }\n case __1.TokenType.radius:\n return token.value.radius.toString();\n case __1.TokenType.generic:\n return token.value.text;\n case __1.TokenType.text:\n return token.value.text;\n default:\n throw new Error('Invalid replacable value. Only measures, colors or generic/text tokens can provide value for complex tokens / inline replaces');\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Conveniences\n isBalancedReference(syntax) {\n return this.hasSameNumberOfCharacters(syntax, '{', '}');\n }\n valueHasReference(value) {\n if (typeof value !== 'string') {\n return false;\n }\n return value.includes('{') || value.includes('}') || value.includes('$');\n }\n valueIsPureReference(value) {\n if (typeof value !== 'string') {\n return false;\n }\n let trimmed = value.trim();\n // If there is more than one opening or closing bracket, it is not a pure reference. Must also open and close the syntax\n return ((trimmed.startsWith('{') &&\n trimmed.endsWith('}') &&\n this.countCharacter(trimmed, '{') === 1 &&\n this.countCharacter(trimmed, '}') === 1) ||\n this.isDollarIdentifier(trimmed));\n }\n hasSameNumberOfCharacters(str, char1, char2) {\n let count1 = 0;\n let count2 = 0;\n for (const c of str) {\n if (c === char1) {\n count1++;\n }\n else if (c === char2) {\n count2++;\n }\n }\n return count1 === count2;\n }\n countCharacter(str, char) {\n let count = 0;\n for (const c of str) {\n if (c === char) {\n count++;\n }\n }\n return count;\n }\n tokenReferenceKey(path, name) {\n // Delete initial piece of path, as this is only grouping element\n let newPath = Array.from(path);\n newPath.splice(0, 1);\n // Return path key that is the same as what Design Tokens uses for referencing\n return '{' + [...newPath, name].join('.') + '}';\n }\n findBracketStrings(str) {\n const results = [];\n let currentIndex = 0;\n while (currentIndex < str.length) {\n // Find the index of the next opening bracket\n const openBracketIndex = str.indexOf('{', currentIndex);\n // If no more opening brackets are found, we can stop searching\n if (openBracketIndex === -1) {\n break;\n }\n // Find the index of the closing bracket that corresponds to the opening bracket\n const closeBracketIndex = str.indexOf('}', openBracketIndex);\n // If no closing bracket is found, we can stop searching\n if (closeBracketIndex === -1) {\n break;\n }\n // Extract the string between the brackets and add it to the results\n const bracketString = str.substring(openBracketIndex + 1, closeBracketIndex);\n results.push({\n index: openBracketIndex,\n value: bracketString,\n dollarTypeReference: false\n });\n // Continue searching after the closing bracket\n currentIndex = closeBracketIndex + 1;\n }\n return results;\n }\n findDollarStrings(str) {\n const results = [];\n let match;\n // Use a regex to find strings that start with $ and extend until a non-alphanumeric and non-dot character\n const regex = /\\$([a-zA-Z0-9\\.\\-\\_]+)/g;\n // Use exec to find all matches in the string\n // tslint:disable-next-line: no-conditional-assignment\n while ((match = regex.exec(str)) !== null) {\n results.push({\n index: match.index,\n value: match[1],\n dollarTypeReference: true\n });\n }\n return results;\n }\n isDollarIdentifier(value) {\n // This regex ensures the string starts with a $, is followed by the identifier defined by the regex, and nothing else\n const regex = /^\\$([a-zA-Z0-9\\.\\-\\_]+)$/;\n return regex.test(value);\n }\n}\nexports.DTTokenReferenceResolver = DTTokenReferenceResolver;\n","\"use strict\";\n//\n// SDKDTJSONConverter.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DTExpressionParser = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst expr_eval_1 = require(\"expr-eval\");\nconst postcss_calc_ast_parser_1 = __importDefault(require(\"postcss-calc-ast-parser\"));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\nconst parser = new expr_eval_1.Parser();\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Parsing and reduction utility for math expressions */\nclass DTExpressionParser {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Expressions\n /** Reduce value of expressions to their base form */\n static reduceExpressionsToBaseForm(baseExpression) {\n try {\n let parsedExpression = postcss_calc_ast_parser_1.default.parse(baseExpression);\n const reducedExpression = postcss_calc_ast_parser_1.default.reduceExpression(parsedExpression);\n let unitlessExpr = baseExpression;\n let unit = '';\n if (reducedExpression && reducedExpression.type !== 'Number') {\n unitlessExpr = baseExpression.replace(new RegExp(reducedExpression.unit, 'ig'), '');\n unit = reducedExpression.unit;\n }\n const evaluatedExpression = parser.evaluate(unitlessExpr);\n if (!unit) {\n return Number.parseFloat(evaluatedExpression.toFixed(3));\n }\n else {\n return `${evaluatedExpression}${unit}`;\n }\n }\n catch (error) {\n return baseExpression;\n }\n }\n}\nexports.DTExpressionParser = DTExpressionParser;\n","\"use strict\";\n//\n// SDKDTGroupTree.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildBrandedElementRoots = exports.GroupTree = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst __1 = require(\"../../../..\");\nconst SDKDTGroupTreeNode_1 = require(\"./SDKDTGroupTreeNode\");\nconst SDKDTParentChildMapping_1 = require(\"./SDKDTParentChildMapping\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tree Implementation\nclass GroupTree extends SDKDTGroupTreeNode_1.GroupTreeNode {\n // ---------------------\n // MARK: - Constructor\n constructor(backingElement) {\n super(backingElement, null);\n this.childType = backingElement.tokenType;\n this.tree = this;\n }\n // ---------------------\n // MARK: - Construction\n static populate(root, elements, parentChildrenMap) {\n if (!root) {\n return null;\n }\n const tree = new GroupTree(root);\n tree.populate(parentChildrenMap);\n return tree;\n }\n}\nexports.GroupTree = GroupTree;\nfunction buildBrandedElementRoots(elements) {\n const result = new Map();\n const { childrenMap } = SDKDTParentChildMapping_1.buildParentChildrenMap(elements);\n const roots = elements.filter(element => (element instanceof __1.TokenGroup) && element.isRoot);\n const brandIds = new Set(roots.map(e => e.brandId));\n for (const brandId of brandIds) {\n const typeRoots = new Map();\n result.set(brandId, typeRoots);\n for (const type of Object.values(__1.TokenType)) {\n const root = roots.find(r => r.brandId === brandId && r.tokenType === type);\n const tree = GroupTree.populate(root, elements, childrenMap);\n if (tree) {\n typeRoots.set(type, tree);\n }\n }\n }\n return result;\n}\nexports.buildBrandedElementRoots = buildBrandedElementRoots;\n","\"use strict\";\n//\n// SDKDTGroupTreeNode.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GroupTreeNode = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst lodash_1 = __importDefault(require(\"lodash\"));\nconst { sortBy } = lodash_1.default;\nconst uuid_1 = require(\"uuid\");\nconst __1 = require(\"../../../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tree Node Implementation\nclass GroupTreeNode {\n // -------------------\n // MARK: - Constructor\n constructor(element, tree) {\n this.element = element;\n this.tree = tree;\n if (this.isGroup) {\n this.children = [];\n }\n }\n get isGroup() {\n return this.element instanceof __1.TokenGroup;\n }\n get name() {\n return this.element.name;\n }\n // ----------------\n // MARK: - Mutation\n applyDefaultSorting() {\n this.children = sortBy(this.children, child => (child.isGroup ? 1 : 0));\n }\n addChildInternal(child, atIndex = -1) {\n if (atIndex === -1) {\n this.children.push(child);\n }\n else {\n this.children.splice(atIndex, 0, child);\n }\n this.applyDefaultSorting();\n }\n populate(childrenMap) {\n var _a;\n const { tree, element } = this;\n const children = (_a = childrenMap.get(element.id)) !== null && _a !== void 0 ? _a : [];\n for (const element of children) {\n const child = new GroupTreeNode(element, tree);\n this.children.push(child);\n if (element instanceof __1.TokenGroup) {\n child.populate(childrenMap);\n }\n }\n }\n createGroupChild(name) {\n return this.addChildGroup(new __1.TokenGroup({\n brandId: this.tree.element.brandId,\n tokenType: this.tree.element.tokenType,\n designSystemVersionId: this.tree.element.designSystemVersionId,\n persistentId: uuid_1.v4(),\n isRoot: false,\n id: undefined,\n meta: {\n name: name,\n description: ''\n },\n childrenIds: []\n }));\n }\n addChildGroup(groupElement) {\n const { tree } = this;\n // Only groups can be added as children through this\n if ((groupElement instanceof __1.TokenGroup) === false) {\n throw new Error(`Can't add ${groupElement.id} as group, is ${groupElement}`);\n }\n // Add child\n const child = new GroupTreeNode(groupElement, tree);\n this.addChildInternal(child);\n return child;\n }\n getOrCreateGroup(path) {\n if (path.length === 0) {\n return this;\n }\n const [name, ...rest] = path;\n let child = this.children.find(c => c.isGroup && c.element.name === name);\n if (!child) {\n child = this.createGroupChild(name);\n }\n return child.getOrCreateGroup(rest);\n }\n // ----------------\n // MARK: - Iterators\n forEach(callback, leafsFirst = true) {\n this.forEachInternal(callback, [], leafsFirst);\n }\n forEachInternal(callback, path, leafsFirst) {\n if (!leafsFirst) {\n callback(this, path);\n }\n const newPath = path.concat([this]);\n for (const c of this.children) {\n if (c.isGroup) {\n c.forEachInternal(callback, newPath, leafsFirst);\n }\n }\n if (leafsFirst) {\n callback(this, path);\n }\n }\n}\nexports.GroupTreeNode = GroupTreeNode;\n","\"use strict\";\n//\n// SDKDTParentChildMapping.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildParentChildrenMap = exports.MAX_SORT_ORDER = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst SDKTokenGroup_1 = require(\"../../../../model/groups/SDKTokenGroup\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Types\nexports.MAX_SORT_ORDER = 1000 * 1000 * 100;\nconst LAST = exports.MAX_SORT_ORDER + 1;\nconst sortOrderComparator = (a, b) => { var _a, _b; return ((_a = a.sortOrder) !== null && _a !== void 0 ? _a : LAST) - ((_b = b.sortOrder) !== null && _b !== void 0 ? _b : LAST); };\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Implementation\nfunction buildParentChildrenMap(elements) {\n const parentIdToChildren = new Map();\n const put = (element) => {\n var _a;\n if (!(element instanceof SDKTokenGroup_1.TokenGroup && element.isRoot)) {\n const parentId = (_a = element.parent) === null || _a === void 0 ? void 0 : _a.id;\n const arr = parentIdToChildren.get(parentId);\n if (arr) {\n arr.push(element);\n }\n else {\n parentIdToChildren.set(parentId, [element]);\n }\n }\n };\n for (const e of elements) {\n put(e);\n }\n const sortedChildrenMap = new Map();\n for (const [groupId, children] of parentIdToChildren) {\n children.sort(sortOrderComparator);\n sortedChildrenMap.set(groupId, children);\n }\n // fill empty groups data\n for (const possibleGroup of elements) {\n if (possibleGroup instanceof SDKTokenGroup_1.TokenGroup) {\n const key = possibleGroup.id;\n if (!sortedChildrenMap.has(key)) {\n sortedChildrenMap.set(key, []);\n }\n }\n }\n return {\n childrenMap: sortedChildrenMap\n };\n}\nexports.buildParentChildrenMap = buildParentChildrenMap;\n","\"use strict\";\n//\n// SDKToolsStyleDictionary.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenJSONBuilder = exports.JSONBuilderNamingOption = void 0;\nconst lodash_1 = __importDefault(require(\"lodash\"));\nconst SDKToolsJSONElementFigmaTokensTransformer_1 = require(\"./elements-transformers/SDKToolsJSONElementFigmaTokensTransformer\");\nconst SDKToolsJSONElementStyleDictionaryTransformer_1 = require(\"./elements-transformers/SDKToolsJSONElementStyleDictionaryTransformer\");\nvar JSONBuilderNamingOption;\n(function (JSONBuilderNamingOption) {\n JSONBuilderNamingOption[\"original\"] = \"original\";\n JSONBuilderNamingOption[\"camelcase\"] = \"camelcase\";\n JSONBuilderNamingOption[\"snakecase\"] = \"snakecase\";\n JSONBuilderNamingOption[\"kebabcase\"] = \"kebabcase\";\n})(JSONBuilderNamingOption = exports.JSONBuilderNamingOption || (exports.JSONBuilderNamingOption = {}));\nvar ConsumerMode;\n(function (ConsumerMode) {\n ConsumerMode[ConsumerMode[\"styleDictionary\"] = 0] = \"styleDictionary\";\n ConsumerMode[ConsumerMode[\"figmaTokens\"] = 1] = \"figmaTokens\";\n})(ConsumerMode || (ConsumerMode = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** JSON builder tooling object. Allows to build full token JSON definition for different styles of outputs, like Style Dictionary or Figma Tokens plugin */\nclass TokenJSONBuilder {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Constructor\n constructor(instance, version) {\n this.instance = instance;\n this.version = version;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Public interface\n /** Fetches all tokens available for selected design system version, and converts them to style dictionary representation. */\n styleDictionaryRepresentation(options) {\n return __awaiter(this, void 0, void 0, function* () {\n this.tokenTransformer = new SDKToolsJSONElementStyleDictionaryTransformer_1.TokenJSONElementStyleDictionaryTransformer();\n let tokens = yield this.version.tokens();\n let groups = yield this.version.tokenGroups();\n // Filter out tokens that contain brand id\n if (options.brandId) {\n tokens = tokens.filter(t => t.brandId === options.brandId);\n }\n return this.buildTokenStructure(tokens, groups, Object.assign(Object.assign({}, options), { consumerMode: ConsumerMode.figmaTokens }));\n });\n }\n /** Fetches all tokens available for selected design system version, and converts them to figma tokens representation. */\n figmaTokensRepresentation(isSingleFile) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!isSingleFile) {\n throw new Error(\"Multi file mode of write is not yet supported by the tooling\");\n }\n this.tokenTransformer = new SDKToolsJSONElementFigmaTokensTransformer_1.TokenJSONElementFigmaTokensTransformer();\n let tokens = yield this.version.tokens();\n let groups = yield this.version.tokenGroups();\n let brand = yield this.version.brands();\n let options = {\n naming: JSONBuilderNamingOption.original,\n includeComments: false,\n includeBrandId: false,\n brandId: brand[0].persistentId,\n includeType: true,\n includeRootTypeNodes: false,\n type: null,\n multifile: false,\n consumerMode: ConsumerMode.figmaTokens\n };\n // Filter out tokens that contain brand id\n if (options.brandId) {\n tokens = tokens.filter(t => t.brandId === options.brandId);\n }\n return this.buildTokenStructure(tokens, groups, options);\n });\n }\n buildTokenStructure(tokens, groups, options) {\n if (options.type) {\n // When a specific type is requested, only generate that particular one\n for (let group of groups) {\n if (group.isRoot && group.tokenType === options.type) {\n return this.generateStyleDictionaryTree(group, tokens, groups, options);\n }\n }\n }\n else {\n // Generate all token types\n let result = {};\n for (let group of groups) {\n if (group.isRoot) {\n let sdTree = this.generateStyleDictionaryTree(group, tokens, groups, options);\n result = lodash_1.default.merge(result, sdTree);\n }\n }\n return result;\n }\n return {};\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Style dictionary manipulation\n /** Generate style dictionary tree */\n generateStyleDictionaryTree(rootGroup, allTokens, allGroups, options) {\n let writeRoot = {};\n // Compute full data structure of the entire type-dependent tree\n let result = this.representTree(rootGroup, allTokens, allGroups, writeRoot, options);\n // Add top level entries which don't belong to any user-defined group\n for (let token of TokenJSONBuilder.tokensOfGroup(rootGroup, allTokens)) {\n result[this.tokenTransformer.safeTokenName(token, options.naming)] = this.tokenTransformer.representToken(token, allTokens, allGroups, options);\n }\n // Retrieve tokens with type shell or without it\n if (options.includeRootTypeNodes) {\n return {\n [`${this.tokenTransformer.typeLabel(rootGroup.tokenType)}`]: result\n };\n }\n else {\n return result;\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Tree construction\n /** Construct tree out of one specific group, independent of tree type */\n representTree(rootGroup, allTokens, allGroups, writeObject, options) {\n let newObject = writeObject;\n // Represent one level of groups and tokens inside tree. Creates subobjects and then also information about each token\n for (let group of rootGroup.subgroups) {\n // Write buffer\n let writeSubObject = {};\n // Check whether the group should not be skipped because we have generated it on Supernova side. If so, completely ignore the group, and move one depth further\n if (this.tokenTransformer.groupIsAbstract(group)) {\n for (let subgroup of group.subgroups) {\n // Add each entry for each subgroup, and represent its tree into it\n newObject[this.tokenTransformer.safeGroupName(subgroup, options.naming)] = this.representTree(subgroup, allTokens, allGroups, writeSubObject, options);\n }\n }\n else {\n // Add each entry for each subgroup, and represent its tree into it\n newObject[this.tokenTransformer.safeGroupName(group, options.naming)] = this.representTree(group, allTokens, allGroups, writeSubObject, options);\n }\n // Add each entry for each token, writing to the same write root\n for (let token of TokenJSONBuilder.tokensOfGroup(group, allTokens)) {\n newObject[this.tokenTransformer.safeTokenName(token, options.naming)] = this.tokenTransformer.representToken(token, allTokens, allGroups, options);\n }\n }\n return newObject;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Lookup\n /** Find all tokens that belong to a certain group and retrieve them as objects */\n static tokensOfGroup(containingGroup, allTokens) {\n return allTokens.filter(t => containingGroup.tokenIds.indexOf(t.id) !== -1);\n }\n /** Retrieve chain of groups up to a specified group, ordered from parent to children */\n static referenceGroupChain(containingGroup) {\n let iteratedGroup = containingGroup;\n let chain = [containingGroup];\n while (iteratedGroup.parent) {\n chain.push(iteratedGroup.parent);\n iteratedGroup = iteratedGroup.parent;\n }\n return chain.reverse();\n }\n}\nexports.TokenJSONBuilder = TokenJSONBuilder;\n","\"use strict\";\n//\n// SDKToolsJSONElementStyleDictionary.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenJSONElementFigmaTokensTransformer = void 0;\nconst SDKToolsJSONElementTransformer_1 = require(\"./SDKToolsJSONElementTransformer\");\nconst SDKTokenType_1 = require(\"../../../model/enums/SDKTokenType\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Configuration\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Token transformer that allow generic transform of tokens to different destinations, like Style Dictionary or Figma Tokens representation */\nclass TokenJSONElementFigmaTokensTransformer extends SDKToolsJSONElementTransformer_1.TokenJSONElementTransformer {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Value Representation\n /** Represent color token value either as reference or as plain representation */\n representColorTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = `#${value.hex}`;\n // Create into shorthand\n if (result.endsWith(\"ff\")) {\n result = result.substr(result, result.length - 2);\n }\n }\n return result;\n }\n /** Represent radius token value either as reference or as plain representation */\n representRadiusTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n radius: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.radius, allTokens, allGroups, options)\n },\n topLeft: value.topLeft\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.topLeft, allTokens, allGroups, options)\n }\n : undefined,\n topRight: value.topRight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.topRight, allTokens, allGroups, options)\n }\n : undefined,\n bottomLeft: value.bottomLeft\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.bottomLeft, allTokens, allGroups, options)\n }\n : undefined,\n bottomRight: value.bottomRight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.bottomRight, allTokens, allGroups, options)\n }\n : undefined\n };\n }\n return result;\n }\n /** Represent measure token value either as reference or as plain representation */\n representMeasureTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = `${value.measure}px`;\n }\n return result;\n }\n /** Represent font token value either as reference or as plain representation */\n representFontTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n family: {\n type: 'string',\n value: value.family\n },\n subfamily: {\n type: 'string',\n value: value.subfamily\n }\n };\n }\n return result;\n }\n /** Represent text token value either as reference or as plain representation */\n representTextTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = value.text;\n }\n return result;\n }\n /** Represent typography token value either as reference or as plain representation */\n representTypographyTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n font: {\n type: 'font',\n value: this.representFontTokenValue(value.font, allTokens, allGroups, options)\n },\n fontSize: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.fontSize, allTokens, allGroups, options)\n },\n textDecoration: value.textDecoration,\n textCase: value.textCase,\n letterSpacing: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.letterSpacing, allTokens, allGroups, options)\n },\n paragraphIndent: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.paragraphIndent, allTokens, allGroups, options)\n },\n paragraphSpacing: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.paragraphSpacing, allTokens, allGroups, options)\n },\n lineHeight: value.lineHeight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.lineHeight, allTokens, allGroups, options)\n }\n : undefined\n };\n }\n return result;\n }\n /** Represent border token value either as reference or as plain representation */\n representBorderTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n color: {\n type: 'color',\n value: this.representColorTokenValue(value.color, allTokens, allGroups, options)\n },\n width: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.width, allTokens, allGroups, options)\n },\n position: {\n type: 'string',\n value: value.position\n }\n };\n }\n return result;\n }\n /** Represent shadow token value either as reference or as plain representation */\n representShadowTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n color: {\n type: 'color',\n value: this.representColorTokenValue(value.color, allTokens, allGroups, options)\n },\n x: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.x, allTokens, allGroups, options)\n },\n y: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.y, allTokens, allGroups, options)\n },\n radius: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.radius, allTokens, allGroups, options)\n },\n spread: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.spread, allTokens, allGroups, options)\n },\n opacity: {\n type: 'size',\n value: value.opacity\n }\n };\n }\n return result;\n }\n /** Represent gradient token value either as reference or as plain representation */\n representGradientTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n to: {\n type: 'point',\n value: {\n x: {\n type: 'size',\n value: value.to.x\n },\n y: {\n type: 'size',\n value: value.to.y\n }\n }\n },\n from: {\n type: 'point',\n value: {\n x: {\n type: 'size',\n value: value.from.x\n },\n y: {\n type: 'size',\n value: value.from.y\n }\n }\n },\n type: {\n type: 'string',\n value: value.type\n },\n aspectRatio: {\n type: 'size',\n value: value.aspectRatio\n },\n stops: {}\n };\n // Inject gradient stops\n let count = 0;\n for (let stop of value.stops) {\n let stopObject = {\n type: 'gradientStop',\n position: {\n type: 'size',\n value: stop.position\n },\n color: {\n type: 'color',\n value: this.representColorTokenValue(stop.color, allTokens, allGroups, options)\n }\n };\n result.stops[`${count}`] = stopObject;\n count++;\n }\n }\n return result;\n }\n /** Retrieve token wrapper containing its metadata and value information (used as container for each defined token) */\n tokenWrapper(token, value, options) {\n let data = {\n value: value\n };\n if (options.includeType) {\n data[\"type\"] = this.typeLabelConsideringAbstractGroups(token);\n }\n if (options.includeBrandId) {\n data[\"brandId\"] = token.brandId;\n }\n if (options.includeComments) {\n data[\"description\"] = token.description.length > 0 ? token.description : undefined;\n }\n return data;\n }\n /** Retrieve human-readable token type in unified fashion, used both as token type and as token master group */\n typeLabelConsideringAbstractGroups(token) {\n let groupChain = this.referenceGroupChain(token.parent);\n switch (token.tokenType) {\n case 'Color':\n return 'color';\n case 'Measure': {\n if (groupChain.length >= 2) {\n switch (groupChain[1].name) { // Checking by abstract, autogenerated group\n case \"Sizing\": return \"sizing\";\n case \"Font Size\": return \"fontSize\";\n case \"Border Radius\": return \"borderRadius\";\n case \"Border Width\": return \"borderWidth\";\n case \"Paragraph Spacing\": return \"paragraphSpacing\";\n case \"Line Height\": return \"lineHeight\";\n case \"Letter Spacing\": return \"letterSpacing\";\n case \"Spacing\": return \"spacing\";\n case \"Opacity\": return \"opacity\";\n case \"Dimension\": return \"dimension\";\n }\n }\n return 'sizing';\n }\n // TODO: Continue from here\n case 'Border':\n return 'border';\n case 'Font':\n return 'font';\n case 'Gradient':\n return 'gradient';\n case 'Radius':\n return 'radius';\n case 'Shadow':\n return 'shadow';\n case 'Text':\n return 'text';\n case 'Typography':\n return 'typography';\n }\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Object wrappers\n /** Retrieve wrapper to certain token (referenced by name) pointing to token value */\n referenceWrapper(reference, options) {\n return `{${reference}}`;\n }\n /** Retrieve safe group name made out of normal group name\n * This replace spaces with dashes, also change anything non-alphanumeric char to it as well.\n * For example, ST&RK Industries will be changed to st-rk-industries\n */\n safeGroupName(group, naming) {\n return group.name;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Naming\n /** Create full reference name representing token. Such name can, for example, look like: [g1].[g2].[g3].[g4].[token-name] */\n referenceName(token, allGroups, options) {\n // Find the group to which token belongs. This is really suboptimal and should be solved by the SDK to just provide the group reference\n let occurances = allGroups.filter(g => g.tokenIds.indexOf(token.id) !== -1);\n if (occurances.length === 0) {\n throw Error('JS: Unable to find token in any of the groups');\n }\n let containingGroup = occurances[0];\n let tokenPart = this.safeTokenName(token, options.naming);\n let groupParts = this.referenceGroupChain(containingGroup).map(g => this.safeGroupName(g, options.naming));\n if (!options.includeRootTypeNodes) {\n groupParts.splice(0, 1);\n }\n // Drop first segment if needed - from pre-created mapping groups that are not available by default in Supernova which we are creating\n let dropFirstSegment = false;\n switch (token.tokenType) {\n case SDKTokenType_1.TokenType.measure:\n if ([\"Border Radius\", \"Border Width\", \"Sizing\", \"Font Size\", \"Paragraph Spacing\", \"Line Height\", \"Letter Spacing\", \"Spacing\", \"Opacity\", \"Dimension\"].includes(groupParts[0])) {\n dropFirstSegment = true;\n }\n break;\n default: break;\n }\n if (dropFirstSegment) {\n groupParts.splice(0, 1);\n }\n return [...groupParts, tokenPart].join('.');\n }\n groupIsAbstract(group) {\n // Abstract groups can only be right after the root, otherwise they are never abstract\n if (!group.parent || !group.parent.isRoot) {\n return false;\n }\n switch (group.tokenType) {\n case SDKTokenType_1.TokenType.measure:\n if ([\"Border Radius\", \"Border Width\", \"Sizing\", \"Font Size\", \"Paragraph Spacing\", \"Line Height\", \"Letter Spacing\", \"Spacing\", \"Opacity\"].includes(group.name)) {\n return true;\n }\n // TODO: Detect other types\n default: break;\n }\n return false;\n }\n}\nexports.TokenJSONElementFigmaTokensTransformer = TokenJSONElementFigmaTokensTransformer;\n","\"use strict\";\n//\n// SDKToolsJSONElementStyleDictionary.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenJSONElementStyleDictionaryTransformer = void 0;\nconst SDKToolsJSONElementTransformer_1 = require(\"./SDKToolsJSONElementTransformer\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Configuration\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Token transformer that allow generic transform of tokens to different destinations, like Style Dictionary or Figma Tokens representation */\nclass TokenJSONElementStyleDictionaryTransformer extends SDKToolsJSONElementTransformer_1.TokenJSONElementTransformer {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Value Representation\n /** Represent color token value either as reference or as plain representation */\n representColorTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = `#${value.hex}`;\n }\n return result;\n }\n /** Represent radius token value either as reference or as plain representation */\n representRadiusTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n radius: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.radius, allTokens, allGroups, options)\n },\n topLeft: value.topLeft\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.topLeft, allTokens, allGroups, options)\n }\n : undefined,\n topRight: value.topRight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.topRight, allTokens, allGroups, options)\n }\n : undefined,\n bottomLeft: value.bottomLeft\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.bottomLeft, allTokens, allGroups, options)\n }\n : undefined,\n bottomRight: value.bottomRight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.bottomRight, allTokens, allGroups, options)\n }\n : undefined\n };\n }\n return result;\n }\n /** Represent measure token value either as reference or as plain representation */\n representMeasureTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n measure: {\n type: 'size',\n value: value.measure\n },\n unit: {\n type: 'string',\n value: value.unit.toLowerCase()\n }\n };\n }\n return result;\n }\n /** Represent font token value either as reference or as plain representation */\n representFontTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n family: {\n type: 'string',\n value: value.family\n },\n subfamily: {\n type: 'string',\n value: value.subfamily\n }\n };\n }\n return result;\n }\n /** Represent text token value either as reference or as plain representation */\n representTextTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = value.text;\n }\n return result;\n }\n /** Represent typography token value either as reference or as plain representation */\n representTypographyTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n font: {\n type: 'font',\n value: this.representFontTokenValue(value.font, allTokens, allGroups, options)\n },\n fontSize: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.fontSize, allTokens, allGroups, options)\n },\n textDecoration: value.textDecoration,\n textCase: value.textCase,\n letterSpacing: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.letterSpacing, allTokens, allGroups, options)\n },\n paragraphIndent: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.paragraphIndent, allTokens, allGroups, options)\n },\n paragraphSpacing: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.paragraphSpacing, allTokens, allGroups, options)\n },\n lineHeight: value.lineHeight\n ? {\n type: 'measure',\n value: this.representMeasureTokenValue(value.lineHeight, allTokens, allGroups, options)\n }\n : undefined\n };\n }\n return result;\n }\n /** Represent border token value either as reference or as plain representation */\n representBorderTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n color: {\n type: 'color',\n value: this.representColorTokenValue(value.color, allTokens, allGroups, options)\n },\n width: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.width, allTokens, allGroups, options)\n },\n position: {\n type: 'string',\n value: value.position\n }\n };\n }\n return result;\n }\n /** Represent shadow token value either as reference or as plain representation */\n representShadowTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n color: {\n type: 'color',\n value: this.representColorTokenValue(value.color, allTokens, allGroups, options)\n },\n x: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.x, allTokens, allGroups, options)\n },\n y: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.y, allTokens, allGroups, options)\n },\n radius: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.radius, allTokens, allGroups, options)\n },\n spread: {\n type: 'measure',\n value: this.representMeasureTokenValue(value.spread, allTokens, allGroups, options)\n },\n opacity: {\n type: 'size',\n value: value.opacity\n }\n };\n }\n return result;\n }\n /** Represent gradient token value either as reference or as plain representation */\n representGradientTokenValue(value, allTokens, allGroups, options) {\n let result;\n if (value.referencedToken) {\n // Forms reference\n result = this.referenceWrapper(this.referenceName(value.referencedToken, allGroups, options), options);\n }\n else {\n // Raw value\n result = {\n to: {\n type: 'point',\n value: {\n x: {\n type: 'size',\n value: value.to.x\n },\n y: {\n type: 'size',\n value: value.to.y\n }\n }\n },\n from: {\n type: 'point',\n value: {\n x: {\n type: 'size',\n value: value.from.x\n },\n y: {\n type: 'size',\n value: value.from.y\n }\n }\n },\n type: {\n type: 'string',\n value: value.type\n },\n aspectRatio: {\n type: 'size',\n value: value.aspectRatio\n },\n stops: {}\n };\n // Inject gradient stops\n let count = 0;\n for (let stop of value.stops) {\n let stopObject = {\n type: 'gradientStop',\n position: {\n type: 'size',\n value: stop.position\n },\n color: {\n type: 'color',\n value: this.representColorTokenValue(stop.color, allTokens, allGroups, options)\n }\n };\n result.stops[`${count}`] = stopObject;\n count++;\n }\n }\n return result;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Object wrappers\n /** Retrieve wrapper to certain token (referenced by name) pointing to token value */\n referenceWrapper(reference, options) {\n return `{${reference}.value}`;\n }\n groupIsAbstract(group) {\n return false;\n }\n}\nexports.TokenJSONElementStyleDictionaryTransformer = TokenJSONElementStyleDictionaryTransformer;\n","\"use strict\";\n//\n// SDKToolsJSONElementTransformer.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenJSONElementTransformer = void 0;\nconst SDKToolsJSONBuilder_1 = require(\"../SDKToolsJSONBuilder\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Configuration\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Tool implementation\n/** Token transformer that allow generic transform of tokens to different destinations, like Style Dictionary or Figma Tokens representation */\nclass TokenJSONElementTransformer {\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Representation\n /** Represent a singular token as SD object */\n representToken(token, allTokens, allGroups, options) {\n switch (token.tokenType) {\n case 'Color':\n return this.representColorToken(token, allTokens, allGroups, options);\n case 'Border':\n return this.representBorderToken(token, allTokens, allGroups, options);\n case 'Font':\n return this.representFontToken(token, allTokens, allGroups, options);\n case 'Gradient':\n return this.representGradientToken(token, allTokens, allGroups, options);\n case 'Measure':\n return this.representMeasureToken(token, allTokens, allGroups, options);\n case 'Radius':\n return this.representRadiusToken(token, allTokens, allGroups, options);\n case 'Shadow':\n return this.representShadowToken(token, allTokens, allGroups, options);\n case 'Text':\n return this.representTextToken(token, allTokens, allGroups, options);\n case 'Typography':\n return this.representTypographyToken(token, allTokens, allGroups, options);\n }\n }\n /** Represent full color token, including wrapping meta-information such as user description */\n representColorToken(token, allTokens, allGroups, options) {\n let value = this.representColorTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full border token, including wrapping meta-information such as user description */\n representBorderToken(token, allTokens, allGroups, options) {\n let value = this.representBorderTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full font token, including wrapping meta-information such as user description */\n representFontToken(token, allTokens, allGroups, options) {\n let value = this.representFontTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full gradient token, including wrapping meta-information such as user description */\n representGradientToken(token, allTokens, allGroups, options) {\n let value = this.representGradientTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full measure token, including wrapping meta-information such as user description */\n representMeasureToken(token, allTokens, allGroups, options) {\n let value = this.representMeasureTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full radius token, including wrapping meta-information such as user description */\n representRadiusToken(token, allTokens, allGroups, options) {\n let value = this.representRadiusTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full shadow token, including wrapping meta-information such as user description */\n representShadowToken(token, allTokens, allGroups, options) {\n let value = this.representShadowTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full text token, including wrapping meta-information such as user description */\n representTextToken(token, allTokens, allGroups, options) {\n let value = this.representTextTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n /** Represent full typography token, including wrapping meta-information such as user description */\n representTypographyToken(token, allTokens, allGroups, options) {\n let value = this.representTypographyTokenValue(token.value, allTokens, allGroups, options);\n return this.tokenWrapper(token, value, options);\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Token Value Representation\n /** Represent color token value either as reference or as plain representation */\n representColorTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent radius token value either as reference or as plain representation */\n representRadiusTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent measure token value either as reference or as plain representation */\n representMeasureTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent font token value either as reference or as plain representation */\n representFontTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent text token value either as reference or as plain representation */\n representTextTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent typography token value either as reference or as plain representation */\n representTypographyTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent border token value either as reference or as plain representation */\n representBorderTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent shadow token value either as reference or as plain representation */\n representShadowTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n /** Represent gradient token value either as reference or as plain representation */\n representGradientTokenValue(value, allTokens, allGroups, options) {\n throw new Error(\"Not implemented\");\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Object wrappers\n /** Retrieve wrapper to certain token (referenced by name) pointing to token value */\n referenceWrapper(reference, options) {\n throw new Error(\"Not implemented\");\n }\n /** Retrieve token wrapper containing its metadata and value information (used as container for each defined token) */\n tokenWrapper(token, value, options) {\n let data = {\n value: value\n };\n if (options.includeType) {\n data[\"type\"] = this.typeLabel(token.tokenType);\n }\n if (options.includeBrandId) {\n data[\"brandId\"] = token.brandId;\n }\n if (options.includeComments) {\n data[\"comment\"] = token.description.length > 0 ? token.description : undefined;\n }\n return data;\n }\n // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n // MARK: - Naming\n /** Create full reference name representing token. Such name can, for example, look like: [g1].[g2].[g3].[g4].[token-name] */\n referenceName(token, allGroups, options) {\n // Find the group to which token belongs. This is really suboptimal and should be solved by the SDK to just provide the group reference\n let occurances = allGroups.filter(g => g.tokenIds.indexOf(token.id) !== -1);\n if (occurances.length === 0) {\n throw Error('JS: Unable to find token in any of the groups');\n }\n let containingGroup = occurances[0];\n let tokenPart = this.safeTokenName(token, options.naming);\n let groupParts = this.referenceGroupChain(containingGroup).map(g => this.safeGroupName(g, options.naming));\n if (!options.includeRootTypeNodes) {\n groupParts.splice(0, 1);\n }\n return [...groupParts, tokenPart].join('.');\n }\n /** Retrieve safe token name made out of normal token name\n * This replace spaces with dashes, also change anything non-alphanumeric char to it as well.\n * For example, ST&RK Industries will be changed to st-rk-industries\n */\n safeTokenName(token, naming) {\n // TODO: Naming\n let name = token.name;\n return this.processedName(name, naming);\n }\n /** Retrieve safe group name made out of normal group name\n * This replace spaces with dashes, also change anything non-alphanumeric char to it as well.\n * For example, ST&RK Industries will be changed to st-rk-industries\n */\n safeGroupName(group, naming) {\n // TODO: Naming\n return group.name.replace(/\\W+/g, '-').toLowerCase();\n }\n processedName(name, naming) {\n switch (naming) {\n case SDKToolsJSONBuilder_1.JSONBuilderNamingOption.camelcase:\n return name.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replace(/\\s+/g, '');\n case SDKToolsJSONBuilder_1.JSONBuilderNamingOption.kebabcase:\n return name.replace(/\\W+/g, '-').toLowerCase();\n case SDKToolsJSONBuilder_1.JSONBuilderNamingOption.original:\n return name;\n case SDKToolsJSONBuilder_1.JSONBuilderNamingOption.snakecase:\n return name.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).map(x => x.toLowerCase()).join('_');\n }\n }\n /** Retrieve human-readable token type in unified fashion, used both as token type and as token master group */\n typeLabel(type) {\n switch (type) {\n case 'Border':\n return 'border';\n case 'Color':\n return 'color';\n case 'Font':\n return 'font';\n case 'Gradient':\n return 'gradient';\n case 'Measure':\n return 'measure';\n case 'Radius':\n return 'radius';\n case 'Shadow':\n return 'shadow';\n case 'Text':\n return 'text';\n case 'Typography':\n return 'typography';\n }\n }\n /** Retrieve chain of groups up to a specified group, ordered from parent to children */\n referenceGroupChain(containingGroup) {\n let iteratedGroup = containingGroup;\n let chain = [containingGroup];\n while (iteratedGroup.parent) {\n chain.push(iteratedGroup.parent);\n iteratedGroup = iteratedGroup.parent;\n }\n return chain.reverse();\n }\n groupIsAbstract(group) {\n throw new Error(\"Not implemented\");\n }\n}\nexports.TokenJSONElementTransformer = TokenJSONElementTransformer;\n","\"use strict\";\n//\n// SDKToolsMarkdownTransform.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MarkdownTransform = exports.MarkdownTransformType = void 0;\nconst exports_1 = require(\"../../exports\");\nconst SDKToolsMarkdownTransformBlock_1 = require(\"./SDKToolsMarkdownTransformBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n/** Output markdown mode. Commonmark and GitHub is currently supported */\nvar MarkdownTransformType;\n(function (MarkdownTransformType) {\n MarkdownTransformType[\"commonmark\"] = \"commonmark\";\n MarkdownTransformType[\"github\"] = \"github\";\n})(MarkdownTransformType = exports.MarkdownTransformType || (exports.MarkdownTransformType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Search Instance\n/** Markdown transformers */\nclass MarkdownTransform {\n // --- Constructor\n constructor(type, version) {\n /** Creates flattened structure of the blocks, even from the contained blocks, so it is easier to iterate through them */\n this.flattenedBlocksOfPage = (page) => {\n let blocks = page.blocks;\n for (let block of page.blocks) {\n blocks = blocks.concat(this.flattenedBlocksOfBlock(block));\n }\n return blocks;\n };\n /** Flattens one leaf of blocks */\n this.flattenedBlocksOfBlock = (block) => {\n // For containers, we will ignore all their children - they are generated separately by the behavior of the container itself (tables, tabs etc.)\n if (this.isContainer(block.type)) {\n return [];\n }\n let subblocks = block.children;\n for (let subblock of block.children) {\n subblocks = subblocks.concat(this.flattenedBlocksOfBlock(subblock));\n }\n return subblocks;\n };\n this.conversionType = type;\n this.version = version;\n if (type === MarkdownTransformType.github) {\n console.log('Note: GitHub mode of markdown is currently in development and is not yet fully supported');\n }\n this.blockTransformer = new SDKToolsMarkdownTransformBlock_1.MarkdownTransformBlock(type, version);\n }\n // --- Conversion\n /** Converts entire definition of the page, including its metadata like title and description, to markdown */\n convertPageToMarkdown(page) {\n return __awaiter(this, void 0, void 0, function* () {\n const pages = yield (yield this.version.documentation()).pages();\n const blocks = this.flattenedBlocksOfPage(page);\n let pageContent = [];\n for (let block of blocks) {\n let blockContent = yield this.blockTransformer.convertBlockToMarkdown(block, page, pages);\n if (blockContent) {\n pageContent.push(blockContent);\n }\n }\n const title = `# ${page.title}\\n\\n`;\n const description = page.configuration.header.description ? `${page.configuration.header.description}\\n\\n` : '';\n const heading = `${title}${description}---\\n\\n`;\n const content = pageContent.join('\\n\\n');\n return `${heading}${content}`;\n });\n }\n isContainer(blockType) {\n return (blockType === exports_1.DocumentationPageBlockType.table ||\n blockType === exports_1.DocumentationPageBlockType.tableCell ||\n blockType === exports_1.DocumentationPageBlockType.tableRow ||\n blockType === exports_1.DocumentationPageBlockType.column ||\n blockType === exports_1.DocumentationPageBlockType.columnItem ||\n blockType === exports_1.DocumentationPageBlockType.tabs ||\n blockType === exports_1.DocumentationPageBlockType.tabItem);\n }\n}\nexports.MarkdownTransform = MarkdownTransform;\n","\"use strict\";\n//\n// SDKToolsMarkdownTransformBlock.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MarkdownTransformBlock = void 0;\nconst SDKDocumentationPageBlockColumnItem_1 = require(\"../../model/documentation/blocks/SDKDocumentationPageBlockColumnItem\");\nconst SDKDocumentationPageBlockTabItem_1 = require(\"../../model/documentation/blocks/SDKDocumentationPageBlockTabItem\");\nconst SDKDocumentationPageBlockTableRow_1 = require(\"../../model/documentation/blocks/SDKDocumentationPageBlockTableRow\");\nconst SDKDocumentationCalloutType_1 = require(\"../../model/enums/SDKDocumentationCalloutType\");\nconst SDKDocumentationHeadingType_1 = require(\"../../model/enums/SDKDocumentationHeadingType\");\nconst SDKDocumentationPageBlockType_1 = require(\"../../model/enums/SDKDocumentationPageBlockType\");\nconst SDKToolsMarkdownTransform_1 = require(\"./SDKToolsMarkdownTransform\");\nconst SDKToolsMarkdownTransformUtil_1 = require(\"./SDKToolsMarkdownTransformUtil\");\nconst SDKToolsMarkdownTransformCustomBlock_1 = require(\"./SDKToolsMarkdownTransformCustomBlock\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Search Instance\n/** Markdown block transformer */\nclass MarkdownTransformBlock {\n // --- Conversion\n constructor(type, version) {\n this.newlineSeparator = ' \\n';\n this.transformType = type;\n this.version = version;\n if (type === SDKToolsMarkdownTransform_1.MarkdownTransformType.github) {\n console.log('Note: GitHub mode of markdown is currently in development and is not yet fully supported');\n }\n this.utilTransformer = new SDKToolsMarkdownTransformUtil_1.MarkdownTransformUtil(this.transformType, version);\n this.customBlockTransformer = new SDKToolsMarkdownTransformCustomBlock_1.MarkdownTransformCustomBlock(version, this.utilTransformer);\n }\n // --- Conversion\n /** Converts a single block - depending on the type - to a markdown definition of specific type */\n convertBlockToMarkdown(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n switch (block.type) {\n // Following blocks are automatically transformed\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.callout:\n return this.convertCalloutBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.code:\n return this.convertCodeBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.componentAssets:\n return yield this.convertComponentAssetBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.custom:\n return this.convertCustomBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.divider:\n return this.convertDividerBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.figmaEmbed:\n return this.convertFigmaEmbedBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.figmaFrames:\n return this.convertFigmaFramesBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.genericEmbed:\n return this.convertGenericEmbedBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.heading:\n return this.convertHeadingBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.image:\n return this.convertImageBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.link:\n return this.convertLinkBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.orderedList:\n return this.convertOrderedListBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.quote:\n return this.convertQuoteBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.renderCode:\n return this.convertLiveCodeBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.shortcuts:\n return this.convertShortcutsBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.storybookEmbed:\n return this.convertStorybookEmbedBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.text:\n return this.convertTextBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.token:\n return yield this.convertTokenBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tokenGroup:\n return this.convertTokenGroupBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tokenList:\n return this.convertTokenListBlock(block);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.unorderedList:\n return this.convertUnorderedListBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.youtubeEmbed:\n return this.convertYoutubeEmbedBlock(block);\n // Following blocks are special because their transformation is invoked manually (containers)\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.column:\n return yield this.convertColumnBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.table:\n return yield this.convertTableBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tabs:\n return yield this.convertTabsBlock(block, pageContext, pages);\n // Following blocks are special because their transformation is invoked manually (contained items)\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tabItem:\n return yield this.convertTabItemBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.columnItem:\n return yield this.convertColumnItemBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tableCell:\n return yield this.convertTableCellBlock(block, pageContext, pages);\n case SDKDocumentationPageBlockType_1.DocumentationPageBlockType.tableRow:\n return yield this.convertTableRowBlock(block);\n }\n });\n }\n // -- Plain blocks\n convertHeadingBlock(block, pageContext, pages) {\n let heading = block;\n let text = this.utilTransformer.convertTextBlockToMarkdown(heading, pageContext, pages);\n switch (heading.headingType) {\n case SDKDocumentationHeadingType_1.DocumentationHeadingType.h1:\n return `# ${text}`;\n case SDKDocumentationHeadingType_1.DocumentationHeadingType.h2:\n return `## ${text}`;\n case SDKDocumentationHeadingType_1.DocumentationHeadingType.h3:\n return `### ${text}`;\n }\n }\n convertCalloutBlock(block, pageContext, pages) {\n let text = this.utilTransformer.convertTextBlockToMarkdown(block, pageContext, pages);\n let calloutType;\n switch (block.calloutType) {\n case SDKDocumentationCalloutType_1.DocumentationCalloutType.info:\n calloutType = 'Some extra info:';\n break;\n case SDKDocumentationCalloutType_1.DocumentationCalloutType.warning:\n calloutType = 'Be warned:';\n break;\n case SDKDocumentationCalloutType_1.DocumentationCalloutType.success:\n calloutType = 'Yay:';\n break;\n case SDKDocumentationCalloutType_1.DocumentationCalloutType.error:\n calloutType = 'Please note:';\n break;\n }\n return `> ${calloutType}${this.newlineSeparator}> ${text}`;\n }\n convertQuoteBlock(block, pageContext, pages) {\n let text = this.utilTransformer.convertTextBlockToMarkdown(block, pageContext, pages);\n return `> ${text}`;\n }\n convertDividerBlock(block) {\n return '---';\n }\n convertImageBlock(block) {\n if (block.url) {\n return ``;\n }\n }\n convertOrderedListBlock(block, pageContext, pages) {\n let text = this.utilTransformer.convertTextBlockToMarkdown(block, pageContext, pages);\n return `1. ` + text;\n }\n convertUnorderedListBlock(block, pageContext, pages) {\n let text = this.utilTransformer.convertTextBlockToMarkdown(block, pageContext, pages);\n return `- ` + text;\n }\n convertLiveCodeBlock(block) {\n const codeLanguageDefinition = 'javascript';\n return `\\`\\`\\`${codeLanguageDefinition}${this.newlineSeparator}${block.code}${this.newlineSeparator}\\`\\`\\``;\n }\n convertCodeBlock(block) {\n const codeLanguageDefinition = block.codeLanguage ? block.codeLanguage.toLowerCase() : '';\n return `\\`\\`\\`${codeLanguageDefinition}${this.newlineSeparator}${block.text.asPlainText()}${this.newlineSeparator}\\`\\`\\``;\n }\n convertTextBlock(block, pageContext, pages) {\n return this.utilTransformer.convertTextBlockToMarkdown(block, pageContext, pages);\n }\n convertGenericEmbedBlock(block) {\n return this.convertURLBlock(block, 'Open link', true);\n }\n convertStorybookEmbedBlock(block) {\n return this.convertURLBlock(block, 'Open Storybook Canvas', false);\n }\n convertLinkBlock(block) {\n return this.convertURLBlock(block, 'Open link', true);\n }\n convertYoutubeEmbedBlock(block) {\n return this.convertURLBlock(block, 'Open Youtube Video', false);\n }\n convertFigmaEmbedBlock(block) {\n return this.convertURLBlock(block, 'Open Figma Prototype / File', false);\n }\n // -- Token blocks\n convertTokenBlock(block) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!block.tokenId) {\n return null;\n }\n // Fetch token\n let tokens = yield this.version.tokens();\n tokens = tokens.filter(t => t.id === block.tokenId || t.versionedId === block.tokenId);\n if (tokens.length === 0) {\n return null;\n }\n // Convert token\n return `${this.newlineSeparator}${this.utilTransformer.convertTokenToMarkdown(tokens[0])}${this.newlineSeparator}`;\n });\n }\n convertTokenListBlock(block) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!block.tokenIds) {\n return null;\n }\n // Fetch tokens\n let tokens = yield this.version.tokens();\n tokens = tokens.filter(t => block.tokenIds.includes(t.id) || block.tokenIds.includes(t.versionedId));\n if (tokens.length === 0) {\n return null;\n }\n // Convert token\n return `${this.newlineSeparator}${tokens\n .map(t => this.utilTransformer.convertTokenToMarkdown(t))\n .join(this.newlineSeparator)}${this.newlineSeparator}`;\n });\n }\n convertTokenGroupBlock(block) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!block.groupId) {\n return null;\n }\n // Fetch tokens\n let tokens = yield this.version.tokens();\n let groups = yield this.version.tokenGroups();\n groups = groups.filter(g => g.id === block.groupId || g.versionedId === block.groupId);\n if (groups.length !== 1) {\n return null;\n }\n // Show either single group or all nested groups\n let groupsToShow = [groups[0]];\n if (block.showNestedGroups) {\n groupsToShow = this.flattenedGroupsFromRoot(groups[0]);\n }\n // Convert group and all its tokens\n let segments = [];\n for (let group of groupsToShow) {\n let tokensToShow = tokens.filter(t => group.tokenIds.includes(t.id) || group.tokenIds.includes(t.versionedId));\n if (tokensToShow.length > 0) {\n let segment = `${this.newlineSeparator}${`**Token Group ${[...group.path, group.name].join(' / ')}**: `}${this.newlineSeparator}${tokensToShow.map(t => this.utilTransformer.convertTokenToMarkdown(t)).join(this.newlineSeparator)}${this.newlineSeparator}`;\n segments.push(segment);\n }\n }\n // Convert to single string\n return segments.join(this.newlineSeparator);\n });\n }\n flattenedGroupsFromRoot(root) {\n let groups = [root];\n for (let group of root.subgroups) {\n groups.push(group);\n groups = groups.concat(this.flattenedGroupsFromRoot(group));\n }\n return groups;\n }\n convertComponentAssetBlock(block) {\n return __awaiter(this, void 0, void 0, function* () {\n let assets = yield this.version.assets();\n let convertedAssets = [];\n for (let asset of block.assets) {\n let assetObject = assets.filter(a => a.id === asset.assetId)[0];\n if (assetObject && assetObject.thumbnailUrl) {\n convertedAssets.push(`` +\n this.newlineSeparator +\n `${asset.title ? asset.title : assetObject.name}` +\n (asset.description ? `, ${asset.description}` + this.newlineSeparator : ''));\n }\n }\n return this.newlineSeparator + convertedAssets.join(this.newlineSeparator) + this.newlineSeparator;\n });\n }\n convertFigmaFramesBlock(block) {\n var _a;\n let convertedFrames = [];\n for (let frame of block.frames) {\n if (frame.previewUrl) {\n convertedFrames.push(`` +\n this.newlineSeparator +\n `${frame.title ? frame.title : ''}` +\n (frame.description ? `, ${frame.description}` + this.newlineSeparator : ''));\n }\n }\n return this.newlineSeparator + convertedFrames.join(this.newlineSeparator) + this.newlineSeparator;\n }\n convertShortcutsBlock(block, pageContext, pages) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n let convertedShortcut = [];\n for (let shortcut of block.shortcuts) {\n const { url } = this.utilTransformer.getLinkUrl(pageContext, pages, shortcut.externalUrl, shortcut.internalId);\n const title = this.utilTransformer.escapeMarkdown((_a = shortcut.title) !== null && _a !== void 0 ? _a : '');\n const description = this.utilTransformer.escapeMarkdown((_b = shortcut.description) !== null && _b !== void 0 ? _b : '');\n if (shortcut.previewUrl) {\n // Generate shortcut with image preview\n let previewUrl = shortcut.previewUrl;\n convertedShortcut.push(`[](${url})` +\n this.newlineSeparator +\n `${title ? title : ''}` +\n (description ? `, ${description}` + this.newlineSeparator : this.newlineSeparator));\n }\n else {\n // Generate shortcut without image preview\n convertedShortcut.push(this.utilTransformer.formatLinkUrl(title, url) +\n (description ? `, ${description}` + this.newlineSeparator : this.newlineSeparator));\n }\n }\n return this.newlineSeparator + convertedShortcut.join(this.newlineSeparator) + this.newlineSeparator;\n });\n }\n // -- Containers: Table\n convertTableBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n // No empty tables\n if (block.children.length === 0) {\n return null;\n }\n // Generate header row\n let firstRow = block.children[0];\n let rowContent = [];\n let separatorContent = [];\n let count = 1;\n for (let child of firstRow.children) {\n rowContent.push(`Column ${count}`);\n separatorContent.push(`---`);\n count++;\n }\n let tableRows = ['| ' + rowContent.join(' | ') + ' |', '| ' + separatorContent.join(' | ') + ' |'];\n for (let child of block.children) {\n if (child instanceof SDKDocumentationPageBlockTableRow_1.DocumentationPageBlockTableRow) {\n let childContent = yield Promise.all(child.children.map(c => this.convertBlockToMarkdown(c, pageContext, pages)));\n let rowDefinition = '| ' + childContent.join(' | ') + ' |';\n tableRows.push(rowDefinition);\n }\n }\n return this.newlineSeparator + tableRows.join(this.newlineSeparator) + this.newlineSeparator;\n });\n }\n convertTableRowBlock(block) {\n // Not used, rows are used when generating table directly in the table\n return null;\n }\n convertTableCellBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n let cellContent = yield Promise.all(block.children.map(c => this.convertBlockToMarkdown(c, pageContext, pages)));\n return cellContent.join('<br>'); // Multiline cell needs non-regular line breaks\n });\n }\n // -- Containers: Tabs\n convertTabsBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n // No empty tabs\n if (block.children.length === 0) {\n return null;\n }\n let tabContent = [];\n for (let child of block.children) {\n if (child instanceof SDKDocumentationPageBlockTabItem_1.DocumentationPageBlockTabItem) {\n let result = yield this.convertTabItemBlock(child, pageContext, pages);\n tabContent.push(result);\n }\n }\n return tabContent.join(this.newlineSeparator) + this.newlineSeparator;\n });\n }\n convertTabItemBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n let childContent = yield Promise.all(block.children.map(c => this.convertBlockToMarkdown(c, pageContext, pages)));\n let tabDefinition = this.newlineSeparator +\n `**${this.utilTransformer.escapeMarkdown(block.caption)}**` +\n this.newlineSeparator +\n childContent.join(this.newlineSeparator);\n return tabDefinition;\n });\n }\n // -- Containers: Columns\n convertColumnBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n // No empty columns\n if (block.children.length === 0) {\n return null;\n }\n let columnContent = [];\n for (let child of block.children) {\n if (child instanceof SDKDocumentationPageBlockColumnItem_1.DocumentationPageBlockColumnItem) {\n let result = yield this.convertColumnItemBlock(child, pageContext, pages);\n columnContent.push(result);\n }\n }\n return columnContent.join(this.newlineSeparator) + this.newlineSeparator;\n });\n }\n convertColumnItemBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n let childContent = yield Promise.all(block.children.map(c => this.convertBlockToMarkdown(c, pageContext, pages)));\n let tabDefinition = this.newlineSeparator + childContent.join(this.newlineSeparator);\n return tabDefinition;\n });\n }\n // -- Unsupported\n convertCustomBlock(block, pageContext, pages) {\n return __awaiter(this, void 0, void 0, function* () {\n if (block.key === 'io.supernova.documentation-main.component-checklist-all') {\n return this.customBlockTransformer.convertComponentOverviewAll(block, pageContext, pages);\n }\n else if (block.key === 'io.supernova.documentation-main.component-checklist') {\n return this.customBlockTransformer.convertComponentOverview(block, pageContext, pages);\n }\n else if (block.key === 'io.supernova.documentation-main.component-health') {\n return this.customBlockTransformer.convertComponentHealth(block, pageContext, pages);\n }\n else {\n // Custom blocks will not be transformed for now, as we can't realistically\n // know what they are supposed to do and right now we also can't invoke them\n return null;\n }\n });\n }\n // -- Conveniences\n convertURLBlock(block, userAction, showLink) {\n // Will generate:\n // [Action prompt, ie. \"Open Figma File\"](url)\n // ^ caption_if_provided\n if (block.url) {\n const caption = block.caption\n ? `^ ${this.utilTransformer.escapeMarkdown(block.caption)}${this.newlineSeparator}`\n : '';\n return `${this.newlineSeparator}[${userAction}](${block.url})${this.newlineSeparator}${caption}`;\n }\n return null;\n }\n}\nexports.MarkdownTransformBlock = MarkdownTransformBlock;\n","\"use strict\";\n//\n// SDKToolsMarkdownTransformCustomBlock.ts\n// Supernova SDK\n//\n// Copyright © 2024 Supernova. All rights reserved.\n//\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MarkdownTransformCustomBlock = void 0;\nconst SDKElementProperty_1 = require(\"../../model/elements/SDKElementProperty\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Search Instance\n/** Markdown custom block transformer */\nclass MarkdownTransformCustomBlock {\n constructor(version, utilTransformer) {\n this.newlineSeparator = ' \\n';\n this.version = version;\n this.utilTransformer = utilTransformer;\n }\n getFigmaFileUrl(designComponent) {\n return 'https://www.figma.com/file/' + designComponent.origin.fileId + '?node-id=' + designComponent.origin.nodeId;\n }\n formatWarning(header, description) {\n return `> Be warned:${this.newlineSeparator}> **${header}** ${this.newlineSeparator}> ${description}`;\n }\n formatComponentName(component, pageContext, pages) {\n const allProperties = component.properties;\n const documentationLinkProperty = allProperties.find(p => p.propertyType === SDKElementProperty_1.ElementPropertyType.link &&\n p.linkElementType === SDKElementProperty_1.ElementPropertyLinkElementType.documentationPage &&\n p.codeName === 'documentationLink') ||\n allProperties.find(p => p.propertyType === SDKElementProperty_1.ElementPropertyType.link &&\n p.linkElementType === SDKElementProperty_1.ElementPropertyLinkElementType.documentationPage);\n const escapedName = this.utilTransformer.escapeMarkdown(component.name);\n let result = escapedName;\n if (documentationLinkProperty) {\n const docPageId = component.propertyValues[documentationLinkProperty.codeName];\n result = this.utilTransformer.formatLinkUrl(escapedName, this.utilTransformer.getLinkUrl(pageContext, pages, undefined, docPageId).url);\n }\n return `**${result}**`;\n }\n formatPropertyValue(component, p, pageContext, pages, designComponents) {\n var _a;\n const propertyValue = component.propertyValues[p.codeName];\n if (!propertyValue && p.propertyType !== SDKElementProperty_1.ElementPropertyType.boolean) {\n return '-';\n }\n switch (p.propertyType) {\n case SDKElementProperty_1.ElementPropertyType.link:\n if (p.linkElementType === SDKElementProperty_1.ElementPropertyLinkElementType.documentationPage) {\n const { documentationPage, url } = this.utilTransformer.getLinkUrl(pageContext, pages, undefined, propertyValue);\n return this.utilTransformer.formatLinkUrl(this.utilTransformer.escapeMarkdown(documentationPage.title), url);\n }\n else if (p.linkElementType === SDKElementProperty_1.ElementPropertyLinkElementType.figmaComponent) {\n const designComponent = designComponents.find(dc => dc.id === propertyValue);\n return (designComponent === null || designComponent === void 0 ? void 0 : designComponent.origin)\n ? this.utilTransformer.formatLinkUrl('Open in Figma', this.getFigmaFileUrl(designComponent))\n : '-';\n }\n else {\n return this.utilTransformer.formatLinkUrl('Open link', propertyValue);\n }\n case SDKElementProperty_1.ElementPropertyType.url:\n return this.utilTransformer.formatLinkUrl('Open link', propertyValue);\n case SDKElementProperty_1.ElementPropertyType.select:\n return ((_a = (p.options || []).find(o => o.id === propertyValue)) === null || _a === void 0 ? void 0 : _a.name) || propertyValue;\n case SDKElementProperty_1.ElementPropertyType.boolean:\n return propertyValue ? '✅' : '❌';\n case SDKElementProperty_1.ElementPropertyType.number:\n return propertyValue;\n default:\n return this.utilTransformer.escapeMarkdown(propertyValue);\n }\n }\n convertComponentOverviewAll(block, pageContext, pages) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n const propertyIdsToHighlight = (_b = (_a = block.properties) === null || _a === void 0 ? void 0 : _a.propertiesToHighlight) !== null && _b !== void 0 ? _b : [];\n const showLastUpdatedColumn = (_d = (_c = block.properties) === null || _c === void 0 ? void 0 : _c.showLastUpdatedColumn) !== null && _d !== void 0 ? _d : false;\n const components = (yield this.version.components()).sort((a, b) => a.name.localeCompare(b.name));\n const designComponents = yield this.version.designComponents();\n if (!components.length) {\n return this.formatWarning('No components are yet tracked', 'Please add some in `Components` section and republish the documentation.');\n }\n const propertiesToHighlight = propertyIdsToHighlight.map(propertyId => components[0].properties.find(p => p.persistentId === propertyId));\n const headerColumns = [\n 'Component',\n ...propertiesToHighlight.map(p => p.name),\n ...(showLastUpdatedColumn ? ['Last updated'] : [])\n ].map(column => `**${this.utilTransformer.escapeMarkdown(column)}**`);\n const alignmentColumns = [\n ':--',\n ...propertiesToHighlight.map(p => ['URL', 'Link', 'Boolean', 'Select'].includes(p.propertyType) ? ':--:' : ':--'),\n ...(showLastUpdatedColumn ? [':--:'] : [])\n ];\n const convertComponentProps = (component) => [\n this.formatComponentName(component, pageContext, pages),\n ...propertiesToHighlight.map(p => this.formatPropertyValue(component, p, pageContext, pages, designComponents)),\n ...(showLastUpdatedColumn\n ? [\n new Intl.DateTimeFormat('en-US', { year: 'numeric', month: 'long', day: '2-digit' }).format(component.updatedAt)\n ]\n : [])\n ];\n const rows = components.map(c => `| ${convertComponentProps(c).join(' | ')} |`);\n return [`| ${headerColumns.join(' | ')} |`, `| ${alignmentColumns.join(' | ')} |`, ...rows].join(this.newlineSeparator);\n });\n }\n convertComponentOverview(block, pageContext, pages) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return __awaiter(this, void 0, void 0, function* () {\n const componentId = (_b = (_a = block.properties) === null || _a === void 0 ? void 0 : _a.componentId) !== null && _b !== void 0 ? _b : null;\n const propertyIdsToHighlight = (_d = (_c = block.properties) === null || _c === void 0 ? void 0 : _c.propertiesToHighlight) !== null && _d !== void 0 ? _d : [];\n const showDescription = (_f = (_e = block.properties) === null || _e === void 0 ? void 0 : _e.showDescription) !== null && _f !== void 0 ? _f : false;\n const header = (_h = (_g = block.properties) === null || _g === void 0 ? void 0 : _g.header) !== null && _h !== void 0 ? _h : '';\n const escapedHeader = header && this.utilTransformer.escapeMarkdown(header) + this.newlineSeparator;\n if (!componentId) {\n return (escapedHeader +\n this.formatWarning('Unable to show component checklist block', 'Please select a component in the block.'));\n }\n if (!propertyIdsToHighlight.length) {\n return (escapedHeader +\n this.formatWarning('Unable to show component checklist block', 'Please select properties to show.'));\n }\n const component = (yield this.version.components()).find(c => c.persistentId === componentId);\n if (!component) {\n return (escapedHeader +\n this.formatWarning('Unable to show component health block', 'Reason: Unknown component. Please contact the support.'));\n }\n const designComponents = yield this.version.designComponents();\n const propertiesToHighlight = propertyIdsToHighlight.map(propertyId => component.properties.find(p => p.persistentId === propertyId));\n const rearrangedPropertiesToHighlight = propertiesToHighlight\n .filter(p => p.propertyType === SDKElementProperty_1.ElementPropertyType.boolean)\n .concat(propertiesToHighlight.filter(p => p.propertyType !== SDKElementProperty_1.ElementPropertyType.boolean));\n return (escapedHeader +\n [\n this.newlineSeparator,\n '| Component property | Value |',\n '| :-- | --: |',\n ...rearrangedPropertiesToHighlight.map(p => {\n let title = this.utilTransformer.escapeMarkdown(p.name);\n if (showDescription && p.description) {\n title += ` <br/> ${this.utilTransformer.escapeMarkdown(p.description)}`;\n }\n const value = this.formatPropertyValue(component, p, pageContext, pages, designComponents);\n return `| ${title} | ${value} |`;\n })\n ].join(this.newlineSeparator));\n });\n }\n convertComponentHealth(block, pageContext, pages) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n const componentId = (_b = (_a = block.properties) === null || _a === void 0 ? void 0 : _a.componentId) !== null && _b !== void 0 ? _b : null;\n if (!componentId) {\n return this.formatWarning('Unable to show component health block', 'Please select a component in the block.');\n }\n const component = (yield this.version.components()).find(c => c.persistentId === componentId);\n if (!component) {\n return this.formatWarning('Unable to show component health block', 'Please select a component in the block.');\n }\n const statusProperty = component.properties.find(p => p.codeName === 'status');\n const statusValue = (_d = (_c = ((statusProperty === null || statusProperty === void 0 ? void 0 : statusProperty.options) || []).find(o => o.id === component.propertyValues['status'])) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : 'Unknown status';\n const componentName = this.formatComponentName(component, pageContext, pages);\n return `${componentName}${' '.repeat(5)} Health status:${' '.repeat(3)}**${statusValue}**`;\n });\n }\n}\nexports.MarkdownTransformCustomBlock = MarkdownTransformCustomBlock;\n","\"use strict\";\n//\n// SDKToolsMarkdownTransformText.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MarkdownTransformUtil = void 0;\nconst SDKRichTextSpanAttributeType_1 = require(\"../../model/enums/SDKRichTextSpanAttributeType\");\nconst __1 = require(\"../..\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Search Instance\n/** Markdown block transformer */\nclass MarkdownTransformUtil {\n // --- Conversion\n constructor(type, version) {\n this.transformType = type;\n this.tokenTransformer = new __1.TokenTransform();\n }\n // --- Conversion\n /** Converts rich text block to markdown\n *\n * This is very naive implementation and will break in complicated cases, like double control characters of the same type next to each other\n * Must improve later with something more sophisticated, ideally tree builder with branched resolution.\n */\n convertTextBlockToMarkdown(block, pageContext, pages) {\n return this.convertRichTextToMarkdown(block.text, pageContext, pages);\n }\n /** Converts rich text to markdown\n *\n * This is very naive implementation and will break in complicated cases, like double control characters of the same type next to each other\n * Must improve later with something more sophisticated, ideally tree builder with branched resolution.\n */\n convertRichTextToMarkdown(richText, currentPage, pages) {\n let outputString = '';\n for (let text of richText.spans) {\n if (text.text.length > 0) {\n let outputPartial = this.escapeMarkdown(text.text);\n for (let attribute of text.attributes) {\n switch (attribute.type) {\n case SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType.link:\n const { url } = this.getLinkUrl(currentPage, pages, attribute.link, attribute.documentationItemId);\n outputPartial = `[${outputPartial}](${url})`;\n break;\n case SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType.bold:\n outputPartial = `**${outputPartial}**`;\n break;\n case SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType.code:\n outputPartial = `\\`${outputPartial}\\``;\n break;\n case SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType.italic:\n outputPartial = `*${outputPartial}*`;\n break;\n case SDKRichTextSpanAttributeType_1.RichTextSpanAttributeType.strikethrough:\n outputPartial = `~~${outputPartial}~~`;\n break;\n }\n }\n outputString += outputPartial;\n }\n }\n return outputString;\n }\n // because SDK output is for nodeJS >8 we can't use vanilla 'replaceAll' function that was introduced in nodeJS 15\n replaceAll(text, search, replacement) {\n return text.split(search).join(replacement);\n }\n escapeMarkdown(text) {\n const escapeMap = [\n ['*', '*'],\n ['_', '_'],\n ['~', '˜'],\n ['-', '‐'],\n ['#', '#'],\n ];\n if (typeof text !== 'string') {\n return text;\n }\n return text && escapeMap.reduce((acc, [char, escapedChar]) => this.replaceAll(acc, char, escapedChar), text);\n }\n /** Convert token to markdown representation */\n convertTokenToMarkdown(token) {\n return `${token.name}: ${this.tokenTransformer.tokenToCSS(token)}`;\n }\n formatLinkUrl(label, url) {\n return `[${label}](${url})`;\n }\n getLinkUrl(currentPage, pages, externalUrl, internalId) {\n let url = '#';\n let documentationPage;\n if (externalUrl) {\n url = externalUrl;\n }\n else if (internalId) {\n documentationPage = pages.find(p => p.id === internalId || p.persistentId === internalId);\n if (documentationPage) {\n url = this.relativePathToPage(documentationPage, currentPage);\n }\n }\n return { url, documentationPage };\n }\n relativePathToPage(destinationPage, currentPage) {\n // do not use last part of path because it may include page name for doc exporter with shortPersistentId included.\n // Also, pages with duplicate names will have the same name if shortPersistentId is removed\n const destinationPageUrlParts = destinationPage\n .relativePageUrl()\n .split('/')\n .slice(0, -1);\n const currentPageUrlParts = currentPage\n .relativePageUrl()\n .split('/')\n .slice(0, -1);\n let commonPathLevel = 0;\n while (commonPathLevel < destinationPageUrlParts.length) {\n if (destinationPageUrlParts[commonPathLevel] !== currentPageUrlParts[commonPathLevel]) {\n break;\n }\n commonPathLevel++;\n }\n let url = [\n currentPageUrlParts\n .slice(commonPathLevel)\n .map(_ => '..')\n .join('/') || '.',\n ...destinationPageUrlParts.slice(commonPathLevel),\n // slug is unique and is used as a markdown file name. So, it is used instead of last destinationPageUrlParts part\n destinationPage.slug\n ].join('/');\n if (url.endsWith('.html')) {\n url = url.substring(0, url.length - 5);\n }\n // just in case check shortPersistentId part\n if (destinationPage.shortPersistentId && url.endsWith(`-${destinationPage.shortPersistentId}`)) {\n url = url.substring(0, url.length - destinationPage.shortPersistentId.length - 1);\n }\n if (!url.endsWith('.md')) {\n url += '.md';\n }\n return url;\n }\n}\nexports.MarkdownTransformUtil = MarkdownTransformUtil;\n","\"use strict\";\n//\n// SDKToolsDocSearch.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocSearch = exports.DocSearchResultDataType = void 0;\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Imports\nconst fuse_js_1 = __importDefault(require(\"fuse.js\"));\nconst SDKDocumentationPageBlockText_1 = require(\"../../model/documentation/blocks/SDKDocumentationPageBlockText\");\nconst SDKDocumentationGroupBehavior_1 = require(\"../../model/enums/SDKDocumentationGroupBehavior\");\nconst SDKDocumentationPageBlockType_1 = require(\"../../model/enums/SDKDocumentationPageBlockType\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Definitions\nvar DocSearchResultDataType;\n(function (DocSearchResultDataType) {\n DocSearchResultDataType[\"contentBlock\"] = \"contentBlock\";\n DocSearchResultDataType[\"sectionHeader\"] = \"sectionHeader\";\n DocSearchResultDataType[\"pageTitle\"] = \"pageTitle\";\n})(DocSearchResultDataType = exports.DocSearchResultDataType || (exports.DocSearchResultDataType = {}));\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Search Instance\n/** Search manager */\nclass DocSearch {\n // --- Constructor\n constructor(configuration) {\n // --- Search index\n /* Removes previous data from search index and creates new one */\n this.updateSearchIndex = (pages) => {\n let id = 0;\n let data = [];\n // Process every page for data\n for (let page of pages) {\n // Naming - For tabs, use name of the containing group, otherwise we get lot of design/code which is not very useful\n let pageName = page.title;\n if (page.parent && page.parent.groupBehavior === SDKDocumentationGroupBehavior_1.DocumentationGroupBehavior.tabs) {\n pageName = page.parent.title + \"/\" + pageName;\n }\n // Extract rich text from headers and any text piece there is\n let allBlocks = this.flattenedBlocksOfPage(page);\n for (let block of allBlocks) {\n if (block instanceof SDKDocumentationPageBlockText_1.DocumentationPageBlockText) {\n data.push({\n id: id++,\n text: block.text.spans.map((s) => s.text).join(\"\"),\n type: block.type === SDKDocumentationPageBlockType_1.DocumentationPageBlockType.heading ? DocSearchResultDataType.sectionHeader : DocSearchResultDataType.contentBlock,\n blockId: block.id,\n pageId: page.id,\n pageName: pageName,\n });\n }\n }\n // Push page information\n data.push({\n id: id++,\n text: page.title,\n type: DocSearchResultDataType.pageTitle,\n blockId: undefined,\n pageId: page.id,\n pageName: pageName,\n });\n }\n this.searchEngine = this.reconstructSearchIndex(data, this.searchConfiguration);\n return data;\n };\n /* Removes previous data from search index and creates new one */\n this.search = (input) => {\n return this.searchEngine.search(input);\n };\n /** Reconstructs the search index */\n this.reconstructSearchIndex = (data, options) => {\n const fuse = new fuse_js_1.default(data, options);\n return fuse;\n };\n /** Creates flattened structure of the blocks, even from the contained blocks, so it is easier to iterate through them */\n this.flattenedBlocksOfPage = (page) => {\n let blocks = page.blocks;\n for (let block of page.blocks) {\n blocks = blocks.concat(this.flattenedBlocksOfBlock(block));\n }\n return blocks;\n };\n /** Flattens one leaf of blocks */\n this.flattenedBlocksOfBlock = (block) => {\n let subblocks = block.children;\n for (let subblock of block.children) {\n subblocks = subblocks.concat(this.flattenedBlocksOfBlock(subblock));\n }\n return subblocks;\n };\n this.searchConfiguration = configuration;\n this.searchEngine = this.reconstructSearchIndex([], configuration);\n }\n // --- Conveniences\n /** When using this configuration, the results will be very precise and will not be deviating too much from the query */\n static defaultPreciseConfiguration() {\n return {\n shouldSort: true,\n threshold: 0.1,\n location: 0,\n distance: 100,\n maxPatternLength: 32,\n minMatchCharLength: 1,\n ignoreLocation: true,\n keys: [\"text\"],\n };\n }\n /** When using this configuration, the results will be more fuzzy and might cover broader spectrum results than just near-keyword based search */\n static defaultFuzzyConfiguration() {\n return {\n shouldSort: true,\n threshold: 0.2,\n location: 0,\n distance: 100,\n maxPatternLength: 32,\n minMatchCharLength: 1,\n ignoreLocation: true,\n keys: [\"text\"],\n };\n }\n}\nexports.DocSearch = DocSearch;\n","\"use strict\";\n//\n// SDKToolsTokenTransform.ts\n// Supernova SDK\n//\n// Created by Jiri Trecak.\n// Copyright © 2022 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenTransform = void 0;\nconst SDKUnit_1 = require(\"../../model/enums/SDKUnit\");\nconst tinycolor = require(\"tinycolor2\");\n// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Transformer instance\n/** Token data transformer. Use for direct representation of token to other representations, such as CSS, rgb etc. More transformers will be added over time */\nclass TokenTransform {\n // --- Properties\n // --- Constructor\n constructor() {\n }\n // --- Conversion to CSS\n /** Converts a single token to CSS definition. Values are always resolved to plain values, references to other tokens are not yet supported */\n tokenToCSS(token) {\n switch (token.tokenType) {\n case 'Color':\n return this.colorTokenToCSS(token.value);\n case 'Border':\n return this.borderTokenToCSS(token.value);\n case 'Font':\n return this.fontTokenToCSS(token.value);\n case 'Gradient':\n return this.gradientTokenToCSS(token.value);\n case 'Measure':\n return this.measureTokenToCSS(token.value);\n case 'Radius':\n return this.radiusTokenToCSS(token.value);\n case 'Shadow':\n return this.shadowTokenToCSS(token.value);\n case 'Text':\n return this.textTokenToCSS(token.value);\n case 'Blur':\n return this.blurTokenToCSS(token.value);\n case 'Typography':\n return this.typographyTokenToCSS(token.value);\n case 'GenericToken':\n return this.genericTokenToCSS(token.value);\n }\n throw new Error(`Unsupported token type ${token.tokenType} for transformation to CSS`);\n }\n /** Converts token to appropriate css variable definition --(name): css_definition */\n tokenToCSSVariableDeclaration(token, variableName) {\n return `--${variableName}: ${this.tokenToCSS(token)}`;\n }\n /** Converts color token value to css definition */\n colorTokenToCSS(value) {\n const color = tinycolor(value.hex);\n return color.toRgbString();\n }\n /** Converts border token value to css definition */\n borderTokenToCSS(value) {\n return `${this.measureTokenToCSS(value.width)} solid ${this.colorTokenToCSS(value.color)}, ${value.position.toLowerCase()}`;\n }\n /** Converts shadow token value to css definition */\n shadowTokenToCSS(value) {\n return `${value.type === \"Inner\" ? \"inset \" : \"\"}${this.measureTokenToCSS(value.x)} ${this.measureTokenToCSS(value.y)} ${this.measureTokenToCSS(value.radius)} ${this.measureTokenToCSS(value.spread)} ${this.colorTokenToCSS(value.color)}`;\n }\n /** Converts typography token value to css definition */\n typographyTokenToCSS(value) {\n let fontName = `${value.font.family} ${value.font.subfamily}`;\n let fontValue = this.measureTokenToCSS(value.fontSize);\n let textDecoration = \"\";\n let textCase = \"\";\n if (value.textDecoration !== \"None\") {\n textDecoration = `, ${value.textDecoration.toLowerCase()}`;\n }\n if (value.textCase !== \"Original\") {\n textCase = `, ${value.textCase.toLowerCase()}`;\n }\n return `${fontName} ${fontValue}${textDecoration}${textCase}`;\n }\n /** Converts border token value to css definition */\n blurTokenToCSS(value) {\n return `blur(${this.measureTokenToCSS(value.radius)})`;\n }\n /** Converts border token value to css definition */\n measureTokenToCSS(value) {\n return `${value.measure}${this.unitToCSS(value.unit)}`;\n }\n unitToCSS(value) {\n switch (value) {\n case SDKUnit_1.Unit.ems: return \"em\";\n case SDKUnit_1.Unit.percent: return \"%\";\n case SDKUnit_1.Unit.pixels: return \"px\";\n case SDKUnit_1.Unit.points: return \"pt\";\n }\n }\n /** Converts border token value to css definition */\n radiusTokenToCSS(value) {\n // TODO: Export 4-corner radius once supported, for now, only singular radius\n return this.measureTokenToCSS(value.radius);\n }\n /** Converts gradient token value to css definition */\n gradientTokenToCSS(value) {\n let gradientType = \"\";\n switch (value.type) {\n case \"Linear\":\n gradientType = \"linear-gradient(0deg, \";\n break;\n case \"Radial\":\n gradientType = \"radial-gradient(circle, \";\n break;\n case \"Angular\":\n gradientType = \"conic-gradient(\";\n break;\n }\n // Describe gradient as (type) (stop1, stop2 ...)\n // Example: radial-gradient(circle, rgba(63,94,251,1) 0%, rgba(252,70,107,1) 100%);\n let stops = value.stops\n .map((stop) => {\n return `${this.colorTokenToCSS(stop.color)} ${stop.position * 100}%`;\n })\n .join(\", \");\n return `${gradientType}${stops})`;\n }\n /** Converts font token value to css definition */\n fontTokenToCSS(value) {\n var _a, _b;\n return `${(_a = value.family) !== null && _a !== void 0 ? _a : \"\"} ${(_b = value.subfamily) !== null && _b !== void 0 ? _b : \"\"}`;\n }\n /** Converts generic token value to css definition */\n genericTokenToCSS(value) {\n return \"\\\"\" + value.text + \"\\\"\";\n }\n /** Converts generic token value to css definition */\n textTokenToCSS(value) {\n return \"\\\"\" + value.text + \"\\\"\";\n }\n // --- Special treatment for CSS\n /** Converts a single color token to #hheexx or #hheexxaa */\n colorTokenToHEXorHEXA(colorToken) {\n const color = tinycolor(colorToken.value.hex);\n return colorToken.value.a === 1 ? color.toHexString() : color.toHex8String();\n }\n /** Converts a single color token to rgba(x,x,x,x) */\n colorTokenToRGBA(colorToken) {\n const color = tinycolor(colorToken.value.hex);\n return color.toRgbString();\n }\n /** Converts a single color token to rgba(x,x,x,x) with relative values */\n colorTokenToPercenageRGBA(colorToken) {\n const color = tinycolor(colorToken.value.hex);\n return color.toPercentageRgbString();\n }\n /** Converts a single color token to hsla(x,x,x,x) */\n colorTokenToHSLA(colorToken) {\n const color = tinycolor(colorToken.value.hex);\n return color.toHslString();\n }\n /** Converts a single color token to hsva(x,x,x,x) */\n colorTokenToHSVA(colorToken) {\n const color = tinycolor(colorToken.value.hex);\n return color.toHsvString();\n }\n}\nexports.TokenTransform = TokenTransform;\n","\"use strict\";\n//\n// StringUtils.ts\n// Pulsar Language\n//\n// Created by Jiri Trecak.\n// Copyright © 2020 Supernova. All rights reserved.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StringUtils = void 0;\nclass StringUtils {\n /** Returns string without whitespaces and newlines, trimmed left and right */\n static trimmed(str) {\n return str.trim();\n }\n /** Returns string without double quotes, trimmed left and right */\n static withoutDoubleQuotes(str) {\n return str.replace(/(^\"|\"$)/g, '');\n }\n /** Returns string without single and double quotes, trimmed left and right */\n static withoutQuotes(str) {\n return str.replace(/(^'|'$)/g, '');\n }\n /** Returns opening string until the first occurance of the character. If delimiter is not found, returns null */\n static substringUntilDelimiter(str, delimiter) {\n let buffer = '';\n for (const c of str) {\n if (c !== delimiter) {\n buffer += c;\n }\n else {\n return buffer;\n }\n }\n return null;\n }\n /** Returns whether string is prefixed and suffixed with double quotes */\n static isSurroundedWithDoubleQuotes(str) {\n return str.startsWith('\"') && str.endsWith('\"');\n }\n /** Returns substring between two round brackets. Returns null if it doesn't fit the format */\n static argumentStringBetweenBrackets(str, keyword) {\n let argument = str;\n if (argument.startsWith(keyword)) {\n argument = argument.substr(keyword.length);\n }\n else {\n // TODO: Rewrite\n // throw NSError(domain: \"\", code: 0, userInfo: [NSLocalizedDescriptionKey: \"String is not valid for keyword \\(keyword)\"])\n return null;\n }\n if (argument.startsWith('(') && argument.endsWith(')')) {\n argument = argument.substr(1, argument.length - 2);\n }\n else {\n // TODO: Rewrite\n // throw NSError(domain: \"\", code: 0, userInfo: [NSLocalizedDescriptionKey: \"Argument must be prefixed with ( and suffixed with )\"])\n return null;\n }\n return argument;\n }\n /** Returns substring between two round brackets using syntax-sensitive parsing (ignoring quoted content and properly balancing number of ( ) */\n static argumentStringBetweenBracketsFirstOccurance(str, keyword) {\n // This recieves keyword(...)...\n let argument = str;\n if (argument.startsWith(keyword)) {\n argument = argument.substr(keyword.length);\n }\n else {\n // TODO: Rewrite\n // throw NSError(domain: \"\", code: 0, userInfo: [NSLocalizedDescriptionKey: \"String is not valid for keyword \\(keyword)\"])\n return null;\n }\n // Test if argument starts with (\n if (argument.startsWith('(')) {\n argument = argument.substr(1);\n }\n else {\n // TODO: Rewrite\n // throw NSError(domain: \"\", code: 0, userInfo: [NSLocalizedDescriptionKey: \"Argument must be prefixed with (\"])\n return null;\n }\n // At this point, we have ...)... and we start parsing with openedBrackets count at 1\n let buffer = '';\n let lock = null;\n let previousChar = null;\n let openedBrackets = 1;\n for (const c of argument) {\n // Iterate each character, testing for locks\n // Last character escapes so ignore next one\n if (previousChar !== '\\\\') {\n if (lock === c) {\n // Lock pair found, unlock\n lock = null;\n }\n else {\n // Lock character found, but if it was escaped, ignored it\n if (lock === null && (c === \"'\" || c === '\"')) {\n lock = c;\n }\n }\n }\n // If content is not locked and character is either opening or closing bracket, we increase/decrease the level\n if (lock === null && c === '(') {\n openedBrackets += 1;\n }\n else if (lock === null && c === ')') {\n if (openedBrackets > 0) {\n openedBrackets -= 1;\n }\n // If we have closed the opening bracket, return the argument content\n if (openedBrackets === 0) {\n return buffer;\n }\n }\n previousChar = c;\n buffer += c;\n }\n // TODO: Rewrite\n // throw NSError(domain: \"\", code: 0, userInfo: [NSLocalizedDescriptionKey: \"Argument must be suffixed with )\"])\n return null;\n }\n /** Returns string without single and double quotes but removes only 1 character at most */\n static withoutQuotesSingleOccurance(str) {\n let string = str;\n if (string.startsWith('\"') || string.startsWith(\"'\")) {\n string = string.substr(1);\n }\n if (string.endsWith('\"') || string.endsWith(\"'\")) {\n string = string.substr(0, string.length - 1);\n }\n return string;\n }\n /** Returns string without single and double quotes but removes only 1 character at most */\n static withoutDoubleQuotesSingleOccurance(str) {\n let string = str;\n if (string.startsWith('\"')) {\n string = string.substr(1);\n }\n if (string.endsWith('\"')) {\n string = string.substr(0, string.length - 1);\n }\n string = string.replace(/\\\\\"/g, '\"'); // unmask quotes\n return string;\n }\n /** Returns string without round brackets, trimmed left and right */\n static withoutRoundBrackets(str) {\n return str.replace('^[(]+|[)]+$', '');\n }\n /** Creates a full range of a string, returning range of (0, length) */\n static fullRange(str) {\n return { location: 0, length: str.length };\n }\n /** Creates string made of N spaces */\n static spaces(count) {\n return ' '.repeat(count);\n }\n /** Splits string using separator while properly handling quotes.\n Content inside single or double quote will be ignored. Only content within closed quote pair will be ignored,\n Last single, not closed quote will be ignored. Quote types can't be combined, if the quote pair\n started with one type, it needs to be closed with the same one. There can be multiple types of quote pairs in single string though.\n Returns original string without splitting if separator is single or double quote as this behavior is undefined */\n static splitIgnoringQuotedContent(str, separator) {\n if (separator === '\"' || separator === \"'\") {\n return [str];\n }\n let components = [];\n let buffer = '';\n let lock = null;\n let previousChar = null;\n let lastQuotePairPosition = null;\n for (let [index, c] of str.split('').entries()) {\n // Iterate each character, testing for locks\n if (c === separator) {\n // Found separator, ignore the split if lock is active, otherwise add word to buffer\n if (lock === null) {\n components.push(buffer);\n buffer = '';\n lastQuotePairPosition = null;\n }\n else {\n buffer += c;\n }\n }\n else {\n // Separator not found\n buffer += c;\n // Last character escapes so ignore next one\n if (previousChar !== '\\\\') {\n if (lock === c) {\n // Lock pair found, unlock\n lock = null;\n lastQuotePairPosition = index;\n }\n else {\n // Lock character found, but if it was escaped, ignored it\n if (lock === null && (c === \"'\" || c === '\"')) {\n lock = c;\n }\n }\n }\n // Remove lock assuming last character wasn't escaped\n }\n previousChar = c;\n }\n // If there is some word, append it\n if (buffer.length > 0) {\n // Note that if the lock was opened but not closed, there is potentially last piece that wasn't split and should be\n // This is an edge case so we are treating it as such.\n // Could be optimized further just by saving whether separator was found inside lock but no need\n if (lock !== null) {\n // Gracefully handle edge case situation where following: \"test \\\"test test\\\"\\\" test\" can happen\n // Another quote is opened after some content with separator inside was ignored, meaning that separation of last buffer will actually result\n // in incorrectly separating content within quotes. So we split only the part after the last quote and prepend the prefix\n if (lastQuotePairPosition) {\n let substring = str.substr(lastQuotePairPosition, str.length - lastQuotePairPosition);\n let subcomponents = substring.split(separator);\n // Prepend the string with the unsplit part\n if (subcomponents.length > 0) {\n let firstItem = subcomponents[0];\n firstItem = `${buffer.substring(0, buffer.length - substring.length)}${firstItem}`;\n subcomponents.splice(0, 1, firstItem);\n }\n // Append separated components\n components = components.concat(subcomponents);\n }\n else {\n components = components.concat(buffer.split(separator));\n }\n }\n else {\n components.push(buffer);\n }\n }\n return components;\n }\n /** Removes spaces when they are inside of brackets, but properly handling spaces inside quoted content which should remain intact */\n static withoutSpacesInsideRoundBrackets(str) {\n let bracketCount = 0;\n let isInsideQuotes = false;\n let previousChar = null;\n let result = '';\n for (let char of str) {\n switch (char) {\n case '(':\n if (!isInsideQuotes) {\n bracketCount += 1;\n }\n break;\n case ')':\n if (!isInsideQuotes) {\n bracketCount -= 1;\n }\n break;\n case '\"':\n if (previousChar && previousChar === '\\\\') {\n // Escaped quotes do not change \"isInsideQuotes\"\n }\n else {\n isInsideQuotes = !isInsideQuotes;\n }\n break;\n default:\n break;\n }\n if (char === ' ') {\n if (bracketCount === 0 || isInsideQuotes) {\n result += char;\n }\n }\n else {\n result += char;\n }\n previousChar = char;\n }\n return result;\n }\n /** Splits string using separator while properly handling quotes and ignoring all content that comes in ().\n Content inside single or double quote will be ignored. Only content within closed quote pair will be ignored,\n Last single, not closed quote will be ignored. Quote types can't be combined, if the quote pair\n started with one type, it needs to be closed with the same one. There can be multiple types\n of quote pairs in single string though.\n Returns original string without splitting if separator is single, double quote or left/right bracket as this behavior is undefined */\n static splitIgnoringQuotedBracketedContent(str, separator) {\n if (separator === '\"' ||\n separator === \"'\" ||\n separator === '(' ||\n separator === ')' ||\n separator === '[' ||\n separator === ']' ||\n separator === '{' ||\n separator === '}') {\n return [str];\n }\n let components = [];\n let buffer = '';\n let lock = null;\n let previousChar = null;\n let lastQuotePairPosition = null;\n let openedRoundBrackets = 0;\n let openedSquareBrackets = 0;\n let openedCurlyBrackets = 0;\n for (let [index, c] of str.split('').entries()) {\n // Iterate each character, testing for locks\n if (c === separator) {\n // Found separator, ignore the split if lock is active, or ignore the split if inside bracket, otherwise add word to buffer\n if (lock === null && openedSquareBrackets === 0 && openedRoundBrackets === 0 && openedCurlyBrackets === 0) {\n components.push(buffer);\n buffer = '';\n lastQuotePairPosition = null;\n }\n else {\n buffer += c;\n }\n }\n else {\n // Separator not found\n buffer += c;\n // Last character escapes so ignore next one\n if (previousChar !== '\\\\') {\n if (lock === c) {\n // Lock pair found, unlock\n lock = null;\n lastQuotePairPosition = index;\n }\n else {\n // Lock character found, but if it was escaped, ignored it\n if (lock === null && (c === \"'\" || c === '\"')) {\n lock = c;\n }\n }\n }\n // If content is not locked and character is either opening or closing bracket, we increase/decrease the level\n if (lock === null && c === '(') {\n openedRoundBrackets += 1;\n }\n else if (lock === null && c === ')') {\n if (openedRoundBrackets > 0) {\n openedRoundBrackets -= 1;\n }\n }\n else if (lock === null && c === '[') {\n openedSquareBrackets += 1;\n }\n else if (lock === null && c === ']') {\n if (openedSquareBrackets > 0) {\n openedSquareBrackets -= 1;\n }\n }\n else if (lock === null && c === '{') {\n openedCurlyBrackets += 1;\n }\n else if (lock === null && c === '}') {\n if (openedCurlyBrackets > 0) {\n openedCurlyBrackets -= 1;\n }\n }\n }\n previousChar = c;\n }\n // If there is some word, append it\n if (buffer.length > 0) {\n // Note that if the lock was opened but not closed, there is potentially last piece that wasn't split and should be\n // This is an edge case so we are treating it as such.\n // Could be optimized further just by saving whether separator was found inside lock but no need\n if (lock !== null) {\n // Gracefully handle edge case situation where following: \"test \\\"test test\\\"\\\" test\" can happen\n // Another quote is opened after some content with separator inside was ignored, meaning that separation of last buffer will actually result\n // in incorrectly separating content within quotes. So we split only the part after the last quote and prepend the prefix\n if (lastQuotePairPosition) {\n let substring = str.substr(lastQuotePairPosition, str.length - lastQuotePairPosition);\n let subcomponents = substring.split(separator);\n // Prepend the string with the unsplit part\n if (subcomponents.length > 0) {\n let firstItem = subcomponents[0];\n firstItem = `${buffer.substring(0, buffer.length - substring.length)}${firstItem}`;\n subcomponents.splice(0, 1, firstItem);\n }\n // Append separated components\n components = components.concat(subcomponents);\n }\n else {\n components = components.concat(buffer.split(separator));\n }\n }\n else {\n components.push(buffer);\n }\n }\n return components;\n }\n /** Tests whether all characters of the string are lowercased and are only letters a-z */\n static isLowercaseLetters(str) {\n return /^[a-z]+$/.test(str);\n }\n /** Tests whether all characters of the string are lowercased and are only letters a-z, including separator dot */\n static isLowercaseLettersCanIncludeDot(str) {\n return /^[a-z.]+$/.test(str);\n }\n /** Tests whether all characters of the string are letters */\n static isLetters(str) {\n return /^[a-zA-Z]+$/.test(str);\n }\n /** Tests whether all characters of the string are letters, including separator dot */\n static isLettersCanIncludeDot(str) {\n return /^[a-zA-Z.]+$/.test(str);\n }\n /** Tests whether the first character of the string is lowercase */\n static isFirstCharacterLetterLowercase(str) {\n if (str.length === 0) {\n return false;\n }\n return str[0].toLowerCase() === str[0];\n }\n /** Tests whether all characters of the string are spaces */\n static isOnlySpaces(str) {\n return /^[ ]+$/.test(str);\n }\n /** Tests whether all characters of the string are spaces or newlines */\n static isOnlySpacesOrLineBreaks(str) {\n return /^\\s*$/.test(str);\n }\n /** Tests whether string represents array definition - starts with [, ends with ]\n * and doesn't contain : unless in double quotes\n */\n static isStructuralArrayDefinition(str) {\n let trimmed = str.trim();\n if (trimmed.startsWith('[') && trimmed.endsWith(']') && str.indexOf(':') === -1) {\n return true;\n }\n return false;\n }\n /** Parses array if it is structuraly viable and retrieves array components */\n static parsedArrayFromDefinition(str) {\n let workingString = str;\n if (!this.isStructuralArrayDefinition(str)) {\n return null;\n }\n // Clear the array definition\n // Remove first and last symbol ([])\n workingString = workingString.trim().substr(1, workingString.length - 2);\n // Split array with \",\"\n let components = this.splitIgnoringQuotedBracketedContent(workingString, ',');\n return components;\n }\n /** Tests whether string represents dictionary definition - starts with [, ends with ]\n * and contains at least once :\n */\n static isStructuralDictionaryDefinition(str) {\n // TODO: Test this properly, only find definitions that don't have : inside quotes\n let trimmed = str.trim();\n if (trimmed.startsWith('[') && trimmed.endsWith(']') && str.indexOf(':') !== -1) {\n return true;\n }\n return false;\n }\n /** Parses array if it is structuraly viable and retrieves array components */\n static parsedDictionaryFromDefinition(str) {\n let workingString = str;\n if (!this.isStructuralDictionaryDefinition(str)) {\n return null;\n }\n // Clear the array\n workingString = workingString.trim();\n // Remove first and last symbol ([])\n workingString.substr(1, workingString.length - 2);\n // Test whether the remaining string isn't just :. If so, it means we are creating empty dictionary\n if (workingString === ':') {\n return new Map();\n }\n // Split dictionary key-value pairs with \",\"\n let components = this.splitIgnoringQuotedBracketedContent(workingString, ',');\n // Split keys and values. Format MUST be [key] : [value], otherwise we fail\n let map = new Map();\n for (let component of components) {\n let pair = this.splitIgnoringQuotedContent(component, ':');\n if (pair.length === 2) {\n // Add the data\n map.set(pair[0], pair[1]);\n }\n else {\n // Format is wrong\n return null;\n }\n }\n return map;\n }\n static replaceAll(str, find, replace) {\n return str.replace(new RegExp(this.escapeRegExp(find), 'g'), replace);\n }\n static escapeRegExp(string) {\n return string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n}\nexports.StringUtils = StringUtils;\n","module.exports = require(\"abab\");","module.exports = require(\"color-string\");","module.exports = require(\"color2k\");","module.exports = require(\"expr-eval\");","module.exports = require(\"fuse.js\");","module.exports = require(\"https-proxy-agent\");","module.exports = require(\"lodash\");","module.exports = require(\"ml-matrix\");","module.exports = require(\"node-fetch\");","module.exports = require(\"postcss-calc-ast-parser\");","module.exports = require(\"string.prototype.matchall\");","module.exports = require(\"tinycolor2\");","module.exports = require(\"uuid\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8732);\n"],"names":["__awaiter","this","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","Object","defineProperty","exports","Brand","SDKBrandWriter_1","constructor","engine","model","version","id","persistentId","designSystemVersion","name","meta","description","dataCore","writer","BrandWriter","tokens","forceRefreshCache","currentDesignSystemTokens","designSystem","filter","t","brandId","tokensByApplyingThemes","themeIds","_a","themes","index","theme","find","Error","overrides","Map","override","overriddenTokens","set","reverseIds","reverse","resolvedTokens","token","get","push","currentDesignSystemThemes","tokenGroups","currentDesignSystemTokenGroups","g","tokenGroupTrees","rootGroups","isRoot","trees","group","tokenType","components","currentDesignSystemComponents","c","designComponents","currentDesignSystemDesignComponents","designComponentGroups","currentDesignSystemDesignComponentGroups","designComponentGroupTree","assets","currentDesignSystemAssets","a","assetGroups","currentDesignSystemAssetGroups","assetGroupTree","renderedAssets","format","scale","groups","renderAssetsForConfiguration","specificRenderedAssets","brand","writeTokens","deleteTokens","remoteTokens","map","toWriteObject","remoteGroups","writeTokenData","errors","writeTheme","remoteTheme","writeTokenThemeData","DesignSystem","_b","workspaceId","isMultiBrand","isMultibrand","isPublic","documentationExporterId","docExporterId","documentationSlug","docSlug","documentationUserSlug","docUserSlug","designSystemSwitcher","isEnabled","designSystemIds","versions","designSystemVersions","activeVersion","activeDesignSystemVersion","sourceById","sourceId","sources","s","designSystemSources","figmaFileIdForSourceId","source","fileId","figmaFileNameForSourceId","fileName","setKeyValueStorageData","key","stringValue","JSON","stringify","newDataCore","unsetKeyValueStorageData","readKeyValueStorageData","data","getKeyValueStorageData","parse","error","DesignSystemVersion","SDKElementProperty_1","SDKSupernovaError_1","SDKBrand_1","SDKDesignSystemVersionWriter_1","changeLog","length","isReadOnly","isReadonly","VersionWriter","brands","dsEndpoint","dsData","dataBridge","getDSMGenericDataFromEndpoint","SupernovaError","fromSDKError","Array","brandData","tokenIds","allTokens","tokenIdSet","Set","has","branch","assetGroupTrees","documentation","currentDesignSystemDocumentation","tokenProperties","currentDesignSystemElementProperties","p","targetElementType","ElementPropertyTargetElementType","tokenDataViews","currentDesignSystemElementDataViews","v","componentProperties","component","componentDataViews","getTokenStudioData","writeTokenStudioData","writeTokenStudioJSONData","Documentation","SDKDocumentationConfiguration_1","SDKDocumentationItemType_1","__1","registry","settings","DocumentationConfiguration","rootGroup","items","currentDesignSystemDocumentationItems","item","type","DocumentationItemType","i","pages","page","customBlocks","currentExporterCustomBlocks","customConfiguration","currentExporterConfigurationProperties","customBlockVariants","currentExporterBlockVariants","pageProperties","documentationPage","pageDataViews","publish","environment","lastJob","isPublishing","status","publishDocumentation","jobId","exporterId","jobs","documetationJobs","job","Supernova","SDKDataBridge_1","SDKDataCore_1","SDKConfiguration_1","SDKDesignSystem_1","SDKDesignSystemVersion_1","SDKWorkspace_1","SDKExporter_1","SDKSource_1","SDKUser_1","apiKey","url","requestHook","requestObserver","responseObserver","proxyUrl","useResolutionCache","apiUrl","Configuration","apiUrlForDefaultEnvironment","apiVersion","apiVersionForDefaultEnvironment","debugRequestObserver","debugResponseObserver","rebuildBridge","me","user","User","workspaces","workspaceEndpoint","memberships","membership","workspace","Workspace","userEndpoint","workspaceData","designSystems","ds","designSystemId","versionEndpoint","versionData","versionId","sourcesEndpoint","sourcesData","Source","exporters","exporterEndpoint","exporterData","Exporter","setResolutionCacheEnabled","cache","DataBridge","accessToken","target","bridge","DataCore","handle","profile","static","__importDefault","mod","__esModule","https_proxy_agent_1","fetch","default","conf","authToken","proxyAgent","HttpsProxyAgent","endpoint","dsGenericRequestURL","getDataForAuthenticatedEndpoint","getDSMDataFromEndpoint","designSystemVersionId","dsDataRequestURL","buildRequestConfig","method","config","timeout","headers","body","undefined","skipAuth","hookResult","skipDefaultAuth","requestURL","requestUrl","requestMethod","agent","response","ok","errorResponse","json","jsonResponse","catch","postDSMDataToEndpoint","put","postDataForAuthenticatedEndpoint","postDSMDataToGenericEndpoint","mode","dsWorkspaceRequestURL","wsId","dsId","dsVersionId","dsMetadataRequestURL","dsVersionRequestURL","SDKAsset_1","SDKRenderedAsset_1","SDKDesignComponent_1","SDKExporterCustomBlock_1","SDKAssetGroupResolver_1","SDKDesignComponentGroupResolver_1","SDKDocumentationItemResolver_1","SDKTokenGroupResolver_1","SDKTokenResolver_1","SDKDocumentation_1","SDKComponentResolver_1","SDKWorkspaceNPMRegistry_1","SDKElementDataView_1","tokensSynced","tokenGroupsSynced","themesSynced","componentsSynced","documentationItemsSynced","documentationItems","exporterCustomBlocksSynced","exporterCustomBlocks","designComponentAssetSynced","designComponentAssetGroupsSynced","elementDataViewsSynced","elementPropertiesSynced","elementProperties","elementDataViews","documentationSynced","currentWorkspaceHandle","currentDeployedDocumentationUrl","deployedUrl","updateThemesData","keys","keyQuery","encodeURIComponent","join","metadata","kvData","updateTokenData","updateTokenGroupData","updateElementData","updateDesignComponentAndAssetData","updateDesignComponentAndAssetGroupData","configuration","prefix","suffix","persistentIds","renderedItemsMap","renderedItem","assetId","from","entries","assetsMap","asset","resultingAssets","names","renderedGroup","assetIds","includes","assetPath","renderedAsset","RenderedAsset","parent","segments","updateComponentData","blocks","updateDocumentationItemData","updateDocumentationData","updateExporterCustomBlocksData","exporter","getExporter","propertyValues","getExporterConfigurationPropertyUserValues","property","contributes","updateValue","blockVariants","getElementData","views","properties","getRawElementPropertyData","resolvedProperties","ElementProperty","resolvedViews","ElementDataView","firstView","isDefault","indexes","column","columns","propertyDefinitionId","indexOf","sort","b","getDocumentation","remoteDocumentation","getNPMRegistry","npmRegistrySettings","WorkspaceNPMRegistry","getExporterCustomBlocks","rawBlocks","getExporterCustomBlockData","resolveExporterCustomBlockData","ExporterCustomBlock","getExporterConfigurationPropertiesUserValuesData","rawExporter","getExporterData","resolveExporterData","getTokens","getTokenGroups","all","getRawTokenData","getRawElementPropertyValuesData","rawData","propPack","rawValues","resolveTokenData","values","TokenResolver","getRawTokenGroupData","resolveTokenGroupData","resolver","TokenGroupResolver","resolveGroupData","getThemes","baseTokens","baseTokenGroups","getRawThemeData","resolveThemeData","resolvedThemes","themeModel","getComponents","getRawComponentData","rawComponents","resolveComponentData","designSystemComponents","definitions","ComponentResolver","getDesignComponentsAndAssets","getRawDesignComponentAndAssetData","resolveDesignComponentAndAssetData","designComponent","DesignComponent","assetNames","exportProperties","isAsset","toLowerCase","lowercasedName","Asset","getDesignComponentAndAssetGroups","getRawDesignComponentAndAssetGroupData","resolveDesignComponentGroupData","resolveAssetGroupData","DesignComponentGroupResolver","AssetGroupResolver","getDocumentationItems","getRawDocumentationItemData","workspaceHandle","deployedVersionUrl","resolveDocumentationItemData","pageDetails","groupDetails","detailResult","docsUrl","DocumentationItemResolver","resolveItemData","payload","bulkDelete","versionedId","limit","resultingStatus","SupernovaErrorType","message","super","label","computeError","processingError","SDKAssetGroup_1","hashedGroups","resolvedGroups","allowedAssetIds","rawGroup","AssetGroup","filteredAssetIds","referencedGroup","childrenIds","childGroup","addChild","recomputePaths","recomputeParents","reorderGroupsByRoots","recomputePathsFromRoot","path","shift","root","extendedPath","concat","subgroups","sortedGroups","roots","traverseSortGroup","output","g1","g2","subgroup","recomputeParentsFromRoot","setParent","SDKComponent_1","SDKElementPropertyValue_1","resolvedValues","ElementPropertyValue","Component","SDKDesignComponentGroup_1","DesignComponentGroup","filteredDesignComponentIds","componentIds","SDKDocumentationGroup_1","SDKDocumentationPage_1","hashedItems","resolvedItems","rootGroupModel","DocumentationGroup","resolveItemsForGroup","DocumentationPage","deployed","editor","editorUrl","internalOverridePaths","relative","pageUrl","firstPageFromTop","childId","childModel","pageId","pageModel","resolveBlockChains","resolveBlockGroup","blockType","previousBlock","block","endsTypeChain","beginsTypeChain","children","relativeUrl","slugify","object","pageSlug","userSlug","slug","subpaths","title","pop","documentationRoot","child","possiblePage","str","replace","l","RegExp","charAt","SDKTokenGroup_1","TokenGroup","filteredTokenIds","SDKTokenType_1","SDKThemeUtilities_1","SDKTokenTheme_1","SDKBlurToken_1","SDKBorderToken_1","SDKColorToken_1","SDKFontToken_1","SDKGenericToken_1","SDKGradientToken_1","SDKMeasureToken_1","SDKRadiusToken_1","SDKShadowToken_1","SDKTextToken_1","SDKTypographyToken_1","hashedTokens","hashedOverrides","hashedReconstructedOverrides","resolvedOverrides","rawToken","aliasTo","tokenTypeIsPure","constructValueToken","constructReferencedToken","tokenGroup","possibleToken","fixMultilayerShadowTokens","TokenType","shadow","fixMultilayerGradientTokens","gradient","fixMultilayerBlurTokens","blur","color","font","measure","text","generic","themeId","overrideData","tokenPersistentId","origin","replica","makeThemedValuelessTokenReplica","constructColorValue","constructFontValue","constructMeasureValue","constructTextLikeTokenValue","constructReferencedThemedToken","constructThemedValueToken","TokenTheme","themeOverrides","ThemeUtilities","replicateTokenAsThemePrefabWithoutValue","shadowLayers","findAssociatedTokens","gradientLayers","blurLayers","tokenId","actualOriginTokenId","matchingTokens","sortedTokens","matchingToken","isVirtual","split","referencedToken","referenceId","constructResolvedToken","constructResolvedThemedToken","baseToken","assign","ref","ColorToken","border","BorderToken","FontToken","GradientToken","MeasureToken","radius","RadiusToken","ShadowToken","TextToken","typography","TypographyToken","BlurToken","GenericToken","constructColorToken","constructBorderToken","constructFontToken","constructGradientToken","constructMeasureToken","constructRadiusToken","constructShadowToken","constructTextToken","constructTypographyToken","constructBlurToken","constructGenericToken","constructBlurTokenValue","constructBorderTokenValue","constructGradientTokenValue","constructRadiusTokenValue","constructShadowTokenValue","constructTypographyTokenValue","rawValue","hex","substr","r","parseInt","slice","unit","family","subfamily","to","aspectRatio","stops","constructGradientStops","stop","position","resolveReferencedColorTokenValue","resolveReferencedMeasureTokenValue","topLeft","topRight","bottomLeft","bottomRight","x","y","spread","opacity","width","resolveReferencedFontTokenValue","fontSize","textDecoration","textCase","letterSpacing","lineHeight","paragraphIndent","paragraphSpacing","resolved","DocumentationPageBlockShortcuts","DocumentationPageBlockShortcutType","DocumentationPageBlockShortcut","DocumentationPageBlockRenderCode","DocumentationPageBlockQuote","DocumentationPageOrderedList","DocumentationPageBlockImage","DocumentationPageBlockHeading","DocumentationPageBlockFrames","DocumentationPageBlockFrame","DocumentationPageBlockEmbedYoutube","DocumentationPageBlockEmbedStorybook","DocumentationPageBlockEmbedLink","DocumentationPageBlockEmbedGeneric","DocumentationPageBlockEmbedFigma","DocumentationPageBlockDivider","DocumentationPageBlockCustom","DocumentationPageBlockCode","DocumentationPageBlockCallout","DocumentationPageBlockAssets","DocumentationPageBlockAsset","ElementDataViewColumnBasePropertyType","ElementDataViewColumn","ElementPropertyOption","ElementPropertyType","ElementPropertyLinkElementType","ExporterConfigurationPropertyType","ExporterConfigurationPropertyInputType","ExporterConfigurationProperty","ExporterCustomBlockVariant","ExporterCustomBlockPropertyInputType","ExporterCustomBlockPropertyType","ExporterCustomBlockProperty","ExporterCustomBlockMode","DesignComponentOrigin","Unit","TextDecoration","TextCase","ShadowType","RichTextSpanAttributeType","GradientType","FrameLayout","FrameAlignment","DocumentationPageBlockThemeType","DocumentationPageBlockType","DocumentationPageAssetType","DocumentationHeadingType","DocumentationGroupBehavior","DocumentationCalloutType","BorderPosition","BlurType","AssetScaleType","AssetScale","AssetFormat","Alignment","RichTextSpanAttribute","RichTextSpan","DocumentationRichText","DocumentationPageAsset","DocumentationPageBlock","DocumentationItem","DocumentationItemConfiguration","DocumentationItemHeader","DocumentationPageBlockTableColumn","DocumentationPageBlockTableRow","DocumentationPageBlockTableCell","DocumentationPageBlockTable","DocumentationPageBlockTabItem","DocumentationPageBlockTab","DocumentationPageBlockColumnItem","DocumentationPageBlockColumn","DocumentationPageUnorderedList","DocumentationPageBlockTokenList","DocumentationPageBlockTokenGroup","DocumentationPageBlockToken","DocumentationPageBlockText","TokenTransform","MarkdownTransformType","MarkdownTransform","DocSearchResultDataType","DocSearch","SupernovaToolsDesignTokensPlugin","DTPluginToSupernovaMapType","JSONBuilderNamingOption","TokenJSONBuilder","TokenThemeOverride","Token","TokenOrigin","Size","SDKSupernova_1","enumerable","SDKExporterCustomBlockProperty_1","SDKExporterCustomBlockVariant_1","SDKExporterConfigurationProperty_1","SDKElementPropertyOption_1","SDKElementDataViewColumn_1","SDKDocumentationPageBlockAsset_1","SDKDocumentationPageBlockAssets_1","SDKDocumentationPageBlockCallout_1","SDKDocumentationPageBlockCode_1","SDKDocumentationPageBlockCustom_1","SDKDocumentationPageBlockDivider_1","SDKDocumentationPageBlockEmbedFigma_1","SDKDocumentationPageBlockEmbedGeneric_1","SDKDocumentationPageBlockEmbedLink_1","SDKDocumentationPageBlockEmbedStorybook_1","SDKDocumentationPageBlockEmbedYoutube_1","SDKDocumentationPageBlockFrame_1","SDKDocumentationPageBlockFrames_1","SDKDocumentationPageBlockHeading_1","SDKDocumentationPageBlockImage_1","SDKDocumentationPageBlockOrderedList_1","SDKDocumentationPageBlockQuote_1","SDKDocumentationPageBlockRenderCode_1","SDKDocumentationPageBlockShortcut_1","SDKDocumentationPageBlockShortcuts_1","SDKDocumentationPageBlockText_1","SDKDocumentationPageBlockToken_1","SDKDocumentationPageBlockTokenGroup_1","SDKDocumentationPageBlockTokenList_1","SDKDocumentationPageBlockUnorderedList_1","SDKDocumentationPageBlockColumn_1","SDKDocumentationPageBlockColumnItem_1","SDKDocumentationPageBlockTab_1","SDKDocumentationPageBlockTabItem_1","SDKDocumentationPageBlockTable_1","SDKDocumentationPageBlockTableCell_1","SDKDocumentationPageBlockTableRow_1","SDKDocumentationPageBlockTableColumn_1","SDKDocumentationItemHeader_1","SDKDocumentationItemConfiguration_1","SDKDocumentationItem_1","SDKDocumentationPageBlock_1","SDKDocumentationPageAsset_1","SDKDocumentationRichText_1","SDKDocumentationRichTextSpan_1","SDKDocumentationRichTextSpanAttribute_1","SDKAlignment_1","SDKAssetFormat_1","SDKAssetScale_1","SDKAssetScaleType_1","SDKBlurType_1","SDKBorderPosition_1","SDKDocumentationCalloutType_1","SDKDocumentationGroupBehavior_1","SDKDocumentationHeadingType_1","SDKDocumentationPageAssetType_1","SDKDocumentationPageBlockType_1","SDKDocumentationPageBlockThemeType_1","SDKFrameAlignment_1","SDKFrameLayout_1","SDKGradientType_1","SDKRichTextSpanAttributeType_1","SDKShadowType_1","SDKTextCase_1","SDKTextDecoration_1","SDKUnit_1","SDKDesignComponentOrigin_1","SDKSize_1","SDKTokenOrigin_1","SDKToken_1","SDKTokenThemeOverride_1","SDKToolsJSONBuilder_1","SDKDTMapLoader_1","SDKToolsDesignTokensPlugin_1","SDKToolsDocSearch_1","SDKToolsMarkdownTransform_1","SDKToolsTokenTransform_1","__createBinding","create","o","m","k","k2","__exportStar","prototype","hasOwnProperty","call","duplicates","thumbnailUrl","svgUrl","previouslyDuplicatedNames","componentId","originComponent","createdAt","Date","updatedAt","sourceUrl","originalName","targetElementId","definitionId","codeName","tabbedNavigation","tabbed","storybookError","storybookEmbedErrorMessage","packageJson","renderCodePackageJson","npmRegistry","groupBehavior","relativeFirstPageUrl","deployedFirstPageUrl","addChildren","relativeDocsPageUrl","deployedDocsPageUrl","shortPersistentId","SDKDocumentationBlockBuilder_1","DocumentationBlockBuilder","fromGenericModel","editorPageUrl","deployedPageUrl","relativePageUrl","frame","figmaFrame","_c","variantKey","blacklistedElementProperties","userMetadata","spans","asPlainText","attributes","link","openInNewWindow","documentationItemId","blockBackgroundColor","_d","componentAssetId","backgroundColor","_e","_f","figmaFrameProperties","alignment","center","layout","c4","componentAssets","f","calloutType","codeLanguage","caption","customBlockKey","customBlock","customBlockProperties","assetUrl","size","urlPreview","SDKFrameOrigin_1","previewUrl","FrameOrigin","sourceFrameId","showTitles","frames","figmaFrames","headingType","abab_1","DocumentationPageBlockRenderCodeSandboxAlignment","DocumentationPageBlockRenderCodeEnvironmentType","showCode","renderCodeProperties","height","code","packageJSON","sandboxData","encodeSandboxData","sandboxType","react","localAlignment","start","definition","visual","forcedHeight","horizontalAlignment","verticalAlignment","backgroundHex","btoaUnicode","btoa","match","p1","String","fromCharCode","atobUnicode","decodeURIComponent","atob","charCodeAt","toString","external","internal","shortcutTitleFromModel","shortcutDescriptionFromModel","shortcutPreviewUrlFromModel","documentationItemPreview","valid","internalId","externalUrl","trim","shortcuts","tableProperties","showBorders","showHeaderRow","showHeaderColumn","order","row","columnId","designObjectId","groupId","showNestedGroups","designObjectIds","heading","unorderedList","orderedList","quote","callout","divider","image","tokenList","figmaEmbed","youtubeEmbed","storybookEmbed","genericEmbed","custom","renderCode","columnItem","tabs","tabItem","table","tableCell","tableRow","header","showSidebar","_g","_h","backgroundImageAssetUrl","backgroundImageAsset","backgroundImageAssetId","backgroundImageScaleType","foregroundColor","showBackgroundOverlay","showCoverText","minHeight","ElementDataViewColumnType","basePropertyType","propertyType","linkElementType","options","SourceType","_j","packageId","isPrivate","isDefaultDocumentationExporter","usesBrands","author","organization","homepage","readme","iconURL","tags","repositoryUrl","githubUrl","repositoryBranch","githubBranch","repositoryDirectory","githubDirectory","variants","variant","configurationProperties","category","iconUrl","inputType","plain","isMultiline","blockKey","setPath","sortOrder","setSortOrder","toMutatedObject","nodeId","remoteSource","sourceType","remoteDesignComponentUrl","sourceFileName","assetScale","_k","_l","_m","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_0","cloud","autoImportMode","fileThumbnailUrl","lastUpdatesCheckedAt","lastImportedVersion","created_at","lastImportedAt","lastImportResult","tokensCreated","tokensUpdated","tokensDeleted","componentsCreated","componentsUpdated","componentsDeleted","componentAssetsCreated","componentAssetsUpdated","componentAssetsDeleted","isFailed","fileSize","lastImportFramesResult","assetsInFile","invalidReferencesCount","ownerId","ownerUserName","state","linkType","referenceOriginId","referencePersistentId","enabledScopes","limitToScopes","registryUrl","dsVersion","addOverride","addOverrides","toISOString","tokensToOverrides","toWriteOverrideObject","valueToWriteObject","alias","specificData","toBaseWriteObject","valueObject","uuid_1","referenceResolver","v4","customPropertyOverrides","tokenValue","borderValueFromDefinition","colorValueFromDefinitionOrReference","outside","measureValueFromDefinitionOrReference","normalizedHex","color_string_1","color2k_1","matchAll","colorValueFromDefinition","normalizedDefinition","normalizeColor","console","log","Math","max","min","round","hexRegex","hslaRegex","rgbaRegex","returnedColor","matchesRgba","matchesHsla","forEach","toHex","matchedString","matchedColor","matchesHexInsideRgba","alpha","parseToRgba","n","normalizeOpacity","matched","Number","startsWith","valueHasReference","isBalancedReference","valueIsPureReference","reference","lookupReferencedToken","references","lookupAllReferencedTokens","resolvedValue","replaceAllReferencedTokens","genericValueFromDefinition","ml_matrix_1","StringUtils_1","gradientValueFromDefinition","d","StringUtils","replaceAll","substring","lastIndexOf","gradientDegrees","colorStops","splitIgnoringQuotedBracketedContent","degreesAsNumber","parseFloat","rad","PI","sqrt","pow","tan","matrix","inverse","Matrix","mmul","cos","sin","to2DArray","gradientStops","separatedStop","linear","SDKDTExpressionParser_1","measureValueFromDefinition","pixels","parseMeasure","parsedDefinition","DTExpressionParser","reduceExpressionsToBaseForm","isNaN","endsWith","percent","ems","points","parsedMeasure","radiusValueFromDefinition","corners","shadowValueFromDefinition","inner","drop","empty","originStyle","TokenComparator","isEqualBlurTokenValue","isEqualBorderTokenValue","isEqualColorTokenValue","isEqualFontTokenValue","isEqualGenericTokenValue","isEqualGradientTokenValue","isEqualMeasureTokenValue","isEqualRadiusTokenValue","isEqualShadowTokenValue","isEqualTextTokenValue","isEqualTypographyTokenValue","isUndefinedValue","referencesSameToken","isEqualGradientStops","as","bs","typographyValueFromDefinition","fontFamily","genericValueFromDefinitionOrReference","fontWeight","underline","strikethrough","original","camel","lower","upper","email","nickname","lodash_1","SDKDTJSONConverter_1","SDKDTJSONGroupBuilder_1","SDKDTTokenGroupTreeMerger_1","SDKDTTokenMerger_1","SDKDTMapResolver_1","SDKDTThemeMerger_1","SDKDTJSONParser_1","SDKSourceType_1","sortMultiplier","synchronizeTokensFromData","mapping","synchronizeTokensFromDataWithResults","results","parser","DTJSONParser","parsedData","processPluginDataRepresentation","processTokenNodes","verbose","bindToTheme","bindToBrand","setTokensOrigin","mergeResult","mergeWithRemoteSource","processedNodes","dryRun","preciseCopy","pick","diff","toCreate","toUpdate","toDelete","matchedThemes","th","mergeThemeWithRemoteSource","themesInSource","themesToRemove","themeToRemove","parseResult","mapResolver","DTMapResolver","mappedNodePools","sets","nodes","count","converter","DTJSONConverter","groupBuilder","DTJSONGroupBuilder","convertNodesToTokens","processedGroups","constructAllDefinableGroupsTrees","tokenStudio","node","createPureTokenTree","upstreamTokenGroups","upstreamTokens","correctSortOrder","pack","treeMerger","DTTokenGroupTreeMerger","tokenMergeResult","DTTokenMerger","makeTokensDiff","makeGroupsDiff","element","tokensToWrite","tokenGroupsToWrite","write","toCreateOrUpdate","upstreamTheme","themeMergerResult","DTThemeMerger","makeTheme","tokenMap","groupMap","correctSortOrderFromTypeRoot","ids","flattenedIdsFromRoot","SDKDTTokenReferenceResolver_1","DTTokenReferenceResolver","convertNodesToTokensForSupportedNodeTypes","unmappedValues","remapRootNodeKeys","secondSegment","firstSegment","splice","originalType","buildKey","types","unprocessedTokens","originalNodeIndex","convertAtomicNode","addAtomicToken","depth","unprocessedDepthTokens","convertReferencedNode","snType","convertDTTypeToSupernovaType","convertMeasureAtomicNode","convertColorAtomicNode","convertRadiusAtomicNode","convertShadowAtomicNode","convertBorderAtomicNode","convertGradientAtomicNode","convertTypographyAtomicNode","convertGenericAtomicNode","convertPureReferencedNode","convertComplexReferenceNode","valueAsReference","resolvedToken","constructedToken","resolvedNode","rootKey","dtType","snRootName","dtRootName","constructGroupTree","createGroup","mappedGroups","constructGroupChain","parentPath","partialPath","segment","partialKey","DTParsedThemeSetPriority","themeBuffer","processSets","parseNode","processThemes","setArray","contains","selectedTokenSets","priority","disabled","tokenSets","setOrder","themeDefinitions","themeObject","pairedSets","tokenSetName","unknownPriority","setName","pair","objects","entity","modifyEntityForParse","SDKDTJSONLoader_1","setMap","tokenSetToUse","pluginSets","pluginTheme","pluginSet","enabled","uniqueNodes","computeUniqueNodesFromSets","SDKTokenCompator_1","existingOverrides","buildPath","newTokenSet","tokensInThemeButNotInUpstream","themeReplica","fallbackKey","buildFallbackPathForGeneric","incomingThemeOverride","currentThemeOverride","delete","replaceIdAcrossAllPossibleReferences","incomingThemeDiffersFromBase","isEqualTokenValue","incomingThemeDiffersFromUpstreamTheme","inlineTokens","idsCandidates","themeOverrideRefs","flatMap","getRefIdsFromComplexTokens","Boolean","candidates","candidate","inlineValueIntoComplexTokens","candidateId","candidateValueToInline","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","_16","_17","_18","_19","_20","_21","_22","_23","_24","_25","_26","_27","_28","_29","_30","_31","_32","_33","_34","_35","_36","_37","newId","currentId","DTGroupMergeDiff","SDKDTGroupTree_1","SDKDTGroupTreeNode_1","tokensDiff","existingElements","exitingRoots","buildBrandedElementRoots","desiredStructures","nameParts","typeRoots","typeRoot","rootElem","GroupTree","getOrCreateGroup","GroupTreeNode","compareDesiredAndExisting","importNode","existingNode","isGroup","existingChild","exc","importChildrenIds","existingChildrenIds","buildNodeMap","convertBaseTokensToProcessedNode","existing","extracted","existingAsProcessedNodes","existingMap","extractedMap","oldToken","mappedTokens","replaceRefs","existingToken","newToken","indexOfNewNode","nodePath","tokenReferenceKey","indexOfExistingNode","isInteger","addAtomicTokens","NaN","tokensOfType","findings","findBracketStrings","findDollarStrings","finding","fullkey","location","dollarTypeReference","replacements","sortedReps","finalReference","replaceToken","base","replacableValue","replaceAt","what","replacement","syntax","hasSameNumberOfCharacters","trimmed","countCharacter","isDollarIdentifier","char1","char2","count1","count2","char","newPath","currentIndex","openBracketIndex","closeBracketIndex","bracketString","regex","exec","test","expr_eval_1","postcss_calc_ast_parser_1","Parser","baseExpression","parsedExpression","reducedExpression","reduceExpression","unitlessExpr","evaluatedExpression","evaluate","toFixed","SDKDTParentChildMapping_1","backingElement","childType","tree","elements","parentChildrenMap","populate","childrenMap","buildParentChildrenMap","brandIds","sortBy","applyDefaultSorting","addChildInternal","atIndex","createGroupChild","addChildGroup","groupElement","rest","callback","leafsFirst","forEachInternal","MAX_SORT_ORDER","LAST","sortOrderComparator","parentIdToChildren","parentId","arr","sortedChildrenMap","possibleGroup","SDKToolsJSONElementFigmaTokensTransformer_1","SDKToolsJSONElementStyleDictionaryTransformer_1","ConsumerMode","instance","styleDictionaryRepresentation","tokenTransformer","TokenJSONElementStyleDictionaryTransformer","buildTokenStructure","consumerMode","figmaTokens","figmaTokensRepresentation","isSingleFile","TokenJSONElementFigmaTokensTransformer","naming","includeComments","includeBrandId","includeType","includeRootTypeNodes","multifile","sdTree","generateStyleDictionaryTree","merge","allGroups","representTree","tokensOfGroup","safeTokenName","representToken","typeLabel","writeObject","newObject","writeSubObject","groupIsAbstract","safeGroupName","containingGroup","iteratedGroup","chain","SDKToolsJSONElementTransformer_1","TokenJSONElementTransformer","representColorTokenValue","referenceWrapper","referenceName","representRadiusTokenValue","representMeasureTokenValue","representFontTokenValue","representTextTokenValue","representTypographyTokenValue","representBorderTokenValue","representShadowTokenValue","representGradientTokenValue","stopObject","tokenWrapper","typeLabelConsideringAbstractGroups","groupChain","referenceGroupChain","occurances","tokenPart","groupParts","dropFirstSegment","representColorToken","representBorderToken","representFontToken","representGradientToken","representMeasureToken","representRadiusToken","representShadowToken","representTextToken","representTypographyToken","processedName","camelcase","word","toUpperCase","kebabcase","snakecase","exports_1","SDKToolsMarkdownTransformBlock_1","flattenedBlocksOfPage","flattenedBlocksOfBlock","isContainer","subblocks","subblock","conversionType","github","blockTransformer","MarkdownTransformBlock","convertPageToMarkdown","pageContent","blockContent","convertBlockToMarkdown","SDKToolsMarkdownTransformUtil_1","SDKToolsMarkdownTransformCustomBlock_1","newlineSeparator","transformType","utilTransformer","MarkdownTransformUtil","customBlockTransformer","MarkdownTransformCustomBlock","pageContext","convertCalloutBlock","convertCodeBlock","convertComponentAssetBlock","convertCustomBlock","convertDividerBlock","convertFigmaEmbedBlock","convertFigmaFramesBlock","convertGenericEmbedBlock","convertHeadingBlock","convertImageBlock","convertLinkBlock","convertOrderedListBlock","convertQuoteBlock","convertLiveCodeBlock","convertShortcutsBlock","convertStorybookEmbedBlock","convertTextBlock","convertTokenBlock","convertTokenGroupBlock","convertTokenListBlock","convertUnorderedListBlock","convertYoutubeEmbedBlock","convertColumnBlock","convertTableBlock","convertTabsBlock","convertTabItemBlock","convertColumnItemBlock","convertTableCellBlock","convertTableRowBlock","convertTextBlockToMarkdown","h1","h2","h3","info","warning","success","convertURLBlock","convertTokenToMarkdown","groupsToShow","flattenedGroupsFromRoot","tokensToShow","convertedAssets","assetObject","convertedFrames","convertedShortcut","shortcut","getLinkUrl","escapeMarkdown","formatLinkUrl","firstRow","rowContent","separatorContent","tableRows","rowDefinition","tabContent","childContent","columnContent","convertComponentOverviewAll","convertComponentOverview","convertComponentHealth","userAction","showLink","getFigmaFileUrl","formatWarning","formatComponentName","allProperties","documentationLinkProperty","escapedName","docPageId","formatPropertyValue","propertyValue","boolean","figmaComponent","dc","select","number","propertyIdsToHighlight","propertiesToHighlight","showLastUpdatedColumn","localeCompare","propertyId","headerColumns","alignmentColumns","convertComponentProps","Intl","DateTimeFormat","year","month","day","rows","showDescription","escapedHeader","rearrangedPropertiesToHighlight","statusProperty","statusValue","repeat","convertRichTextToMarkdown","richText","currentPage","outputString","outputPartial","attribute","bold","italic","search","reduce","acc","escapedChar","tokenToCSS","relativePathToPage","destinationPage","destinationPageUrlParts","currentPageUrlParts","commonPathLevel","_","fuse_js_1","updateSearchIndex","pageName","allBlocks","sectionHeader","contentBlock","blockId","pageTitle","searchEngine","reconstructSearchIndex","searchConfiguration","input","shouldSort","threshold","distance","maxPatternLength","minMatchCharLength","ignoreLocation","tinycolor","colorTokenToCSS","borderTokenToCSS","fontTokenToCSS","gradientTokenToCSS","measureTokenToCSS","radiusTokenToCSS","shadowTokenToCSS","textTokenToCSS","blurTokenToCSS","typographyTokenToCSS","genericTokenToCSS","tokenToCSSVariableDeclaration","variableName","toRgbString","fontName","fontValue","unitToCSS","gradientType","colorTokenToHEXorHEXA","colorToken","toHexString","toHex8String","colorTokenToRGBA","colorTokenToPercenageRGBA","toPercentageRgbString","colorTokenToHSLA","toHslString","colorTokenToHSVA","toHsvString","delimiter","buffer","keyword","argument","lock","previousChar","openedBrackets","string","separator","lastQuotePairPosition","subcomponents","firstItem","bracketCount","isInsideQuotes","openedRoundBrackets","openedSquareBrackets","openedCurlyBrackets","workingString","isStructuralArrayDefinition","isStructuralDictionaryDefinition","splitIgnoringQuotedContent","escapeRegExp","module","require","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|